Commit Graph

6386 Commits

Author SHA1 Message Date
Maneesh Shukla 158cb6c747 settings: Extract common logic for hide_spinners.
Move the redundant code for hiding spinners and re-enabling buttons into
a common `hide_spinner` function inside `loading.ts`. This reduces
duplication between `hide_button_spinner` and `hide_dialog_spinner`.

Fixes #26691.
2024-11-01 12:10:28 -07:00
Maneesh Shukla 666e7bf433 settings: Extract common logic for show_spinner.
Consolidate the repeated logic for showing spinners into a shared
`show_spinner` function in `loading.ts`. This eliminates code
duplication between `show_button_spinner` and `show_dialog_spinner`,
streamlining spinner initialization and button disabling.

Fixes part of #26691.
2024-11-01 12:10:28 -07:00
Maneesh Shukla 9ad85445f8 settings: Add a class to the target span.
This commit adds a specific class to the target span element, making
 the code more robust and less reliant on generic selectors.

Fixes part of #26691.
2024-11-01 12:10:28 -07:00
opmkumar d6aae75f04 invites: Use shared helper function for setting expiration text.
Moves and renames `set_expires_on_text` to settings_components.ts,
so that it can be used in other modals with user set time inputs
that show a formatted string of that time input.

Updates invite_user_modal.hbs for the class names used in the new
shared helper function.

Co-authored-by: Ujjawal Modi <umodi2003@gmail.com>
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2024-11-01 09:55:05 -07:00
opmkumar ea252f0769 invites: Refactor `valid_to` function.
Refactors the `valid_to` function to return the correct formatted
string for all cases (custom and preset) of invitation expiration
input values.

Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2024-11-01 09:55:05 -07:00
opmkumar 789a47fb6b invites: Use shared custom time helper function.
Moves `set_custom_time_inputs_visibility` function to
settings_components.ts so that it can be reused in
other modals with user set custom time inputs.

Updates user_invite_modal.hbs to use the class name
in the new shared helper function.

Co-authored-by: Ujjawal Modi <umodi2003@gmail.com>
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2024-11-01 09:55:05 -07:00
opmkumar 523dc7e2be invite-user-modal: Add general class names for improved extensibility.
Adds general class names in invite_user_modal.hbs for custom time
the input and unit so that these elements more easily be extended
for use in other modals with a user specified custom time.

Updates the listener in invite.ts that was using the removed
"custom-expiration-time" class to instead use the id for the
input and unit div, "custom-invite-expiration-time".

Corresponding updates have been made to the relevant CSS files to
ensure consistent styling and future scalability.

Co-authored-by: Ujjawal Modi <umodi2003@gmail.com>
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2024-11-01 09:55:05 -07:00
Lauryn Menard bc0f9c4876 keyboard-shortcuts: Display "Ctrl" for Vim "Esc" keybinding behavior.
For all users, we want to display "Ctrl" for the "Ctrl" "[" keyboard
shortcuts that match the "Esc" Vim keybinding behavior.

We use the "data-mac-key" attribute to override the default mapping
of "Ctrl" to "Cmd" for Mac users in the documentation of these
keyboard shortcuts.

Fixes #20107.
2024-11-01 09:36:56 -07:00
Lauryn Menard 40524e6dfa util: Make get_custom_time_in_minutes throw error for unknown unit.
Still returns the time value from the input so that the app doesn't
break.
2024-11-01 09:35:15 -07:00
Lauryn Menard cadc8f4d46 portico: Use CSS class for styling of find accounts tip text. 2024-11-01 09:34:26 -07:00
Lauryn Menard 7e0ef8429c portico: Remove unused CSS rules for h3 elements.
The h3 elements were removed from these templates in
commit 58d00af6c3.
2024-11-01 09:34:26 -07:00
evykassirer ebe15dcf25 buddy_data: Don't filter out inactive participants.
This was filtering out users that were marked as
inactive for more than a year, but we want to show
all participants, including inactive ones.

More discussion on this here:
https://chat.zulip.org/#narrow/channel/9-issues/topic/In.20this.20conversation.20and.20invisible.20mode/near/197309
2024-10-31 23:23:56 -07:00
evykassirer b7b2930760 buddy_list: Redesign top of right sidebar.
Fixes #31974.
2024-10-31 16:29:49 -07:00
evykassirer 68c06c0f47 buddy_list: Remove unnecesssary right padding from header.
It isn't needed because the scrollbar doesn't go that high.
2024-10-31 16:29:49 -07:00
evykassirer 205b20e7df buddy_list: Rename 'Search people' to 'Filter users' for consistancy.
This is part of #31974.
2024-10-31 16:29:49 -07:00
Karl Stolley ea26be590f left_sidebar: Open up grid for topic filter box. 2024-10-31 11:01:30 -07:00
Aditya Kumar Kasaudhan d1ff871523 webhooks: Support filtering GitHub activity from private repositories.
Currently, the GitHub webhook sends activity from both public and private
repositories, which could lead to unintended disclosure of sensitive
information from private repositories.

This commit introduces a ignore_private_repositories parameter to the
webhook URL. When set to true, the webhook ignore processing activity from
private repositories, ensuring that such activities are not posted to
Zulip streams. By default, if the parameter is omitted or set to false,
activities from both public and private repositories are processed
normally. This provides users with the flexibility to control the
visibility of private repository activities without altering the default
behavior.

More importantly, this introduces a cleaner mechanism for individual
incoming webhooks to declare support for settings not common to all
webhook integrations.

Fixes #31638.
2024-10-31 10:40:28 -07:00
Sahil Batra 50674a7a28 user_groups: Do not enable "Add" button if input is empty.
This makes sure that the "Add" button in members panel is
not enabled if the pill input is empty, in two cases - when
the members panel is opened and also when the members panel
is live-updated due to change in permission.
2024-10-31 09:53:14 -07:00
Sahil Batra aed8ac9672 settings: Fix disabled look for group settings pills UI.
We now have a grey-ish background color for the pill container
with opacity also reduced like we do for the disabled select
elements in settings.

Needed to adjust the selectors so that the CSS for disabled
state correctly overrides the CSS for enabled state.
2024-10-31 09:53:14 -07:00
Sahil Batra 9a6ef9db93 user_group_popover: Show members count if there are empty subgroups.
We show "0 members" text when a group has no direct members but
has subgroups which are all empty.

The behavior for when a group has neither direct members nor
subgroups is same where we show "This group has no members".
2024-10-31 09:53:14 -07:00
Sahil Batra 4a89fffd8a group-settings: Link to help center section for group permissions.
Fixes #25938.
2024-10-31 09:53:14 -07:00
Sahil Batra 9b0e26e954 settings: Refactor code for handling group settings UI.
This commit updates code to just use permission settings
list from server_supported_permission_settings data
instead of calling create_realm_group_setting_widget
individually for each setting.

Also, updated the code to create dropdown widgets to check
if only system groups are allowed or not for a setting
instead of using a hardcoded list.
2024-10-30 12:03:36 -07:00
Sahil Batra 8e0a8dfa32 settings: Use new pills UI for message delete permissions. 2024-10-30 12:03:36 -07:00
Sahil Batra b8bc20e87c settings: Use new pills UI for move message permission settings. 2024-10-30 12:03:36 -07:00
Sahil Batra d9f4c473fb settings: Do not disable time limit settings.
Previously we disabled time limit settings for moving
messages when non-admin and non-moderators users were
not allowed move messages as the time limit does not
apply to admins and moderators. And the time limit
setting to delete messages was disabled when all the
users who were allowed to delete their own message also
had permission to delete any message since time limit
does not apply to users who were allowed to delete any
message.

Now, as we use the new UI and allow the permission
settings to be set to anonymous groups, we just do
not disable the time limit setting to avoid complexity
and we anyways mention about cases when time limit is
not applicable.
2024-10-30 12:03:36 -07:00
Sahil Batra fb1c7fffa2 settings: Use new UI for can_add_custom_emoji_group setting. 2024-10-30 12:03:36 -07:00
Sahil Batra dce229ba17 settings: Use new pills UI for DM permission settings.
We now use pills UI for direct_message_initiator_group
and direct_message_permission_group setting.
2024-10-30 12:03:36 -07:00
Sahil Batra 5fbc46f82c settings: Fix banner shown on custom emoji panel.
Previously the banner was always shown to admins and to users who
cannot add emoji with the banner mentioning who can add emoji.

This commit updates the code to only show the banners who cannot
add emoji irrespective of their role, and just mention that they
do not have permission without any detail about who can add.
2024-10-30 12:03:36 -07:00
Sahil Batra 891e58bb1a settings: Fix live-update of setting elements.
Some of the group setting elements were not live-updated
correctly since they were not present in realm_settings
dict and sync_realm_settings is only called for settings
present in that dict.
2024-10-30 12:03:36 -07:00
Sahil Batra 072da3b0d3 settings: Extract template file for group setting pill UI.
This helps in writing same code again and again for different
settings.

Can also update group settings to use this template in further
commits.
2024-10-30 12:03:36 -07:00
Sahil Batra a7e6d5d770 settings: Remove unused fields passed to settings template.
There is no need to pass the value of group settings to
template as rendering the UI is handled in JS. This was
probably added due to the old enum value setting being
passed to the template.
2024-10-30 12:03:36 -07:00
Karl Stolley 0cab8df681 compose: Extend 4px border-radius to topic box.
All similar elements in the compose box--the channel/DM widget, the
pill container on DMs, and the compose textarea--all use a 4px
border-radius, correcting the topic box's outlier status.
2024-10-30 11:23:22 -07:00
Karl Stolley 17561d09a1 compose: Give tab-focused widget wrapper sensible border. 2024-10-30 11:23:22 -07:00
Karl Stolley 9231c97454 compose: Bring colors into variablized concord. 2024-10-30 11:23:22 -07:00
Aman Agrawal 3fe1e554a6 echo: Fix send messages not visible when auto narrowed to recipient.
We simply forgot to `add_to_narrow` locally echoed messages if
the current narrow changed before we received confirmation from
server.
2024-10-30 10:03:30 -07:00
Vector73 ed5638ec3c settings: Add `can_move_messages_between_topics_group` realm setting.
Added `can_move_messages_between_topics_group` realm setting to replace
`edit_topic_policy`.
2024-10-29 16:27:04 -07:00
evykassirer 1edf507be9 buddy_list: Show all sections (uncollapse) when searching. 2024-10-29 16:06:41 -07:00
evykassirer b826143537 buddy_list: Fix bug where header didn't show correct participant count. 2024-10-29 16:06:41 -07:00
evykassirer 3db32f1416 buddy_list: Rename all_participant_ids.
This helps avoid confusion with `participant_user_ids`
which is a property of the buddy list and describes
the currently visible participants, whereas
`all_participant_ids` describes all participants,
even those hidden due to search.
2024-10-29 16:06:41 -07:00
evykassirer 2b168a9936 buddy_list: Show empty placeholder for participants section in search.
This was overlooked when we added this section because it usually
can't have an empty placeholder, but it actually still can in search.
2024-10-29 16:06:41 -07:00
evykassirer f157bfe181 buddy_list: Simplify logic to update empty list placeholders.
Because we regularly change what we want the placeholder
text to be, as the user enters and exits search, it's simpler
to just not use `data-search-results-empty` and set up the
placeholder from the buddy list code directly. Previously we
were trying to sometimes use `data-search-results-empty` and
sometimes set it directly, which is more confusing and complex.
2024-10-29 16:06:41 -07:00
evykassirer d0dc33d8da buddy_list: Move fill_screen call to the end of populate().
Sometimes we might want to re-fill the screen after collapsing
or uncollapsing a section, so it's better to fill the screen
just once after determining if we should collapse the "other
users" section. Also, this commit removes a call to
`render_section_headers()` because that's always called at the
end of `fill_screen_with_content()`.
2024-10-29 16:06:41 -07:00
evykassirer b335c19d1c buddy_list: Refactor section collapse logic to be shared. 2024-10-29 16:06:41 -07:00
evykassirer ec1b265ff8 buddy_list: Refactor section toggle to not need custom classname. 2024-10-29 16:06:41 -07:00
Sahil Batra f29083f2ef settings: Disable save button if nobody group is not allowed.
This commit adds code to disable the save button if there no
pills selected for the setting and the setting cannot be set
to "Nobody" group.
2024-10-29 15:06:16 -07:00
Sahil Batra 8fa225d885 settings: Use new pills UI for group related realm settings.
This commit updates the code to use new UI for can_create_groups
and can_manage_all_groups settings.
2024-10-29 15:06:16 -07:00
Sahil Batra c8e906d49e settings: Use pills UI for channel creation settings.
We now use new pills UI for public and private channel
creation settings. The UI for web-public channel
creation setting is still a dropdown as we allow only
system groups for that.
2024-10-29 15:06:16 -07:00
Sahil Batra 60b12367cc settings: Use new settings UI for create_multiuse_invite_group. 2024-10-29 15:06:16 -07:00
Sahil Batra d370499557 settings: Refactor create_group_setting_widget.
This commit updates create_group_setting_widget code
to not accept setting type as a a parameter as we
would use separate function for realm settings.
2024-10-29 15:06:16 -07:00
evykassirer 35424adcc3 settings_account: Convert module to typescript. 2024-10-29 14:50:25 -07:00