Commit Graph

292 Commits

Author SHA1 Message Date
N-Shar-ma dceb49011a css: Fix misaligned invite link.
Remove unnecessary `relative` positioning from the invite link.
2023-04-03 15:07:38 -07:00
palashb01 84b4f498d5 tippy: Fix compose close button tooltip when no input.
The tooltip of the compose_close_button changes only when something
is typed into the input box. However, the state of the tooltip
remains the same until someone types into the input box again, even
if they close and reopen the compose box.

The function 'expand_compose_box' from 'compose_actions.js' is
called every time the compose box is opened. Since the input field
is emptied every time the compose box is closed, this function is
used to set the default tooltip for the close button. We want it to
say 'Cancel Compose' every time the compose box is opened since the
input field is always going to be empty whenever the compose box
reopens.
2023-04-02 16:45:53 -07:00
Palash Baderia 9809d229de tippy: Fix compose close button logic.
There are two different tooltips for compose close button
in compose box. One is when there is no text in the inputbox
that says 'Cancel compose' and if there is text in the inputbox
then it says 'Cancel compose and save draft' however the logic
of these two tooltips was reversed. This commit fixes that.
2023-04-02 16:45:53 -07:00
Hardik Dharmani ebc07c0dd7 ts: Covert `dialog_widget.js` to typescript.
Created `WidgetConfig` type which has all the parameter that can be
passed launch(). Except html_heading, html_body, and on_click all
other fields are optional. Therefore, removed checking of undefined
mandatory fields as it will be done by typescript.

Co-authored-by: Hardik Dharmani <Ddharmani99@gmail.com>
2023-04-01 11:54:53 -07:00
Lalit fcbc6dcae4 ts: Convert `overlays.js` to TypeScript.
Refactored some code as well to avoid unneccesaary `undefined`
checks in `overlays`. To be exact created an action_overlay
object of type `Overlay` such that the `reset_state` is just
`action_overlay = undefined` and having attributes like `$element`
and `close_handler`.

This would ensure that if you have an `active_overlay`, there will
be a registered `close handler` attached to it without needing to
write additional checks for `close_handler` just to satisfy type
checker.
2023-04-01 11:54:53 -07:00
human 0de0743e91
ts: Migrate debug.js to TypeScript.
TypeScript doesn't understand Array.prototype.slice.call; rather than dealing with the
type-checking issues around it, we remove it; it was only necessary for ancient browsers where
NodeList isn’t directly iterable.
2023-04-01 11:50:34 -07:00
Adarsh Tiwari eed6f67fca
ts: Migrate scroll_bar.js to typescript.
Remove the winjs specific `getScrollbarWidth` property while we're at it; 
WinJS isn't relevant anymore.

Reorders methods due to TypeScript files enforcing define-before-use when
this commit was drafted.
2023-04-01 11:43:58 -07:00
Anders Kaseorg 6199be39da web: Add missing CSS.escape calls.
When referring to <div id="my-id" class="my-class">:

- my-id is an id
- #my-id is a selector
- my-class is a class name
- .my-class is a selector

When an id or a class name is interpolated into a selector, it needs
to be escaped with CSS.escape.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-03-31 18:31:30 -07:00
Alex Vandiver ecd559edd4 settings: Point the "moving messages" help link to the right place. 2023-03-31 14:49:25 -07:00
aparna-bhatt 998f0b3735 stream settings: Fix cancel button in create stream to update the URL.
Clicking cancel button in create stream form wasn't updating the URL hash.
2023-03-31 14:27:36 -07:00
aparna-bhatt 710e42f862 stream settings: Fix archiving of a stream opened in right panel.
We expect the URL to be of stream if it is opened in right panel.
As archiving a stream extracts stream id from hash,
but while a stream is opened and we switch between `All Streams` or
`Subscribed` tabs, the url changes, causing bug in archiving the stream.

As as fix for this issue if a stream is opened in the right
panel the hash of the URL remain of the stream and doesn't update.
If it is archived then the URL updates accordingly.

Fixes #23855.
2023-03-31 14:27:36 -07:00
Lauryn Menard 344d26d936 pm-list-data: Clean up node test for `pm_list_data.js`.
Cleans up node test to use helper functions when setting a filter
and narrow state for private messages and when checking the return
value for `pm_list_data.get_list_info`.

Also, reduces the number of users in the test by creating more
group direct message conversations.
2023-03-31 14:22:30 -07:00
evykassirer 1e62a42d75 compose: Reduce height of compose banners to better match designs.
Figma: https://www.figma.com/file/jbNOiBWvbtLuHaiTj4CW0G/Zulip-Web-App?node-id=2441%3A180271&t=tFynBT5Akes5HJ95-0
2023-03-31 13:52:31 -07:00
evykassirer 4cfafa382a compose: Rename recipient selector classes to be more descriptive. 2023-03-31 13:45:24 -07:00
evykassirer 83b484db32 compose validate: Rename overflow verifier.
This makes it clearer what the return value means.
2023-03-31 13:40:41 -07:00
N-Shar-ma b406cc84ff Revert "typeahead: Fix bug where typeahead showed momentarily on shift + tab."
This reverts commit fa37befe3c, which broke
the topic typeahead after a complete stream name.
2023-03-31 11:08:45 -07:00
Tim Abbott 6c82772e15 compose: Fix incorrect scroll down notice in recent view.
The logic for whether one needs to scroll down to view messages sent
by the current client was incorrectly not checking whether a message
feed was visible at all.
2023-03-31 10:41:06 -07:00
Tim Abbott 872a336598 insert_new_message: Rewrite using all_rendered_message_lists.
This replaces one of the our larger remaining blocks of code with
explicit logic for message_lists.home with logic that should correct
if we support maintaining a different set of rendered message lists.

This should have identical behavior to the previous implementation
given that all_rendered_message_lists is either just
message_lists.home or that plus the current narrowed message list;
can_apply_locally() is always true for the home message list, and the
list === message_lists.current check is equivalent to the more complex
narrow_state.active() check.
2023-03-31 10:41:06 -07:00
Tim Abbott f165e59273 message_events: Check is_message_feed_visible in callbacks.
Because we don't call this function with home_msg_list, I believe the
existing msg_list !== message_lists.current check would have always
been false when the new check is false, but this is more explicit
about the logical intent.
2023-03-31 10:41:06 -07:00
Sahil Batra 2ebb9834cd modal: Fix flex-direction property for modal__content.
The flex-direction property for modal__content should
be set to column as we want to display the elements.

This does not affect most of the modals since they
do not have multiple direct child elements that are
visible at same time and the data-simplebar attribute
already sets the "flex-direction: column" property to
the elements where it is used.

But in the email address visibility modal on user
registration page, there are multiple direct child
elements for the "modal__content" element and we need
to set "flex-direction: column" property for them to
work correctly. We also change the width of select
element in the modal to "fit-content" to avoid it
taking the whole width even when not required.

This commit also fixes the bug in login_to_access
modal, since the `modal__content` for it also
has two direct child elements.
2023-03-31 10:02:42 -07:00
Palash Baderia d5a12a7348 read_receipts: Open the help link in a new tab.
This commits improves the read link present inside the read receipts
to open the help page in a new tab.

Fixes: #24778
2023-03-30 09:10:20 -07:00
evykassirer e786c3ac98 dropdown list: Separate get_data() function, no functional change. 2023-03-29 21:58:17 -07:00
evykassirer e5dd2810ee puppeteer: Move functions around in common.ts.
They need to be declared higher so that a future
commit can use them.
2023-03-29 18:14:54 -07:00
evykassirer 01643d1d19 compose: Use stream_name() and topic() abstraction everywhere. 2023-03-29 18:14:54 -07:00
Aman Agrawal d564025d6a css: Integrate newly designed header. 2023-03-29 17:59:00 -07:00
Adarsh Tiwari 78fdb6135a
ts: Migrate gear_menu.js to TypeScript.
Includes adding various missing values to page_params.
2023-03-29 09:36:52 -07:00
Ujjawal Modi de8148bc9e notifications: Warn if all PM notifications will be disabled.
This PR adds a modal to warn when user unchecks a box on the "PMs,
mentions, and alerts" line of notifications panel that will result in
all notifications for private messages and mentions being disabled.

Fixes #24151.
2023-03-28 18:36:56 -07:00
Aman Agrawal ddb0a6bae9 recent_conversation: Fix possibility of undefined topic row.
`topic_row_top = $(topic_row).offset().top;` returns an error
while calling `topic_offset_to_visible_area` since we cannot
find the `topic_row` for some reason which doesn't seem logically
possible but we add logic to handle that case as well.
2023-03-28 17:01:31 -07:00
Tim Abbott b75b40cfa3 compose: Hide compose loading spinner after all failures.
The compose send button spinner (which disables the send button while
present) was correctly hidden in both the happy case of a sent message
as well as for all locally echoed message, in both cases via
clear_compose_box to reset the compose box for a new message.

But for a message that was not locally echoed, and failed to send,
nothing hid the compose spinner, resulting in the user being unable to
attempt to resend the message.
2023-03-28 16:47:12 -07:00
Tim Abbott 43fe61df1f compose: Fix disabled state for compose send button.
Disabling the send button was intended to prevent sending the same
message twice in immediate succession via the enter key.

Since a13058223d, this logic duplicates
the compose_spinner_visible check inside finish(), and more
importantly, was not cleaned up correctly if the message fails to send
without having been locally echoed, resulting in the compose box not
allowing you to send further messages after such a failure.

For successfully sent messages, the disabled state was cleared by
clear_compose_box calling check_overflow_text, which unconditionally
sets the disabled state on the send button based on whether the
message is too long.

Rather than try to clean this state up in the right places, remove
this duplicate mechanism for disabling the compose box.
2023-03-28 16:47:12 -07:00
nzai 97ff259506 ts: Migrate narrow_error to TypeScript.
This commit migrates narrow_error.js to TypeScript by inferring the
required types in the file and defining types in types.ts.
2023-03-28 15:04:57 -07:00
Daniil Fadeev 602be3ed68 popovers: Refactor compose_enter_sends popover. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 39936dee5d popovers: Refactor compose_control_buttons visibility checking. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 729d3cfc30 popovers: Refactor compose_mobile_button visible check logic. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 2bc6fdca23 popovers: Refactor stream_settings popover keyboard handling. 2023-03-28 14:51:56 -07:00
Daniil Fadeev a0c98bc70a popovers: Refactor message_actions popover keyboard handling. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 1337c0fec1 popovers: Migrate "all messages" popover to Tippy. 2023-03-28 14:51:56 -07:00
Daniil Fadeev edb293c3da popovers: Migrate "drafts" popover to Tippy. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 22561e2f3b popovers: Refactor keyboard handling for starred messages popover. 2023-03-28 14:51:56 -07:00
Daniil Fadeev 1f24addb88 popovers: Add shared keyboard handling for popovers.
This new system lets us handle detection and keyboard navigation in
popovers with just a a few lines of simple code for each individual
popover.
2023-03-28 14:51:56 -07:00
Daniil Fadeev db61dd71e3 popovers: Extract default tippy options for the left sidebar. 2023-03-28 14:51:56 -07:00
Ujjawal Modi f404dbddb2 recent_conversations: Exclude muted user PMs from recent conversations.
Earlier muted private conversations were shown in recent
conversations. This commit excludes them from recent conversations.

Fixes #24299.
2023-03-28 14:40:50 -07:00
Ujjawal Modi bfc5092082 recent_conversations: Change name of muted user in group PMs huddle.
Earlier in recent conversations panel full name
was displayed in group PMs huddle even if the user
was muted.
This commit change the display name of such users to
`Muted Users`.
2023-03-28 14:40:50 -07:00
Ujjawal Modi 87215d1a98 recent_conversations: Parsing of user_ids is done using function call.
This commit refactors the code for parsing the user_ids in
`pm_conversations.js` by making a function call to parse user_ids.
2023-03-28 14:40:50 -07:00
Pranav2612000 ecead64718 markdown: Render larger emojis inside headings
Previously, the emoji size was fixed to 20px by 20px irrespective of
whether the emojis were inside a heading or not. This looked weird when
a small emoji was rendered next to a large h1 text.

This commit fixes that by setting the emoji height to 1.4em
which proportionately increases the size of the emojis as the text size
increases for different headings.

Fixes #12857
2023-03-28 09:17:02 -07:00
Sahil Batra 0c8f74d6e2 streams: Fix dropdown-list-widget menu in stream creation form.
The dropdown-menu for "Who can unsubscribe others" was not wide
enough to fit the options in stream creation form. This commit
fixes it to be wide enough to fit the options like we do in
stream edit form.
2023-03-28 09:14:54 -07:00
Sahil Batra 00abffda98 settings: Fix dropdown-list-widget menu for short options.
The dropdown menu for notification stream, default code block
language, etc. was not looking good for short options due to
width being set to fit-content. This commit adds min-width
property to make them look good for short options as well.
2023-03-28 09:14:54 -07:00
Sahil Batra c5ff78a933 bootstrap: Remove width property for inputs.
This commit removes the width property for inputs from
bootstrap.css. We have already set the width for the
specific text inputs in previous commits. For other
type of inputs (like checkbox, radio, file, etc.),
there is no need to set the width as they are hidden
or we already set width for them.

This is a part of bootstrap removal project.
2023-03-27 22:34:30 -07:00
Sahil Batra 40f2865328 integrations_dev_panel: Add width CSS property for text inputs.
This commit adds width property CSS rule for text inputs in
integrations_dev_panel.css to 206px, as we are going to remove
the bootstrap CSS rule which sets width in further commits.
2023-03-27 22:34:30 -07:00
Sahil Batra 30f8c77151 billing: Add width property CSS for text inputs.
This commit adds width property CSS rule for text inputs
in billing.css to 206px, as we are going to remove the
bootstrap CSS rule which sets width to 206px in further
commits.
2023-03-27 22:34:30 -07:00