Commit Graph

744 Commits

Author SHA1 Message Date
Karl Stolley d92a1e7ca8 compose_box: Update vdots tooltip to 'Send options'. 2023-11-13 12:45:13 -08:00
Karl Stolley 4fe9e4e715 compose_box: Handle delay, radio selection on Enter-sends elements. 2023-11-13 12:45:13 -08:00
Karl Stolley 7209476b18 compose_box: Integrate Drafts, Enter-to-send in send-later popover. 2023-11-13 12:45:13 -08:00
Karl Stolley 4fee51fc99 compose_box: Render limit indicator as template with zero-width space. 2023-11-13 12:45:13 -08:00
Karl Stolley 609106e2d0 compose_box: Implement redesigned vdots-button styles. 2023-11-13 12:45:13 -08:00
Karl Stolley bf0e806fed compose_box: Implement redesigned send-button styles. 2023-11-13 12:45:13 -08:00
Karl Stolley a3c1399924 compose_box: Handle compose and preview expansion. 2023-11-13 12:45:13 -08:00
Karl Stolley 9f00b513f7 compose_box: Improve structures around compose buttons. 2023-11-13 12:45:13 -08:00
Karl Stolley e608a389af compose_box: Improve structures around send controls. 2023-11-13 12:45:13 -08:00
Karl Stolley b4b71880e1 compose_box: Prepare redesign send and draft structures. 2023-11-13 12:45:13 -08:00
Aman Agrawal 060b94b71f inbox: Fix search icon position on narrow widths.
Due to filters dropdown's variable width, the search icon was
incorrectly positioned, we fix it by positioning it relative to
the filter dropdown.
2023-11-10 18:20:26 -08:00
Prakhar Pratyush 2f469ff830 hotkey: Give feedback when no unreads left in followed topics.
When navigating to the next unread followed topic using
the Shift+N hotkey, we notify the user when there are no more
unread messages in followed topics.

Earlier, the hotkey simply did nothing in such a case.

We use feedback_widget to do so.

Fixes #27604.
2023-11-10 13:33:13 -08:00
Aman Agrawal a7f02c89d7 inbox_view: Move filters dropdown to the left of search box. 2023-11-10 10:22:18 -08:00
Aman Agrawal 69d59acc5a inbox: Focus currently selected option in dropdown. 2023-11-10 10:22:18 -08:00
Aman Agrawal f191efce1b inbox: Add dropdown to filter topics.
Fixes #27522

Replace `Include muted` checkbox with a dropdown to filter displayed
topics.

Also, adds a new filter to display only followed topics.
2023-11-10 10:22:18 -08:00
Aman Agrawal 03dcb9c0e4 dropdown_widget: Add option to hide search box. 2023-11-10 10:22:18 -08:00
Karl Stolley f3887f1fa7 left_sidebar: Add a Views expand/collapse tooltip. 2023-11-10 09:22:07 -08:00
Karl Stolley f8ce278e76 left_sidebar: Include DM expand/collapse tooltip on arrow. 2023-11-10 09:22:07 -08:00
Karl Stolley 5f1c9ca107 left_sidebar: Center Streams tooltip over heading text. 2023-11-10 09:22:07 -08:00
Karl Stolley 34475bf867 left_sidebar: Establish filter-handling grid on Streams, DM headers.
Fixes part of #27559.
2023-11-09 17:39:26 -08:00
Karl Stolley 2235413c15 left_sidebar: Establish grid on Direct Messages header. 2023-11-09 17:39:26 -08:00
Karl Stolley 3f36c52f41 sidebars: Structurally separate left- and right-sidebar headings. 2023-11-09 17:39:26 -08:00
Aman Agrawal 66276d88ef personal_menu: Add different colors for status text. 2023-11-08 10:19:24 -08:00
ecxtacy 0c1f340934 settings-ui: Replace chevron-down fa-icon with svg icon.
Fixes part of #26859.
2023-11-07 16:55:34 -08:00
Pratik 137505e2ad settings_notifications: Enable muted stream notification settings.
This commit allow the users to modify notification settings for muted
streams through the 'notification' section located in the personal
settings.

Fixes #27272.
2023-11-07 13:46:19 -08:00
Aman Agrawal ebd0dcd5d2 actions_popover: Fix copy link not working on `enter` keypress. 2023-11-07 13:31:53 -08:00
Joelute 76024e479d alerts: Fix improper copied tooltip location in About Zulip Modal.
Previously when a user tries to click on the clipboard to copy the merge
base version info, the copied tooltip would appear in the wrong location
where the Zulip version is instead. This is caused by both clipboard
icon using the same Clipboard instance where the success event would only
display the tooltip at the Zulip version. These changes fixes this and
allows the clipboards to be independent of each other.
2023-11-07 13:17:55 -08:00
David Rosa b5351285b6 help: Document "Jitsi server URL" setting.
- Updates "Start a call", documents the "Jitsi server URL" setting,
  and links to it in a (?) from the relevant admin UI.
- Fixes misplaced include block for opening the compose box.

Fixes #26907.
2023-11-07 13:09:52 -08:00
Aman Agrawal 75960bba16 emoji_picker: Don't autofocus search input on mobile.
Since focus on input elements on mobile opens keyboard which
changes window height, emoji popover can hide or scroll out of
view. To fix it, we don't focus on search input unless user
wants to when emoji popover is open.
2023-11-07 11:31:10 -08:00
Aman Agrawal 1c03d5e5ce gear_menu: Don't show sponsorship link for orgs on paid plan. 2023-11-06 14:55:14 -08:00
Aman Agrawal 48c907e1a2 gear_menu: Show Zulip Cloud Plus for orgs on that plan.
Fixes #27525
2023-11-06 14:55:14 -08:00
Aman Agrawal e8c70a71d9 gear_menu: Show options based on sponsorship status.
Includes some additional tweaks for when to show various
billing related options.

Fixes #27524
2023-11-06 14:55:14 -08:00
Aman Agrawal 00df9c6c18 urls: Show sponsorship page on a new URL.
Fixes #27377

Replaced #sponsorship links with sponsorship/ links and in other
places liking gear menu.
2023-11-06 14:55:14 -08:00
Prakhar Pratyush 5697084832 css: Improve the css of popover used to change visibility policy.
This commit improves the CSS of popovers in the recipient bar,
recent conversations, and Inbox, which are used to change the
visibility policy.
2023-11-06 10:16:53 -08:00
Karl Stolley 322b06b364 left_sidebar: Ensure mark as read vdots follows home view.
Regardless of which home view a user selects, it will have a
hoverable vdots menu and the option to mark all as read.
2023-11-03 10:08:37 -07:00
Karl Stolley 4759fc9f69 left_sidebar: Prepare home views with selection logic, unread counts. 2023-11-03 10:08:37 -07:00
Sayam Samal 0c04246723 stream_settings: Remove muted notice string for muted streams.
The muted notice string "Muted streams don't show up in "All messages"
or generate notifications unless you are mentioned." doesn't properly
explain the behavior of muted streams.

A user can still get notifications for muted streams if they follow a
topic in the stream. This is because the followed topics global
settings will override the stream notifications settings.

Fixes #27274.
2023-11-02 14:07:44 -07:00
Sayam Samal 67fd391e3d stream_settings: Add a `?` link to "/help/mute-a-stream".
Fixes part of #27274.
2023-11-02 14:07:44 -07:00
Pratik daa34685c3 stream_edit: Enable notification settings for muted streams.
This commit allows the user to change notification settings even though
the stream is muted and adds a line of text in stream settings and
notification settings.

Fixes #27272.
2023-11-02 13:57:56 -07:00
Karl Stolley c56bd24715 left_sidebar: Attach navigation Tippies to <li> elements.
This corrects a likely long-standing bug where nav tippies appear
over the navigation box. With the gridded DM rows having corrected
the placement of DM Tippies, this commit brings the nav Tippies in
league with those.
2023-11-02 09:56:29 -07:00
Karl Stolley 4e03209c76 left_sidebar: Establsh CSS Grid on DM rows. 2023-11-02 09:56:29 -07:00
Prakhar Pratyush 8e2264b585 hotkey: Add 'narrow to next unread followed topic' hotkey.
This commit adds a 'Shift + N' keyboard shortcut, which is
used to narrow to the next unread followed topic.

Fixes part of #27323.
2023-11-01 17:37:41 -07:00
evykassirer 1f8db236f5 buddy list: Rename user_presences to buddy-list-users-matching-view.
This switches to our preferred dash-separated classnames
instead of underscore-separated, and also updates the
classname to be differentiable from users that aren't
part of the current narrow.

Until the next commit that splits the buddy list, the
name is a bit inaccurate since it still contains all
the users.
2023-10-31 16:06:07 -07:00
Karl Stolley 825a7106c6 left_sidebar: Use DM identifiers around direct-messages list. 2023-10-30 10:14:28 -07:00
Karl Stolley 01ca3e119b left_sidebar: Use DM identifiers on DM containers. 2023-10-30 10:14:28 -07:00
Karl Stolley f496b40cd6 left_sidebar: Use DM identifiers on DM list items. 2023-10-30 10:14:28 -07:00
Karl Stolley 9062c75481 left_sidebar: Use DM identifiers on DM row box. 2023-10-30 10:14:28 -07:00
Karl Stolley a175c3829c left_sidebar: Clean up DM list structures and selectors.
This adds some temporary styles to preserve the DM row layout
as-is, but that will be removed as part of the grid implementation.
2023-10-30 10:14:28 -07:00
Aman Agrawal 2d033c94d9 recent_view: Fix user unable to focus change_visibility_policy icon.
`recent_view_focusable` class should be set on element whose
children can receive focus as per

`$topic_row.find(".recent_view_focusable").eq(col).children().trigger("focus")`
2023-10-27 13:26:36 -07:00
Vector73 6dd7efae85 user_profile: Fix alignment and color of edit icon. 2023-10-26 13:17:28 -07:00
Vector73 4a4b8dff99 user_profile: Add deactivated user indicator in the profile header.
Fixes: #26861
2023-10-26 13:17:28 -07:00
Sahil Batra c9fccf476a settings: Rename default_view and escape_navigates_to_default_view.
This commit renames default_view and escape_navigates_to_default_view
settings to web_home_view and web_escape_navigates_to_home_view in
database and API to match with our recent renaming of user facing
strings related to this.

We also rename the variables, functions, comments in code and class
names and IDs for elements related to this.
2023-10-26 11:00:12 -07:00
Sayam Samal bbf4792d81 right_sidebar: Drop keyboard shortcuts button from right sidebar.
Fixes: #27381.
2023-10-25 16:43:49 -07:00
Aman Agrawal 18a165fa97 personal_menu: Indicate no status text in italics.
If user has only set emoji as status, we show a placeholder
text to indicate no status text has been set.

Fixes #27362
2023-10-25 11:09:08 -07:00
Aman Agrawal 75aa91a39f user_card_popover: Fix clear link not working.
Incorrectly migrated in 87c87ed41f.
2023-10-25 11:09:08 -07:00
Aman Agrawal 464aff1f21 make_my_home_view: Show view name in bold. 2023-10-24 16:16:56 -07:00
Aman Agrawal 2f33fad5df left_sidebar: Add popover to make different views default.
Fixes #27324
2023-10-24 16:16:56 -07:00
Aman Agrawal 7f124500fa inbox_popover: Add option to make it the default view. 2023-10-24 16:16:56 -07:00
Aman Agrawal ce804fc37a navbar: Remove userlist unread count. 2023-10-24 13:57:27 -07:00
Karl Stolley 56eaf9b153 left_sidebar: Place redesign icons in expanded views. 2023-10-24 12:29:45 -07:00
Animesh Biswas 7da9ca771f
settings: Change bot-type question to help center link.
In the "Add a new bot" modal, there was '?' next to the bot type field
that was confusingly showing a tooltip describing incoming webhooks,
regardless of the bot type have been selected.

The tooltip is removed from the '?' and it is linked to the help center
article explaining all the different bot types.

Fixes #27047.
2023-10-24 10:08:13 -07:00
David Rosa 56ccaa571e settings: Update topic notifications help center links.
- Updates the `?` link on "Topic notifications" and "Topic settings"
  to go to the new /help/topic-notifications page.
- Adds links to /help/follow-a-topic and /help/mute-a-topic.

Fixes #27297.
2023-10-23 18:37:41 -07:00
Sayam Samal 92b3fcbad2 left_sidebar: Add "This is your home view." to the home view's tooltip.
Fixes: #27325.
2023-10-23 17:37:56 -07:00
Aman Agrawal 07dcf66c72 navbar: Remove stale focus-dropdown code.
We don't need this since we migrated the dropdown to tippy which
handles the navigation via popover_items_handle_keyboard.
2023-10-23 14:15:13 -07:00
Aman Agrawal 75c874fef6 personal_menu: Fix focus outline of clear status icon. 2023-10-23 14:15:13 -07:00
Aman Agrawal 87c87ed41f personal_menu: Rename clear_status class. 2023-10-23 14:15:13 -07:00
Aman Agrawal c5564668c5 help_menu: Use new style to show hotkey.
This is according to Vlad's design in figma which differs from the
style we have in `tooltip-hotkey-hint`.

I used font-weight: 500 instead of 400 as it looked nicer and since
Vlad used Source Sans Pro as font-family which we don't have.
2023-10-23 14:15:13 -07:00
Aman Agrawal 8f716cd64a help_menu: Extract help items from gear menu into a separate popover.
Fixes #27202
2023-10-23 14:15:13 -07:00
Aman Agrawal c9891b4121 hotkey: Make g + left / right arrow work to open navbar dropdowns.
While gear menu is open, press right arrow to go to personal menu
and left arrow to open gear menu again.
2023-10-23 14:15:13 -07:00
Prakhar Pratyush 3f2ab44f94 follow_topics: Remove the 'development' guard.
This commit removes the 'development' guard and makes
the UI changes related to the 'Follow Topics' project visible
outside the development environment.

Cleans up the older UI elements related to mute and unmute topics.
2023-10-22 14:24:22 -07:00
Aman Agrawal 18475a10d7 copy_invite_link: Append tooltip to body.
This helps us get the desired `placement: top` for the tooltip
which is also where to copied confirmation tooltip is displayed.
2023-10-22 14:21:16 -07:00
Aman Agrawal e4ae826a47 inbox: Improve look of empty inbox view. 2023-10-20 17:13:33 -07:00
Aman Agrawal af271be1bd navbar-dropdowns: Use specific classes for everything.
Replaced element selectors with specific selectors, those that
remain are intentionally left.

This is to avoid inner-most selectors as element selectors.
The reason being is that browsers evaluate selectors from right
to left, meaning that every time a selector ends in an element,
the browser has to work that much harder whenever and wherever
on a page it encounters the element.
2023-10-20 12:36:39 -07:00
Aman Agrawal 2efc2a5eb5 gear_menu_dropdown: Use better class name for theme buttons. 2023-10-20 12:36:39 -07:00
Aman Agrawal 961693c354 gear_menu: Extract common hidden-for-spectators.
This avoids double borders in spectator view.
2023-10-20 12:36:39 -07:00
Aman Agrawal 05a640300a gear_menu_popover: Remove presentation role.
We want to remove their semantics from accessibility tree.
2023-10-20 12:36:39 -07:00
Aman Agrawal 64ff483e27 gear_menu_popover: Use semantically correct HTML structure.
Using `ul > li > ul > li` here since that's the correct structure.
2023-10-20 12:36:39 -07:00
Aman Agrawal 67ba59f6e8 dropdown_list: Remove not useful role=menuitem.
Since the parent `ul` has doesn't have role=menu and `ul/li` elements
don't need a be specified a role anyway. We don't need it.
2023-10-20 12:36:39 -07:00
Aman Agrawal ffcf792cc9 gear_menu: Use navigate-link-on-enter class instead of role=menuitem.
The class name make more sense give what it does.
2023-10-20 12:36:39 -07:00
Aman Agrawal 7932d49956 gear_menu_popover: Allow user to focus on these items.
These don't have an href attribute to use tabindex to
enable focus.
2023-10-20 12:36:39 -07:00
Aman Agrawal bc3d48616e gear_menu: Migrate to use tippy. 2023-10-20 12:36:39 -07:00
Aman Agrawal 1e93540d3b navbar: Use new icon for user list toggle.
This needs to be done along with gear menu for navbar to look nice.
2023-10-20 12:36:39 -07:00
Aman Agrawal a7f328d593 gear_menu_popover: Remove small-font-size class.
We can apply the required CSS to directly the org types.
2023-10-20 12:36:39 -07:00
Aman Agrawal 5cbf8ad91a gear_menu_popover: Format "About Zulip" item like other items. 2023-10-20 12:36:39 -07:00
Aman Agrawal d75df10729 gear_menu_popover: Move *-theme class to the li element.
It will help us hide the whole `li` element instead of just
`a` tag for spectators.
2023-10-20 12:36:39 -07:00
Aman Agrawal e95b105566 gear_menu_popver: Use link-item class for li elements. 2023-10-20 12:36:39 -07:00
Aman Agrawal cac411abc9 gear_menu_popover: Use better class and id name for gear-menu. 2023-10-20 12:36:39 -07:00
Aman Agrawal 12ea256e47 gear_menu: Extract dropdown part of gear menu. 2023-10-20 12:36:39 -07:00
Aman Agrawal 063669a921 gear_menu: Use new icons. 2023-10-20 12:36:39 -07:00
Sayam Samal 24d74f68ee compose: Show pronouns in compose typeaheads.
This commit adds the pronouns custom profile field to the typeaheads in
the composebox along with the necessary node tests.

Details of the implementation:
- Added logic to display pronouns in ( ) next to the user's name when
  the user has a non-empty pronoun-type custom profile field.
- If multiple pronoun fields exist in the organization, the
  implementation selects the one earlier in the list of custom profile
  fields.
- No pronouns are displayed if the selected pronoun field is empty.

Fixes #26924.
2023-10-20 12:30:21 -07:00
Aman Agrawal 61bf72d30e empty_feed_notice: Style empty message feed similar to other views. 2023-10-20 12:29:45 -07:00
Karl Stolley c3062e80bb left_sidebar: Place redesigned icons in views popover. 2023-10-20 12:27:19 -07:00
Karl Stolley 2c8a688983 left_sidebar: Place redesign icons in condensed views. 2023-10-20 12:27:19 -07:00
Karl Stolley 9535b5dbe0 left_sidebar: Add informational tooltips to condensed icons.
Though there is currently no keyboard shortcut to advertise with
these icons, both the star and the @ icons now have informational
tooltips, to match other icons in the condensed view.

Fixes: #25902
2023-10-20 12:27:19 -07:00
Karl Stolley 41635566fd left_sidebar: Improve logic for showing Scheduled messages. 2023-10-20 12:27:19 -07:00
Karl Stolley 46ce408a5f left_sidebar: Add a 3-dot menu to condensed views.
Co-Authored-By: Hardik Dharmani <Ddharmani99@gmail.com>
2023-10-20 12:27:19 -07:00
Karl Stolley 4dd1bf7e32 left_sidebar: Expand and condense the VIEWS navigation. 2023-10-20 12:27:19 -07:00
Karl Stolley 7774abfe04 left_sidebar: Structure Views header with standalone icons.
This also introduces a combo grid/flex layout, which will also be
applied to the DM and Streams headings.

Because there are now multiple classes referenced from the
Puppeteer tests, those selectors now include the expanded
navigation area's parent ID selector.
2023-10-20 12:27:19 -07:00
Prakhar Pratyush e7275d7e64 compose_banner: Fix the incorrect translation tags.
This commit fixes the translation tags in
'automatic_new_visibility_policy_banner.hbs'.

The incorrect tags were introduced in 7c46085.
2023-10-20 10:07:38 -07:00
Prakhar Pratyush d1f82c47fd compose_banner: Show banner when automatically follow or unmute topic.
When we send a message and that causes a topic to be automatically
followed or unmuted due to the automatic visibility policy settings,
we tell the user via a post-send-message compose banner.

The "notify_unmute" banner is not shown when the topic has already
been unmuted or followed due to these policies.

Fixes part of #26900.
2023-10-19 10:13:04 -07:00
Aman Agrawal b542984869 personal_menu: Fix semantics of personal menu HTML structure.
Only valid tag inside `ul` is `li`. So, we use `ul > li > ul > li`
structure here.
2023-10-18 22:02:38 -07:00
Aman Agrawal 56a3f3ff3e personal_menu: Rename popover-menu to dropdown-menu-list-section.
There were no CSS changes related to `popver-menu` class.
2023-10-18 22:02:38 -07:00
Aman Agrawal 06f14a8caf personal_menu: Use a more specific name for `.inner` class. 2023-10-18 22:02:38 -07:00
Aman Agrawal b2dd2d6d29 personal-menu: Rename dropdown-menu to navbar-dropdown-menu.
This will contain common css to be used between navbar dropdowns
gear menu and personal menu.
2023-10-18 22:02:38 -07:00
Karl Stolley 9458497ad2 settings: Reference 'Call provider' in settings. 2023-10-18 14:04:00 -07:00
Karl Stolley 383466eaff compose_box: Change 'audio' references to 'voice'. 2023-10-18 14:04:00 -07:00
Sahil Batra 760d793d6b settings: Rename "default" views to "home" views in settings and docs.
This commit renames "default" views to "home" views in the setting
labels, keyboard shortcuts list, help documentation and its urls.

This commit does not do changes in variable and class names, setting
field in database, API docs and changelog.

Fixes part of #27251.
2023-10-18 11:25:20 -07:00
Aman Agrawal 0dd8e40e84 inbox: Use new empty-list-message style and center the text. 2023-10-17 11:55:41 -07:00
Aman Agrawal 4db331ed21 empty_list_widget: Use class instead of id.
We were using id before to increase their specificity, but
since it is possible for multiple empty_list_widget_for_list/table
to be in DOM at the same time, we should use a class here. Used
`!important` here so that we can force our padding where these
classes are used.
2023-10-17 11:55:41 -07:00
Sahil Batra 0c146d21e3 overlays: Rename "modal-bg" class to "overlay-container".
This commit renames "modal-bg" class to "overlay-container"
since we use this class only for overlays and this seems a
better name.
2023-10-17 10:28:50 -07:00
Sahil Batra b3d9f5a419 overlays: Rename "modal-body" class.
We use "modal-body" class in informational overlays and
"About Zulip" overlay. For informational overlays, the
class is used on the element acting as scroll container
so we just rename the class to "overlay-scroll-container".

For "About Zulip" overlay, we do not support scrolling
so "overlay-body" seems a better class name.
2023-10-17 10:28:50 -07:00
Sahil Batra eeb3b5715f settings: Rename modal-footer class.
We only use "modal-footer" class in stream and user group
creation forms which is actually not a modal, so this commit
renames the class to a better name "settings-sticky-footer".
2023-10-17 10:28:50 -07:00
Sahil Batra effc9c366a user_profile: Show tooltip when removing last user from private stream.
We now show tooltip on "Unsubscribe" button in user profile modal
if the stream is private and the user is last user in the stream
mentioning that user should use stream settings to unsubscribe.
2023-10-16 13:37:23 -07:00
Akarsh Jain 545c4caa05 stream: Show warning when admin removes last user from a private stream.
This commit adds a confirmation modal that appears when an administrator
attempts to unsubscribe the only user currently subscribed to a private
stream. The modal includes a warning message explaining that the private
stream will be automatically archived after unsubscription.

Fixes #24025.
2023-10-16 13:37:23 -07:00
Sahil Batra 052299f056 streams: Update modals shown on removing user from private stream.
This commit adds "?" to the heading of modal shown when unsubscribing
user from private stream and adds a link to help documentation for
archiving streams. This commit also refactors the code such that we
can use the same template to show modal when unsubscribing others
from private streams.
2023-10-16 13:37:23 -07:00
Bhavesh Vasnani eb81a4f21f left_sidebar: Make toggle DM section keyboard accessible. 2023-10-16 13:11:42 -07:00
evykassirer 34ceafadd5 recent view: Add button to fetch more conversations.
We add a new timerender format for this context, where there's plenty
of space.

Fixes: #18461
2023-10-13 16:14:55 -07:00
Prakhar Pratyush e01ffba143 settings: Add default typing indicator user settings.
This commit adds two settings to 'SETTINGS / DEFAULT USER SETTINGS':
* Let recipients see when a user is typing direct messages
* Let recipients see when a user is typing stream messages
2023-10-13 15:30:49 -07:00
m-e-l-u-h-a-n 69b2c1143a stream settings: Fix tooltip for sub_unsub_button on right pane.
There was no tooltip shown for toggle subscription button
when it was disabled.

A tooltip with appropriate message is added to this button
when it is disabled in case of private streams and user
cannot use it to toggle subscription.
2023-10-13 11:08:54 -07:00
m-e-l-u-h-a-n 2585fe5c41 streams: Improve subscription toggle buttons on stream rows.
This commit changes the UI for subscribing to streams on stream rows
to be more like the mobile version (zulip/zulip-mobile#5333).
The current design made it hard to discover how to subscribe to
streams via left panel and is not very clear on the fact that
its not possible to subscribe to private streams.

To address this the following changes have been made:
- For unsubscribed streams, the on hover-checkmark is replaced by
a "+" which is always displayed and has on-hover highlighting.

- For unsubscribed private streams, the "+" is disabled.

- Tooltips with appropriate messages are added on the "+" sign for the
above 2 cases.

- A tooltip has also been for the on-hover checkmark for subscribed
streams.

Fixes: #22217.
Co-authored-by: Raghav Luthra <rluthra2002@gmail.com>
2023-10-13 11:08:54 -07:00
Tim Abbott 2ce3f52030 gear_menu: Remove logout button, moved to new personal menu. 2023-10-12 15:31:01 -07:00
Hardik Dharmani 49f7f02a0a personal_menu: Add tippy personal_menu dropdown.
Add a personal menu dropdown that opens on clicking user avatar icon
in navbar added in previous commit.

The args passed to render_personal_menu() in onShow() are returned by
get_personal_menu_content_context() in popover_menus_data.js so that
they can be unit tested.

Additionally, added CSS to get a custom arrow for dropdown menu.

Added a `?` hotkey in keyboard shortcuts option in personal_menu
dropdown in a style similar to our tooltip's hotkey by adding
? in a span with class .tooltip-hotkey-hint and adding some CSS.

Fixes part of #22802.
2023-10-12 15:31:01 -07:00
Hardik Dharmani 5fd8b95454 navbar: Add user avatar icon for personal_menu dropdown.
This commit adds user avatar icon in navbar. This new avatar icon
will be used as dropdown toggle button. Made `.column-right` a flex,
every element in right-side navbar is in this div now rather than all
elements positioned absolutely with hardcoded values like before.
Fixed some CSS as per new flex layout if `.column-right`.

Fixes part of #22802
2023-10-12 15:31:01 -07:00
Sahil Batra 8196e09013 message_list_view: Italicize "(guest)" in recipient row.
This commit updates code to italicize "(guest)" shown for guest
users in header row. We do not italicize "(guest)" in tooltip
shown on hovering over the header row for now.

We pass the user objects to template file instead of passing
the complete string to it to handle this correctly.
2023-10-12 12:06:10 -07:00
Sahil Batra a88acc4642 users: Add ellipsis only on names and show the indicator always.
We now show the guest indicator even for long names and only
truncate the names in right sidebar and the message feed.
2023-10-12 12:06:10 -07:00
Sahil Batra 49a047c27f users: Add "(guest)" to names for guest users.
This commit adds code to add "(guest)" to user names of guest
users in the following places -
- right sidebar
- user pills, including the pills in search suggestion typehaead
- typeaheads for user
- sender names in message feed
- user profile popover and modals.
- user name in not subscribed warning banner.

Note that the indicator is shown only if enable_guest_user_indicator
setting is set to true.

As a result of this change, we now translate "deactivated" text
shown in user pills for deactivated users.

Fixes part of #26700.
2023-10-12 12:06:10 -07:00
Sahil Batra c51c1d5135 realm: Add setting to control adding "(guest)" indicator to name.
This commit adds new realm setting to control adding "(guest)"
indicator to names of guest users in the UI.

Fixes part of #26700.
2023-10-12 12:06:10 -07:00
Hemant Umre 655cb51980 templates: Make the empty list messages consistent.
This commit makes the empty list messages of certain tables more
descriptive and consistent with the others.
2023-10-11 18:03:53 -07:00
Hemant Umre 0f5f7109b4 templates: Display a different message for empty search results.
In this commit, we introduce the `data-search-results-empty`
dataset to certain templates. This dataset, along with `data-empty`,
is used by `render_empty_list_message_if_needed` to present different
messages when there are no items matching the applied filter and
no items to display, respectively.

Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
2023-10-11 18:03:53 -07:00
Hemant Umre eeec8f06e9 templates: Stop using `::after` to render empty list message.
This commit removes all instances of the `required-text` class,
which utilizes the `::after` pseudo-element to render empty list
message. To avoid inserting non-decorative content using a pseudo-
element, we will now use `list_widget.render_empty_list_message_
if_needed` introduced a few commits back to display the empty list
message.

Fixes #23072.
2023-10-11 18:03:53 -07:00
Hemant Umre 5eb784a652 list_widget: Add functionality to display empty list message.
This commit introduces a function in list_widget.js that allows
displaying a message when the list is empty using the `data-empty`
dataset. The function checks the container type to determine the
appropriate wrapper for the message and appends it to the container
body.

Fixes a part of #23072.
2023-10-11 18:03:53 -07:00
Joelute 2cbf65b1f2 scheduled_messages: Indicate scheduled messages in conversation views.
These changes adds a new scheduled message indicator in conversation views
which informs the user of the number of messages that are scheduled to be
sent to the current view.

Fixes: #25584.
2023-10-11 17:53:07 -07:00
Sayam Samal 1cf2c4134e tooltips: Add period (.) to last edited/moved notice. 2023-10-11 16:23:16 -07:00
Sahil Batra 1080da08f0 settings: Fix live-update of text on the bots admin page.
We did not live-update the text on the top of admin bots page
correctly when changing the bot creation policy. This commit
fixes it.
2023-10-11 16:22:37 -07:00
Sahil Batra 0bd2d0b6a9 settings: Add code to live-update lock icon on changing role.
This commit adds code to live-update the lock icon in settings
left sidebar when a user's role changes.
2023-10-11 16:22:37 -07:00
Sahil Batra e14b9e368a settings: Use tippy for tooltips on lock icons.
This commit update tooltips shown on lock icons in settings
sidebar to use tippy instead of using html title attribute.
2023-10-11 16:22:37 -07:00
Sahil Batra 17e0b6621b settings: Update tooltip on lock icon shown for custom emoji panel.
This commit updates the tooltip for icon shown for custom emoji panel
to change the text to "You do not have permission to add custom emoji"
instead of just mentioning always that only admins can add them
even when we have other options like "Admins and moderators".

This also fixes the condition of showing or hiding the lock icon
to use the correct setting value and not the old setting
add_emoji_by_admins_only.
2023-10-11 16:22:37 -07:00
Prakhar Pratyush 43789cac58 stream_typing_indicator: Remove the dev environment guard in settings.
This commit removes the 'page_params.development_environment' guard
for the setting 'send_stream_typing_notifications' and makes it
available outside the development environment.
2023-10-11 10:16:24 -07:00
Karl Stolley f98570704d compose: Present Start new topic button adjacent the reply button.
Fixes: #24889.

Co-Authored-By: Daniil Fadeev <shameondev@gmail.com>
2023-10-10 17:37:03 -07:00
Karl Stolley 654469b29f compose: Make DM identifiers align with new conversations. 2023-10-10 17:37:03 -07:00
Karl Stolley c73de34f32 compose: Introduce 'Start new conversation' button. 2023-10-10 17:37:03 -07:00
Daniil Fadeev 9303339810 compose: Remove the unused span wrapper for buttons. 2023-10-10 17:37:03 -07:00
Karl Stolley 5b82a62b26 compose: Add button to clear topic box.
Fixes part of #24889.

Co-Authored-By: Daniil Fadeev <shameondev@gmail.com>
2023-10-10 17:37:03 -07:00
Karl Stolley b19986b777 left_sidebar: Use custom Zulip star icons.
This commit replaces all previous Font Awesome references in the
left side bar and relevant popovers with the custom Zulip star
icon.

Co-Authored-By: Hardik Dharmani <Ddharmani99@gmail.com>
2023-10-10 16:48:20 -07:00
Karl Stolley fd0dd3acd8 left_sidebar: Refactor left_sidebar.hbs structures for readability.
This commit renames the classes and IDs in the views area
(formerly global filters) to a set of flexible values all
prefixed in some way with `left-sidebar-navigation`.

This is meant to make the styles and structures in the area
more readable, while also keeping things flexible into the
future as this area's elements change.

Co-Authored-By: Hardik Dharmani <Ddharmani99@gmail.com>
2023-10-10 16:48:20 -07:00
Aman Agrawal 3cbd772b8d inbox: Make focus outline around unread count wider. 2023-10-09 16:36:24 -07:00
Aman Agrawal 80a7e995af inbox: Fix spelling mistakes.
Found a good spell checker, hopefully no more of those.
2023-10-09 16:36:24 -07:00
Aman Agrawal e9c86dc524 inbox: Add topic visibility indicator. 2023-10-09 16:36:24 -07:00
Aman Agrawal 49f553ebfc inbox: Add rectangle focus border around inbox header name. 2023-10-09 16:36:24 -07:00
Karl Stolley fe8fc98912 compose_banners: Structure innner <p> elements with .banner_message class.
This also styles those inner .banner_message elements to lose
margin inherited from Bootstrap. (This is now also applied to
the upload-message banner.)

It's better to achieve that with a class selector; using a `p`
element selector would mean that such a style would be evaluated
for all `<p>` elements in the DOM. Which is of course a whole lot,
thanks to Markdown alone.

Fixes: #26922
2023-10-09 11:55:01 -07:00