Commit Graph

192 Commits

Author SHA1 Message Date
Sahil Batra
32287a084b channel-folders: Add UI to create new channel folder.
This commit adds a button besides the folder dropdowin in
stream settings UI which can be used to create a new folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
7c01e61e5a streams: Add UI to add or remove stream from a folder.
This commit adds UI to add a stream to a folder while
creating them and also for adding/removing an existing
stream from a folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
647eab4f58 subscriptions: Remove unnecessary ".stream-creation-body" selector.
We do not need ".stream-creation-body" selector for this block
of CSS properties, since we apply these CSS properties to all
the required elements using ".stream-permissions" and
".advanced-configurations-container" selectors.
2025-06-10 11:51:58 -07:00
Sahil Batra
9498213455 subscriptions: Remove unnecessary CSS.
We do not have any dropdown widget buttons in right panel
of groups and streams UI, neither in creation form nor in
stream and group settings UI.
2025-06-10 11:51:58 -07:00
Sahil Batra
72e2605b98 stream-settings: Fix duplicate IDs.
"stream-advanced-configurations" was being used as ID for
advanced configurations section in both stream edit and
creation UI, which is not correct as ID should be unique.

This commit fixes it by removing the ID and instead using
class in selectors. Also, there was some unused CSS, as
we do not have dropdown widget buttons in advanced
configurations section, written using the duplicate ID so
removed that as well.
2025-05-20 10:40:19 -07:00
Sahil Batra
bc89d96893 stream-settings: Fix duplicate IDs.
This commit fixes the use of "stream_permission_settings"
as ID for "Channel permissions" subsection in both
stream edit and creation UI, which was not correct since
ID should be unique.

To fix this ID was removed from the element and following
changes are done -
- $("#stream_settings") element is now used as a container
for live update functions for stream edit UI.
- "stream-permissions" class is used to access the element
instead of ID.
- Advanced configurations container also had "stream-permissions"
class before, and that was removed in this commit so that
"Channel permissions" container can be identified uniquely
and thus some CSS changes were needed.
- Also, fixed "update_stream_privacy_choices" function to
not use ":visible" in selectors.
2025-05-20 10:40:19 -07:00
Sahil Batra
7833ea0bb5 user_group_edit: Fix typo in class name.
"hide-deactivated-user-groups" was incorrectly written in
"hide-deactived-user-groups".
2025-05-20 10:37:59 -07:00
whilstsomebody
2780360b00 unarchive: Add support for unarchiving archived channels.
This commit adds support for unarchiving archived channels
by introducing the `is_archived` parameter to the
`PATCH /streams/{stream_id}` API endpoint. Sending a PATCH
request with `is_archived: false` will unarchive the specified
channel.
2025-05-16 11:39:40 -07:00
Evy Kassirer
44b87c72dc stream_edit: Fetch subscribers before showing subscriber tab.
Work towards #34244.

Now that we're supporting partial subscriber data, we might need
to fetch the full list of subscribers when opening the subscribers
tab of the edit channel modal.

This commit handles a slow load with a loading spinner while we fetch
the data, and also makes sure to ignore the data if it's received after
it stops being relevant (in case the user has another stream's data open).
2025-05-14 15:00:45 -07:00
Sahil Batra
abdad3d485 settings-ui: Align tab toggler correctly in streams and groups UI.
This commit updates the left margin for the tab toggler in
streams and groups UI to be equal to the margin for the content
below so that they align correctly.
2025-05-14 13:24:55 -07:00
Evy Kassirer
d82bd57cef two_pane_settings: Calculate body height from resize instead of fiddly CSS.
Having a set height is necessary for simplebar to work, and the height
will change depending on whether the header is one or two lines.
2025-05-13 12:06:47 -07:00
Evy Kassirer
a5c77cc017 settings: Move settings page CSS out of subscriptions.css. 2025-05-13 12:06:47 -07:00
Evy Kassirer
4f7c65d255 two_pane_settings: Clean up padding and width on creation window footer.
This changes the vertical padding to be the same top and bottom, instead
of 9px top and 15px bottom, and updates the width to properly account
for the left/right padding.

Note: This footer is currently only used for stream/usergroup creation.
2025-05-13 12:06:47 -07:00
Evy Kassirer
1778bea8fa two_pane_settings: Remove unused text-align on list-toggler-container.
This seems only relevant for the text in the `.tab-switcher .ind-tab`
which already have `text-align: center`.
2025-05-13 12:06:47 -07:00
Evy Kassirer
9ab4954fe8 two_pane_settings: Use transform with transition instead of left.
This is more performant.
2025-05-13 12:06:47 -07:00
Evy Kassirer
3edbd5983c two_pane_settings: Clean up top border for body on narrow screens.
It seems like the only impact of removing `top` here is the bottom
border of the header appears, but we can just remove that directly.

`border-top: none` doesn't seem like it was doing anything here
(the element had no border).
2025-05-13 12:06:47 -07:00
Evy Kassirer
ce78543fcd two_pane_settings: Remove redundant height for narrow screens.
This is already set on `.left` and `.right` for wide screens
and doesn't change on narrow screens.
2025-05-13 12:06:47 -07:00
Maneesh Shukla
46cd38d1b0 settings: Redesign buttons in channel and group settings.
Fixes: #34253.
2025-05-06 13:34:59 -07:00
Karl Stolley
3671a6a39c decorated_channels: Rename privacy-icon class. 2025-04-22 11:26:12 -07:00
Maneesh Shukla
94bbfaebe4 settings: Make stream and group settings thead sticky.
Co-authored-by: Karl Stolley <[email protected]>
2025-04-16 09:24:37 -07:00
evykassirer
8d57bf30ac settings: Split CSS for two-pane-overlay and settings.
No changes, just shuffling things around for ease of reading
future commits.
2025-04-11 10:27:25 -07:00
evykassirer
3be4951e5e subscriptions: Move 40% width to just the left style block.
This is overwritten to ~60% in the .right style block and
shouldn't be in the shared style block.
2025-04-11 10:27:25 -07:00
evykassirer
e84c318e10 settings: Move stream_sorter_toggle CSS to subscriptions stylesheet.
It's only used for subscriptions so it makes more sense for it to
live there.
2025-04-11 10:27:25 -07:00
evykassirer
3539142479 settings: Remove margin for subheader title.
The margin doesn't scale with font size, so it looks
extra weird at small font sizes, and also the text
is already being centered with flex so we don't need
margin.
2025-04-11 10:27:25 -07:00
evykassirer
6b0dd9e063 settings: Move subheader CSS out of main CSS block.
In a future commit in (#34125) we'll add a classname for the
subheader and use that to scope these rules.

This commit has no changes in CSS rules. It only moves them around.
2025-04-11 10:27:25 -07:00
evykassirer
a09dab5eaf settings: Calculate height of create modal through javascript.
We need this height to be flexible based on if the subheader has
overflowed into two rows or not, and our method of doing this
(with existing examples in the buddy list and stream list) is to
calculate what the height should be when a window is loaded or
resized.
2025-04-10 10:01:57 -07:00
Sayam Samal
616a957842 settings: Improve subsection header styling.
This commit makes all the subsection header as flex boxes, and improves
it's CSS styling.
2025-04-07 18:22:16 -07:00
evykassirer
a16bc0e5b1 settings: Add a generic classname for two pane overlays. 2025-04-07 18:18:47 -07:00
evykassirer
8ee4554499 settings: Replace some two pane plus sign classnames with a generic one. 2025-04-07 18:18:47 -07:00
evykassirer
1abd3332a6 settings: Replace two pane header classnames with a generic one. 2025-04-07 18:18:47 -07:00
evykassirer
23b8ac0eab settings: Replace two pane container classnames with a generic one. 2025-04-07 18:18:47 -07:00
evykassirer
781c4448fd subscriptions: Combine same media queries. 2025-04-07 18:18:47 -07:00
Shubham Padia
e0dda789ee streams: Open typeahead on click on adding subscribers.
We also added `flex-grow: 1` to the add group members and add stream
subscribers input. Without that, the typeahead won't open on click,
since there was no space occupied by the input to click on.
2025-04-07 16:26:30 -07:00
Shubham Padia
c4b30dd176 user_groups: Remove Add all users button from group creation screen.
Partially fixes #33127.
2025-04-07 16:26:30 -07:00
Shubham Padia
2314f20587 user_groups: Add subtitle when adding subscribers to new group.
Also modify the placeholder text.
2025-04-07 16:26:30 -07:00
Shubham Padia
b2108404e7 channels: Remove Add all users button from channel creation screen. 2025-04-07 16:26:30 -07:00
Shubham Padia
81ba1bcb61 channels: Add subtitle when adding subscribers to new channel.
Also modify the placeholder text.
2025-04-07 16:26:30 -07:00
Karl Stolley
30752a0011 dark_theme: Set color variables for overlays, non-empty indicators. 2025-04-04 14:04:52 -07:00
Karl Stolley
46d4f32473 dark_theme: Set color variables for plus buttons. 2025-04-04 14:04:52 -07:00
Sayam Samal
91549cfba0 settings: Update remove/unsubscribe buttons to action button component.
This commit updates the remove and unsubscribe buttons in channel
settings and user group settings to use the action button component.
2025-04-04 12:26:36 -07:00
Evy Kassirer
8adb46867b stream_settings: Move muted channels help text to below header. 2025-03-27 11:55:04 -07:00
Aman Agrawal
5ad100afef channel_settings: Fix channel name incorrect hidden.
`max-width` was not working correctly here. Removing it gets
us in good state.
2025-03-25 13:26:16 -07:00
Aman Agrawal
c7364fafe5 subscriptions: Fix wrapping of channel name above 18px font size.
We limit the width of the channel title and show ellipsis for
overflowing channel name.
2025-03-24 12:24:48 -07:00
Karl Stolley
7be9ac9883 stream_settings: Better handle word breaks. 2025-03-19 11:35:11 -07:00
harshbansal8705
8402323cb5 stream_settings: Improve handling of long stream titles in UI.
This commit makes the following changes to improve the display of long
stream titles in the stream creation and user group settings UI:

- Uses `display: -webkit-box` and `line-clamp` properties to show the
title upto two lines, and end with `...` if it exceeds.
- Updates icon `font-size` to align with text size.
- Updates `margin` and `line-height` to make it visually better.
2025-03-19 11:35:11 -07:00
whilstsomebody
24ada051dd Subscriptions: Fix the left offset of the group name.
This commit fixes a bug reported on CZO where the group
name appears offset to the left by a few pixels compared
to the description and other settings.

See CZO:
<https://chat.zulip.org/#narrow/channel/9-issues/topic/name.20of.20user.20group.20is.20misaligned>
2025-03-17 14:08:12 -07:00
Sahil Batra
a1a3ce8479 settings: Fix showing tooltip when permissions panel input is disabled.
Since the input-group covered all the available space, tooltip looked
like it is separated from the checkbox label. This commit fixes the
width of input-group to be just wide enough to contain the content
when the setting is disabled so that tooltip is positioned correctly.
2025-03-17 10:24:20 -07:00
evykassirer
f3377e90a4 subscriptions: Use only one container for the two-row header styles. 2025-03-14 16:35:05 -07:00
evykassirer
02edb62d33 settings: Collapse buttons to two rows on narrow screens with one panel.
Previously we collapsed buttons when the two-panel view was narrow enough
that the buttons started wrapping, but this case for one-panel view with
wrapping buttons was missed.
2025-03-14 16:35:05 -07:00
evykassirer
6f9ad9e74b settings: Wrap save/discard buttons as a unit on narrow screens. 2025-03-14 16:35:05 -07:00