Commit Graph

359 Commits

Author SHA1 Message Date
Sahil Batra a5cbf95c12 settings: Add group_permission_settings.ts.
This commit adds a new module group_permission_settings.ts
which is used to define configuration options like
allow_owners_group, allow_nobody_group, etc. for group-based
settings similar to GroupPermissionSetting dataclass we have
in backend.
2023-04-11 09:02:09 -07:00
Aman Agrawal 8c744752ed stream_privacy: Use new lock and hashtag icons.
This commit doesn't modify the lock and hashtag icon in settings.
2023-04-10 23:41:30 -07:00
Aman Agrawal bc8d136d5c css: Implement new design for recipient row.
This mostly includes the CSS changes for recipient row design,
most of the HTML and JS changes are present in previous commits to
this.
2023-04-10 23:41:30 -07:00
Aman Agrawal 3711d0ae69 message_list: Update recipient bar color on theme change. 2023-04-10 23:41:30 -07:00
Aman Agrawal 4b35164bca recipient_row: Add a user icon at start of PMs. 2023-04-10 23:41:30 -07:00
Aman Agrawal 819bf9b2aa recipient_row: Add `>` icon between stream name and topic. 2023-04-10 23:41:30 -07:00
Aman Agrawal 7e473003a6 recipient_row: Use a dimmed stream color for background.
Following important changes are being made here:
* color_class lib is removed since it not used anywhere now.
* We don't need the `dark_background` class since the background
  color is already adjusted based on color scheme. So, all
  instances of it being used is removed.
2023-04-10 23:41:30 -07:00
Aman Agrawal 023584e049 recipient_row: Set color of privacy icon as a shade of stream color. 2023-04-10 23:41:30 -07:00
Aman Agrawal ff6d04f88c drafts: Use generic template to show stream icon. 2023-04-10 23:41:30 -07:00
Aman Agrawal 12ac459379 recipient_row: Use generic template to show stream icon.
stream_privacy template has conditions to show stream privacy icon
for all the cases, so we use it here since we also want to show
`#` icon for public streams.
2023-04-10 23:41:30 -07:00
Aman Agrawal 17a4140773 ui_util: Extract listener for change in `preferred-color-scheme`.
This will further be used for recipient bar colors since they
have different colors in dark and light color scheme.
2023-04-10 23:41:30 -07:00
Aman Agrawal 397ca97060 stream_color: Remove redundant `update_historical` option.
This option has no significance anymore. Both the callers to this
function pass it as `true`, so it is always true when it is being
run.
2023-04-10 23:41:30 -07:00
Aman Agrawal e37f5082de recipient_row: Remove message-header-wrapper div.
This div serves no purpose. Just removed the div and shifted
corrected alignment for other divs.
2023-04-10 23:41:30 -07:00
N-Shar-ma d0f9e23ec6 markdown: Fix lists with 3+ digit markers retaining alignment for 2 digits.
Until now, lists with 3+ digit markers would have their beginnings cut off
to align with 2 digit markers. We fix that by having custom styling for
markers where we align markers only up to 2 digits, and let larger numbers
take up more space pushing the list item content forward as required to fit
the marker.
2023-04-10 21:54:51 -07:00
Lakshay Mittal 4478f8cc55 local echo: Fix tooltip over locally echoed spinner.
Despite the timestamp being hidden while sending the message, the link
on the timestamp (message url) was still hoverable and clickable, and
had a tooltip.

Here we disable the tooltip, but
https://github.com/zulip/zulip/issues/25069 remains open for the link
part.
2023-04-10 17:36:26 -07:00
Lakshay Mittal e86fe4e57c messages: Add spinner for messages sent on slow connections.
At times, it might get confusing for users who are on
slow connections if their messages has not been sent
even after 5s. Including a spinner that will only show
up after 5 seconds has elapsed will keep user informed
about their slow connection.

5s is set as minimum time because showing up a spinner
before than might be distracting for users on normal
connections.

Fixes: #19328.
2023-04-10 17:36:26 -07:00
Mateusz Mandera 1a15449e16 support: Rename "downgrade plan" to "modify plan".
Just a naming change to facilitate adding more options to that <select>
- mainly, an option to upgrade the plan to Plus.
2023-04-10 17:32:45 -07:00
Ujjawal Modi 10adb6c183 settings: Reword permissions notice banners.
Reworded the permissions notice banners on
adding bots panel,user groups panel and custom
emoji panel.
2023-04-10 16:28:12 -07:00
Ujjawal Modi c89ca2e862 settings: Improve permissions notice banners.
This commit changes behaviour of banners
in user groups panel and emoji settings panel
under organization settings.

Now banner in these panels is only
shown when user is an administrator or user
does not have permissions to perform actions
on panel.

Fixes #24157.
2023-04-10 16:28:12 -07:00
Elizabeth Funk bff6be22eb flatpickr: Add check for undefined 'hotkey' to fix type errors.
The flatpickr keyboard UI functions are very confusing. We previously
had a bug where typing keys that were not keyboard shortcuts or
numeric values could throw an exception due to accessing hotkey.name
when hotkey was undefined.

Fix this, and add a bundle of comments improving the documentation of
this confusing code path. Unfortunately, the implementation is still
somewhat mysterious; we leave debugging that to future work.

Fixes #24773.

Co-authored-by: Tim Abbott <tabbott@zulip.com>
2023-04-10 12:56:30 -07:00
Tim Abbott c76adf1e89 compose: Ensure compose box is focused after inserting any content.
In `insert_syntax_and_focus`, we now explicitly focus the textarea
before inserting the content, rather than relying on insert() to do
this for us. A comment is added documenting the quirks of insert that
require this.

This fixes a bug where the compose box might not be focused after
inserting video call links, emojis from the picker, GIPHY gifs, and
some other buttons.
2023-04-10 12:46:44 -07:00
AcKindle3 02364dd69f web: Use `uri` instead of `url`.
Following the issue #23380 and PR #25038, this commit changes all
occurences of `uri` into `url` in all comments, local variables,
handlebars templates (.hbs) function names and their callers in
all `.js` and `.ts` files.
2023-04-10 10:26:48 -07:00
Lakshay Mittal 5a89d3b4d2 search: Fix selecting all messages from recent conversations.
When there are no operators to narrow down
the search to, pass into `deactivate()` if
we're in `recent conversations`.

If we are, it will go to `all messages`.

This is done by using `is_visible()`
function of `recent_topics_util`.
2023-04-10 10:24:00 -07:00
Lauryn Menard af0b450817 templates: Update `invite_users_modal.hbs` for undefined variables.
Removes undefined `time_input` from  `invite_users_modal.hbs`.
The default input value for the expiration custom time limit is
not set until the "custom" option is selected from the dropdown.

Removes the undefined `csrf_input` from the same template. And
imports `csrf.ts` into `invite.js` to get the csrf token and
add it to the request data, which is the current pattern used
in other `/web/src` modules.
2023-04-10 09:07:11 -07:00
sbansal1999 ea2de5b0a4 js: Break cyclic dependency between topic_list and topic_list_data.
This commit breaks the cyclic dependency between "topic_list.js"
and "topic_list_data.js".

It achieves this by passing "search_term" generated by the
"get_topic_search_term" function to "topic_list_data.js" directly
through the function call from "topic_list.js".
2023-04-10 08:55:06 -07:00
Hardik Dharmani daad0a6618 navbar: Fix alignment of `search_close` icon on device width < $sm_min.
This commit fixes the alignment of the `search_close` icon on devices
with a width less than $sm_min (576px) by removing a top padding
of 5px and adjusting the position to top 5px from the previous 4px.
2023-04-10 08:09:18 -07:00
Lauryn Menard 95d48bc2ad topic-list-data: Increase max topics shown in left sidebar.
Incresase the max number of stream topics shown when not zoomed
into the stream for more topics in the left sidebar to be a max
of 8 unread conversations and 12 when there are unreads.
2023-04-07 15:10:24 -07:00
sbansal1999 e1a2789de2 js: Break cyclic dependency between top_left_corner and unread_ui.
This commit breaks the cyclic dependency between "top_left_corner.js"
and "unread_ui.js".

It achieves this by shifting the "animate_mention_changes" function
from "unread_ui.js" to "top_left_corner.js".
2023-04-07 15:04:26 -07:00
brijsiyag ee1a83996a user-profile: Prevent unintended clicks through profile modal overlay.
When a user opens a profile modal, the overlay is clicked
through in responsive mode, which results in unintended button/link
clicks. This commit removes the causing CSS properties
`pointer-events:none;` which was passing pointer-events to other
elements and `pointer-events:all` which is experimental and do no
effect.
2023-04-07 10:09:04 -07:00
Deekshith S Shetty fc1477499b hotkey: Toggle gear_menu on clicking `g` hotkey.
This commit toggles the gear_menu on pressing the `g` keyboard hotkey,
if it's already open.

Fixes: #24417.

Co-authored-by: Tim Abbott <tabbott@zulip.com>
2023-04-07 10:00:41 -07:00
Aman Agrawal a62fcb1fd9 do_render_buddy_list_tooltip: Don't show tooltip on touch devices.
Read the comment for details.
2023-04-07 09:27:50 -07:00
Aman Agrawal 13e0986091 buddy_list_tooltip: Directly get target node.
On mobile, the tooltip is triggered at the same time when right
sidebar is hidden when user clicks on a user name in the buddy
list. So, `instance.reference` node no longer exists in DOM.
2023-04-07 09:27:50 -07:00
Ujjawal Modi 915084fe82
timerender: Reword user activity info from "Last active:" to "Active".
Fixes #22758.
2023-04-07 09:24:15 -07:00
Sahil Batra 9ccc45b700 dropdown_list_widget: Refactor code to select option using "Enter".
This commit moves the code to select option on pressing "Enter" in
dropdown_keyboard_events as we handle other "keydown" events there.
This change is done for both MultiSelectDropdownListWidget and
DropdownListWidget components.
We also remove the usage of now depreceated "keypress" event with
this change.
2023-04-07 09:19:39 -07:00
Sahil Batra 35433c02b3 dropdown_list_widget: Select first option on pressing enter in search.
This commit updates the code for MultiSelectDropdownListWidget and
DropdownListWidget components to select the first option on pressing
enter when focus is on search input.

Fixes #25024.
2023-04-07 09:19:39 -07:00
Sahil Batra fc251fd464 dropdown_list_widget: Rename dropdown_focus_events.
This commit renames dropdown_focus_events function in
DropdownListWidget and MultiSelectDropdownListWidget
components to dropdown_keyboard_events, as we will be
adding other keyboard events to select an option in
this function further commits.
2023-04-07 09:19:39 -07:00
Lauryn Menard b821c90f44 narrow-filter: Update `Filter.describe_is_operator` for "resolved".
Updates `Filter.describe_is_operator` to use switch/case instead
of if/else and adds case for "is:resolved" narrow so that it is
not shown as invalid when used with other search narrow filters.
2023-04-07 09:18:52 -07:00
Lauryn Menard 982a37aece tests-narrow: Remove unneeded helper function in `narrow.test.js`.
In commit aa002f5c6d, a handlebars template was created for empty
narrow feed messages, which removed a number of div element ids,
and updated `narrow_banner.show_empty_narrow_message` to first
empty the main empty narrow div of any previous message content.

Removes the helper function for hiding the empty narrow messages
as `narrow_banner.show_empty_narrow_message` should empty the
empty message div of any text before rendering the updated empty
narrow for the new empty narrow banner text.

Also, cleans up a missed instance of 'uri' from commit b22578f
in the same test.
2023-04-07 09:18:16 -07:00
brijsiyag 95f2ead33d streams: Add an explanatory notice when left panel is empty.
This commit adds a message and link to view or create streams on
empty streams panel. It conditionally renders the message when
there is no stream to show and also when any stream
event (delete,create,subscribe) occurs.

Co-authored-by: Tim Abbott <tabbott@zulip.com>

Fixes #21870.
2023-04-06 19:33:13 -07:00
Lakshay Mittal f76ea24988 style: Fix dropdown icon partially visible on small screens.
The dropdown icon for direct messages is partially visible
on small screens. This was due to removing padding when the
screen size is below a certain size by media query.

The intent of the original code appears to have been to remove top
padding, so make the CSS do just that.
2023-04-06 18:25:09 -07:00
Hardik Dharmani f41cc29ce3 markdown: Change search and alert word highlight colors.
As part of the redesign project, this highlight colors are changed:

Light theme:
Search highlight yellow: #FFEF95 - hsl(51deg 100% 79%)
Alert highlight orange: #FFC6AE - hsl(18deg 100% 84%)

Dark theme:
Search highlight yellow: #756400 - hsl(51deg 100% 23%)
Alert highlight orange: #98491b - hsl(22deg 70% 35%)

Fixes #24922
2023-04-06 18:13:43 -07:00
atharmohammad e55f5a1b59 compose: Remove vertical shifts in compose when toggling preview mode.
The vertical shifts in message body was due to the <p> tags it gets when
converted to markdown. Removing the top margin from the first <p> child
and bottom margin from the last <p> child resolves this issue as due to
those default margins in <p> tags there was vertical shifts in message
body.

Fixes: #21276.
2023-04-06 17:57:24 -07:00
AcKindle3 ac4ec8888a ts migration: Convert `favicon.js` to `favicon.ts`.
Added type annotations to function parameters, function return
values and local variables. Added neccessary `if` statements to
enforce the objects having proper type before executing the later
operations.

An error type check in the catch block in `update_favicon`
function is added because the statement in the catch block requires
error to be a type `Error` in order to access `error.stack`.
2023-04-06 13:56:59 -07:00
xoldyckk c575d62d5a ts: Migrate header.js to typescript.
Added strict if block check to make sure `labelID` is defined at
runtime.
2023-04-06 13:27:43 -07:00
palashb01 e646ed957b css: Refactor the topic_menu sidebar popover css.
This commit adds the <p> tag used for the topic name inside the
Tippy CSS for dark theme.
2023-04-05 16:47:39 -07:00
palashb01 af3e62b2ae popovers: Refactor topic_menu visible check and hide logic.
This commit refactors the topic_menu visible check and hide logic,
since we have already migrated the popover from stream_popover.js.
This last bit of code related to topic_menu is also migrated to
popover_menus.js, and the code is refactored to use the new logic,
which is more common for the popover_menus.js system.

To hide the popover, one possible solution could be to use the
hideAll method from TippyJS. However, this could lead to
unintentional behavior for all the popovers. To prevent this, the
hide method is used for the topic_menu only.
2023-04-05 16:47:39 -07:00
palashb01 dbd945eb96 popovers: Refactor keyboard handling for the topic_menu popover.
This commit removes the use of a separate keyboard handler for
the topic_menu, as we are already using a common keyboard handler
for all Tippy popovers.
2023-04-05 16:47:39 -07:00
palashb01 28f2124feb popovers: Migrate the topic_menu popover to Tippy.
This commit migrates the topic_menu popover from stream_popover.js
to popover_menus.js. Since the data required for rendering is large,
it has been moved inside popover_menus_data.js to improve code
readability.

Getting the link of the topic for the clipboardJS inside the onMount
instance was not working with the existing method. To make it easier
to work with, a new attribute, data-clipboard-text, is added to the
'Copy link to topic' anchor tag. This allows the clipboardJS to catch
the URL. The value of data-clipboard-text is sent from popover_menus.js
to the topic_sidebar_actions template.

Fixes: #23891
2023-04-05 16:47:39 -07:00
palashb01 84a5c1907f popovers: Export stream_popover.elem_to_stream_id.
This is a prep commit for migrating the topic popover to a Tippy
popover.

'elem_to_stream_id' function is used for the topic menu to find the
stream_id of the target topic menu.
2023-04-05 16:47:39 -07:00
Ishita Gupta 8951319e98 refactor: Refactor progress_bar CSS to remove redundant code.
In this commit we remove any explicit references to the polyfills and
replace all the color codes to the hsl() format. We also remove any
other redundant code, after testing for any regressions.
2023-04-05 15:47:14 -07:00