Commit Graph

647 Commits

Author SHA1 Message Date
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
Aman Agrawal
4a8d86f151 overlays: Add overlay to display scheduled reminders. 2025-07-02 13:02:45 -07:00
Aman Agrawal
b5f7e24669 message_reminder: Add UI to schedule message reminder.
This adds an option in message actions popover menu to schedule
a message reminder.
2025-06-25 12:05:28 -07:00
Anders Kaseorg
61c04078cc server_events: Extract interface for compose, transmit to new module.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-05-12 11:07:12 -07:00
Niloth P
dafef91c8c integration-url-modal: Use input pills for branch names. 2025-03-28 09:58:39 -07:00
Sayam Samal
80a352dc02 buttons: Add loading indicator to buttons. 2025-03-10 11:21:11 -07:00
Sayam Samal
3275fcc96e popup_banners: Redesign connection banner to use new banner component.
This commit serves as the base commit for redesigning the alert banners
by migrating them to use the new banner component. We use a new name
to refer to these banners — "Popup banners", which is more descriptive
about their behavior.

The Popup banners are appended to the container in a stacking order,
i.e., the most recent popup banner appears on the top and the oldest one
is sent to the bottom of the stack. These banners also inherit the
animations from the alert banners for visual appeal.

This commit also fixes the bug where clicking on the "Try now" button
in the popup banner resulting from an error in the `/json/messages`
endpoint resulted in call to restart_get_events in server_events.js
instead of load_messages in message_fetch.ts.

Fixes #31282.
2025-03-10 11:21:11 -07:00
Anders Kaseorg
3af4900891 install-node: Upgrade Node.js from 22.12.0 to 22.14.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-02-26 16:20:47 -08:00
apoorvapendse
8b9ba36465 copy_and_paste: Split copy and paste.
Note that the puppeteer tests only tested
copying whereas the node tests only tested
pasting, which is why the puppeteer tests
for pasting and node tests for copying are
absent after this split.
2025-02-26 13:15:50 -08:00
opmkumar
1e99745023 todo_list: Add option for modal to create todo-lists.
A button has been introduced to launch a modal
for creating todo-lists directly from the compose box.

The modal features a form that, upon submission,
generates a message using the `/todo` syntax and the data
inputted in the form. Subsequently, the content of the compose box
is set to this message, which the user can then send.

This modal closely parallels the UI for adding a poll; therefore,
the poll and todo code has been shifted to a newly created
file named `widget_modal.ts`, and `poll_modal.ts` is now deprecated.

Co-authored-by: Sujal Shah <sujalshah28092004@gmail.com>

Fixes #29779.
2025-02-14 14:57:24 -08:00
Pratik Chanda
1545a75645 tooltips: Refactor left sidebar tooltips to its own module.
This commit refactors tooltip targeting left sidebar elements
into its separate module in `left_sidebar_tooltips`.
2025-02-05 13:21:54 -08:00
Sayam Samal
028e9dc58a banners: Redesign desktop notifications navbar banner.
As part of the banner redesign project, this commit applies the new
banner styles to the desktop notifications navbar banner.

This commit also acts as a base for the following banner redesign
commits by defining the `banners.ts` module, which now acts as the
centralized module to handle the banner rendering and sets up the
common event listeners.
2025-01-30 10:17:39 -08:00
Maneesh Shukla
e33fe6779b user_group: Rename invite_user_group_picker_pill.ts to user_group_picker_pill.ts.
Fixes part of #32488.
2025-01-28 15:13:19 -08:00
Aman Agrawal
548afc2f1a topic_summary: Add button to generate narrow summary.
This remains only enabled in the development environment.
2025-01-28 13:13:20 -08:00
Karl Stolley
cf29edaa65 compose: Flatten a popover-free formatting bar. 2025-01-14 15:52:02 -08:00
Sayam Samal
6557cd74cd stream_color: Replace spectrum color picker with native color picker.
This commit replaces the spectrum color picker used in the stream
popover and stream settings with a custom color picker popover, which
contains a grid of predefined color swatches and a custom color option.

The custom color option uses the HTML5 <input type="color"> which shows
the native browser color picker UI.

Fixes #14961.
2025-01-07 17:27:23 -08:00
Anders Kaseorg
2548430af3 types: Extract and correct user_group_update_event_schema.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-30 09:42:26 -08:00
Anders Kaseorg
19b8cde27f ruff: Fix PLC0206 Extracting value from dictionary without calling .items().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-21 21:06:53 -08:00
Sahil Batra
4cb9fb0d5a group-permission-settings: Add function to get list of setting names.
This commit adds a function which returns type checked list of
group permission setting names so that all the type checking
has to be done only once.
2024-12-17 12:36:23 -08:00
Anders Kaseorg
26aa19db43 click_handlers: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-11 12:12:07 -08:00
Anders Kaseorg
d446b0d672 user_events: Convert module to TypeScript (#32658) 2024-12-11 09:18:52 -08:00
Anders Kaseorg
666ce4519d hashchange: Convert module to TypeScript. (#32670) 2024-12-11 09:15:18 -08:00
Varun Singh
010e2b9867 user_group_edit: Convert module to TypeScript. 2024-12-10 12:07:46 -08:00
evykassirer
7bd4016254 message_events: Convert module to typescript. 2024-12-10 10:52:01 -08:00
Anders Kaseorg
fcba1f03c4 drafts_overlay_ui: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-30 18:41:42 -08:00
Anders Kaseorg
ee11d73c1f user_card_popover: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 22:05:38 -08:00
Anders Kaseorg
d8d8e620e7 topic_popover: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 22:02:43 -08:00
Anders Kaseorg
9f4b4a0c8a message_actions_popover: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 17:36:59 -08:00
Anders Kaseorg
49f2d08006 message_scroll: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 17:12:22 -08:00
Anders Kaseorg
93185dd7a6 stream_popover: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 16:55:00 -08:00
Anders Kaseorg
0048dfabd0 admin: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 16:46:35 -08:00
Anders Kaseorg
46f74cc39e navigate: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 15:55:50 -08:00
Anders Kaseorg
550287b33c navbar_menus: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 13:59:19 -08:00
Anders Kaseorg
19f5ea8832 css_variables: Convert module to TypeScript.
This is okay now due to #32327.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 12:24:58 -08:00
Anders Kaseorg
cac3bca409 dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 09:54:56 -08:00
Anders Kaseorg
bb174e9b64 gear_menu: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-27 09:34:49 -08:00
sujal shah
771d3b1434 invites: Enable adding users to user groups during invitations.
This commit allows users to be assigned to custom groups when
inviting them to join Zulip, similar to how channels are handled.
The implementation follows a similar pattern for adding pills,
ensuring consistency, as user groups and channels are parallel
in nature.

Fixes #24365.
2024-11-26 11:26:34 -08:00
Anders Kaseorg
c1cd21d8d1 desktop_integration: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-26 09:17:03 -08:00
evykassirer
4ff7bc16bc settings: Convert module to typescript. 2024-11-24 21:45:41 -08:00
evykassirer
4ee8175a25 settings_toggle: Convert module to typescript. 2024-11-24 18:45:25 -08:00
evykassirer
60763763b2 stream_settings_ui: Convert module to typescript. 2024-11-19 14:01:10 -08:00
evykassirer
b066f58c54 stream_muting: Convert module to typescript. 2024-11-18 11:13:36 -08:00
evykassirer
a60beda676 settings_panel_menu: Convert module to typescript. 2024-11-18 11:13:10 -08:00
evykassirer
6093aa4b23 settings_sections: Convert module to typescript. 2024-11-18 10:35:21 -08:00
Anders Kaseorg
e82b7641c6 giphy: Convert module to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 11:56:57 -08:00
Anders Kaseorg
01540b45b0 web: Set "type": "module" and convert various CJS files to ESM.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 09:18:56 -08:00
Anders Kaseorg
687f1b1651 tests: Rename the Node tests to *.cjs.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 09:18:56 -08:00
Anders Kaseorg
9e76b3ef89 test-js-with-node: Remove missing files from EXEMPT_FILES.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 02:17:56 -08:00
evykassirer
bd10923f13 settings_realm_user_settings_default: Convert module to typescript. 2024-11-06 17:55:55 -08:00
evykassirer
174a458928 settings_users: Convert module to typescript. 2024-11-05 17:50:17 -08:00