Commit Graph

8811 Commits

Author SHA1 Message Date
Sayam Samal
b6ff748602 inbox: Standardize inbox filter input.
This follow-up commit replaces the current inbox filter input
implementation with the redesigned input component.

Fixes part of #34476.
2025-07-03 11:45:35 -07:00
Sayam Samal
71d75532fe inputs: Implement redesigned input component.
This commit serves as the base for the ongoing effort to standardize
redesigned input elements throughout the Zulip Web UI. It introduces a
new Handlebars partial block for inputs, located at
web/templates/components/input.hbs.

The partial can be used with the partial block syntax: {{#> input}},
allowing contributors to pass in the input element as a template. This
approach wraps the input with a consistent structure that includes
support for an icon and an action button. It also applies the necessary
styling to ensure visual and functional consistency across the web UI.

This commit also implements the filter input component at
/devtools/inputs/ showroom page for design discussions and prototyping.
2025-07-03 11:45:35 -07:00
evykassirer
236e595438 settings: Use grid and flex for the two-pane settings overlay.
Instead of changing the height of the button subheader depending
on the width of the modal, which was fiddly and error prone, we now
let grid determine the height of the button subheader, and determine
the height of the body through javascript resize calculations.
2025-07-03 11:22:31 -07:00
Sahil Batra
e66431f128 group-settings: Fix how long names are handled in groups UI.
This commit fixes code to correctly show the long group
names by clipping them and showing ellipsis in group rows
in left panel and in the header shown in right section.

Group names are handled in a different way than stream
names because we need to show deactivated icons as well
for stream names.
2025-07-03 11:22:31 -07:00
Prakhar Pratyush
b382315f82 channel_email: Fix copy email button not copying displayed text.
This commit fixes a bug where clicking the copy icon in the
'#copy_email_address_modal' did not copy the email address
displayed to the clipboard.

It was because we didn't set the 'text' option to specify
the explicit text to copy.

Fixes: #35062.
2025-07-03 10:45:49 -07:00
Karl Stolley
91af320982 home_view: Correctly justify unread marker. 2025-07-03 10:38:41 -07:00
Aman Agrawal
4a8d86f151 overlays: Add overlay to display scheduled reminders. 2025-07-02 13:02:45 -07:00
Tim Abbott
e68b7c6ddf hotkey: Fix reference to supports_collapsing_recipients. 2025-07-02 12:36:43 -07:00
Evy Kassirer
c71452c114 left_sidebar: Fade inactive streams in the same way as muted streams.
This fixes a double fade bug reported here:
https://chat.zulip.org/#narrow/channel/9-issues/topic/muted.20inactive.20channels/near/2209364
2025-07-02 12:17:28 -07:00
Tim Abbott
07c09083fb message_view: Fix whitespace in finicky node tests. 2025-07-02 11:39:38 -07:00
Pratik Chanda
85d44a1328 sidebar: Remove realm-description code block in right sidebar.
This part of the UI was removed from the sidebar in commit
2feee9d756. There is still unreachable
codeblock inside right sidebar.

This commit removes the unreachable code.
2025-07-02 11:32:23 -07:00
whilstsomebody
77cf174b1b empty_feed_notice: Show only query words for empty search results.
Previously, we included channel, topic, sender name and search
qeries (if present) in the empty feed banner.

With this commit, we will now not include channel, topic and sender
name and we only display the search queries when there are excluded
stop words.

Fixes: #34872
2025-07-02 11:27:33 -07:00
Lauryn Menard
ad4732adb5 narrow-banner: Use shared function for empty narrows with search data. 2025-07-02 11:26:16 -07:00
Lauryn Menard
9b787fc3db narrow-banner: Add constant for empty "No search results" title. 2025-07-02 11:26:15 -07:00
Maneesh Shukla
3b874c3dfa modals: Convert schedule message modal to popover.
Fixes: #35003
2025-07-02 10:34:47 -07:00
Lauryn Menard
3d3f7b3782 help: Add example email invitation image to "Invite new users".
Adds a link to the section on email invitations to the invite user
modal next to the label for the emails input.

Fixes #29376.
2025-07-02 10:23:38 -07:00
Aman Agrawal
29c4d86d81 case-studies: Add WindBorne case study.
Co-authored-by: Alya Abbott <alya@zulip.com>
2025-07-02 09:36:47 -07:00
Kislay Verma
acf491e6d0 compose_reply: Empty DM recipient box on forwarding message.
This fixes an accidental change introduced in #32578.

Forwarding a message and choosing DM should result in
an empty recipient box instead of showing current
recipients.
2025-07-02 09:27:22 -07:00
Pratik Chanda
ac4c3335e8 help_menu: Center keyboard shortcut text in kbd element.
This commit fixes the kbd element text being centered in dark theme
but not in light theme. Aligns text for all kbd elements not just
in dark theme.

Fixes:zulip#35059.
2025-07-02 09:26:45 -07:00
Sahil Batra
906f8d076c stream-settings: Set show_not_subscribed value when opening overlay.
We reset the internal state while opening the stream settings
overlay to reflect that "Subscribed" tab will be selected.
We did set show_subscribed value to "True" but did not
set show_not_subscribed value to "False".

Due to this opening the overlay, after closing the overlay
when "Not subscribed" tab was selected, resulted in left
panel being shown empty with "Subscribed" tab selected
even when there were subscribed streams because both
show_subscribed and show_not_subscribed were set to "True".

This commit fixes it by setting show_not_subscribed to
"False" as well when resetting the state.
2025-07-02 09:26:09 -07:00
Aman Agrawal
ab5bce02c6 hotkey: Use existing function to get channel_id. 2025-07-02 09:25:47 -07:00
Aman Agrawal
8f1f34b2ea common: Add a proper delay. 2025-07-02 11:50:47 +05:30
PieterCK
1e4b0bdfea filter: Rename supports_collapsing_recipients.
This renames the function to `contains_no_partial_conversations`. The
function initially was created to determine whether its appropriate to
collapse recipient/sender headings. Since then it has many other use
cases, so it's renamed to clearly describe what it does instead.
2025-07-01 16:14:56 -07:00
Maneesh Shukla
992d8374b2 tooltip: Fix the placement of tooltip in group list.
When there is only one user group, the tooltip appears on the upper side
of the "group-row" and gets hidden.

This commit sets `overflow: visible` which is default value, causing the
tooltip position to invert when there is only one user group.
2025-07-01 14:16:31 -07:00
Maneesh Shukla
8ef51e1b6f tooltips: Fix incorrect tooltip on the spinner.
The "sub_unsub_status" spinner was inside the div with the "check" class
, causing the tooltip to appear over the spinner, which should only be
visible on the check icon.

This commit moves the "sub_unsub_status" spinner div outside, ensuring
the tooltip is now visible only when hovering over the check icon.
2025-07-01 14:16:31 -07:00
Maneesh Shukla
52b83f7b58 topic_list: Filter topics by resolved state in "more topics" view.
Fixes: #24200.
2025-07-01 14:02:57 -07:00
Aman Agrawal
2a325b4530 inbox: Save and restore search text for inbox and channel view. 2025-07-01 13:46:40 -07:00
Aman Agrawal
adb2884d59 inbox_ui: Fix buggy save and restore of navigation state.
The previous logic only worked correctly when user moved from
inbox view to channel topic list view and vice versa.

The logic failed if user moves out of inbox since then `save` state
is never called and hence when restore is called, the navigation
state gets reset.

Fixed by also saving state when inbox is hidden.
2025-07-01 13:46:40 -07:00
Aman Agrawal
6e73238ea3 inbox_ui: Rename save and restore functions for general use.
These functions can now also be used to save and restore
search text.
2025-07-01 13:46:40 -07:00
Aman Agrawal
defd120c94 hotkey: Add Y shortcut to go to a list of topics in channel. 2025-07-01 13:46:40 -07:00
Aman Agrawal
26299d09aa inbox: Fix topic not focused with r hotkey with no topic focused.
We mimic the behaviour of `c` hotkey to fix this bug.
2025-07-01 13:46:40 -07:00
whilstsomebody
1878200402 todo_widget: Disable "Add task" button when a task cannot be added.
We want to prevent users from adding a duplicate or empty
task to the todo list. For this purpose, we disable the
"Add task" button in both the cases.

Fixes: #20211
2025-07-01 13:37:33 -07:00
Sahil Batra
926716d9f2 custom-profile-fields: Fix handling manual date input.
This commit fixes the behavior when manually changing
the date input instead of selecting from the picker.

Changes done are-
- Users can enter date in various formats including the
one showed in the input like "June 20, 1999", "MM-DD-YYY",
and basically the formats which can be parsed by "Date".
- Fixed handling of invalid strings where we show
"Invalid date value" error message for some time without
sending the request to server.

Fixes #19936.
2025-07-01 13:31:08 -07:00
Sahil Batra
0a684ab0f5 settings: Move update_user_custom_profile_fields function.
This is a prep commit to avoid import cycles when we
would use update_user_custom_profile_fields function
in custom_profile_fields_ui.ts in next commit.
2025-07-01 13:31:08 -07:00
Sahil Batra
df0e70726c ui_report: Remove class when hiding the status element.
It is important to remove the class when hiding the status
element to make sure that when showing status again by calling
some other function than ui_report.message, for example using
loading.make_indicator, the status text should not be styled
as per the class used previously.

One example can be that "Saving" text in indicator can be shown
in "red" color, used for showing errors, if previously an error
response was showed in that status element.
2025-07-01 13:31:08 -07:00
PieterCK
b3a682f794 dialog_widget: Support input checkbox type fields.
Currently checkbox type input will pass through to the default condition
that records the input elements value. This is inaccurate for checkbox
type input field where it should check for the `checked` attribute
instead.

This is added so that we can use `get_current_values` to get the values
of checkbox inputs too.
2025-07-01 13:25:00 -07:00
PieterCK
e59c5ce655 test_bot_data: Make test cases more accurate.
This removes the "service" field from the `test_bot` fixture, because it
is a default bot. In the `/bots` API endpoint, only service bots can
have their own service.

This is a prep commit for #34524, this cleans up the test cases related
to service bots so that it would keep things from getting confusing when
adding test for the changes to that PR.
2025-07-01 13:25:00 -07:00
PieterCK
5f12e47ba7 app_variable: Refactor a settings-nested-checkbox-vertical-margin.
This refactors a CSS variable for checkbox field margin for checkboxes
nested in another field. For example, the "integration events" options
in the "Generate integration URL" modal. Those nested checkboxes are
spaced out closer together.

This is a prep commit for #34524, that PR will add another nested
checkbox in the "Add a new bot" modal.
2025-07-01 13:25:00 -07:00
Evy Kassirer
25cebcd119 left_sidebar: Don't show 'add channels' in tooltip if that's not allowed.
Discussed here:
https://chat.zulip.org/#narrow/channel/101-design/topic/channel.20folders.20in.20left.20sidebar.20.2331972/near/2202343
2025-07-01 12:52:17 -07:00
Aman Agrawal
072343a101 common: Make pm typeahead flake less common. 2025-07-01 04:26:33 -07:00
Aman Agrawal
ecadb00ce4 compose_send_menu_popover: Focus textarea after selecting enter sends.
Fixed focus being lost after the compose send popover closes if
enter sends behaviour option was selected.
2025-07-01 04:26:33 -07:00
Aman Agrawal
53fa1d82e8 compose_send_menu_popover: Fix error on trying to select first element.
Fixed to use correct selectors.
2025-07-01 04:26:33 -07:00
whilstsomebody
9ef3a19451 compose: Prevent displaying banner when channel picker is opened.
Prevent displaying the topic resolved banner when the channel
picker (compose_select_recipient_dropdown_widget) is opened in
the case of forwarding messages. This is done to prevent the
overlap of the channel picker and the banner, as it hides some
part of the banner text.

Fixes: #33449
2025-06-30 14:02:58 -07:00
Evy Kassirer
108241b55d left_sidebar: Fix typo in login-to-more-streams classname.
Introduced in #33170.
2025-06-30 12:40:17 -07:00
Pratik Chanda
0b97ce2486 tooltips: Fix buddy list tooltip stuck on redraw.
Earlier, buddy list tooltip would get stuck if tooltip was displayed
when redraw for presence update got triggered. This happened due to
tooltip target element was changed but reference element for
mutation wasn't updated.
2025-06-30 11:30:14 -07:00
Pratik Chanda
51819459e9 modal: Fix delete button focus outline cutoff in todo/poll widget.
This commit adds a padding so that the focus outline is visible
completely without being cutoff.

Fixes:zulip#32950.
2025-06-30 11:28:30 -07:00
Pratik Chanda
146dcbc33a modal: Fix simplebar overlap with content in todo/poll widget modal.
This commit fixes the overlap of simplebar with content in widget
modal by adding a padding for the simplebar-content.

Fixes part of zulip#32950.
2025-06-30 11:28:30 -07:00
Pratik Chanda
c9492750d4 unread_ops: Fix filter term check for current narrow when bulk update.
This commit ignores the near operator when comparing with current
message list filter terms which may have near operator.

Fixes:zulip#33866.
2025-06-30 11:22:23 -07:00
Aditya Kumar Kasaudhan
9b24e54c54 dropdown_widget: keep_focus_on_search when search is present.
This commit removes the keep_focus_on_search option from the
DropdownWidgetOptions type, and updates logic to always set
keep_focus_on_search when the search box is visible in the
dropdown.

Fixes: #34828.
2025-06-30 11:13:47 -07:00
Aman Agrawal
e7859a5564 scheduled_messages: Use scheduled_ prefix to identify scheduled msgs. 2025-06-30 11:12:45 -07:00