Commit Graph

12650 Commits

Author SHA1 Message Date
Riken Shah
d2a15f613f user_info_popover: Fix status emoji showing even if it's not set.
This happened because we had not put a condition in
our template to handle the above situation.
2021-08-04 01:11:06 -07:00
Riken Shah
53e9fdf8e2 set_user_status: Increase the selected emoji size a bit. 2021-08-04 01:11:06 -07:00
Riken Shah
e5b216fc64 compose: Update status text in placeholder instantly after it's updated.
When compose box is opened to self and the user
updates the status, it should instantly update the status
text in a placeholder.
2021-08-04 01:11:06 -07:00
Alya Abbott
b679148788 portico: Revamp /for/companies.
We rework the landing page for companies in the same way we've
recently revamped the landing pages for other use cases.

This implementation unfortunately duplicates a lot of content from
/plans; we should clean that up at some point.
2021-08-03 21:54:38 -07:00
Aman Agrawal
f965ed4013 portico: Resize companies hero image to speed up loading time. 2021-08-03 21:54:38 -07:00
Aman Agrawal
649df3570f plans: Redesign compare table. 2021-08-03 17:00:46 -07:00
Anders Kaseorg
42fa62e563 Revert "time_widget: Make the generated time string more readable."
This reverts commit 1965584eec.

This syntax has a bad interaction with table syntax and needs to be
rethought.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-08-03 16:45:31 -07:00
ericluoliu
c618d7d87c UI: Fix x button alignment in feedback widget. 2021-08-03 16:15:25 -07:00
Lefteris Kyriazanos
2b70e88fda integrations: Add basic open collective integration.
Add basic open collective integration for the user donation
event.
Fixes #18319
2021-08-03 16:09:33 -07:00
Eeshan Garg
6383b38915 landing_page: Decrease margin around the call-to-action section.
The call-to-action ("Experience Zulip today!") section on our
landing page has a lot of superfluous margin around it that takes
up a lot of space. This commit decreases that margin as a part of
our efforts to restructure the bottom nav in general.
2021-08-03 15:17:07 -07:00
Eeshan Garg
967db85201 landing_page: Restructure bottom navigation.
We recently added a lot of new pages to our top navigation and
restructured top-navigation in general. This commit updates the
footer to reflect the recent changes to our top navigation.
2021-08-03 15:17:07 -07:00
Aman Agrawal
8fff420250 emails_assets: Change color of outlines to #5f5ffb.
This is a slightly darker shade of purple from what was previously
merged.

Also the followup svg assets have been replaced with the new ones.
2021-08-03 10:38:40 -07:00
Sahil Batra
aefab3d898 settings: Fix incorrect usage of user_settings.
'corporate_enabled', 'realm_push_notifications_enabled'
and 'realm_digest_emails_enabled' settings are part of
page_params and not user_settings.

This was introduced in 998d710275.
2021-08-03 10:27:38 -07:00
Ganesh Pawar
1965584eec time_widget: Make the generated time string more readable.
Before: <time:2021-07-14T00:14:00-07:00>
After: <time:2021-07-14|00:14:00|UTC-07:00>

Fixes #19205
2021-08-02 23:17:01 -07:00
Aman Agrawal
7e0d26cd83 compose_send_button: Use box shadow instead of outline on focus.
This gives rounded corners to outline on focus instead of square
which looks bad.
2021-08-02 13:54:54 -07:00
Aman Agrawal
4d37215c3d css: Set standard outline color for focusable elements.
Fixes #19198

We set blue outline color in day mode and light gray outline colour
in night mode. This removes the different outline colours users
in different platforms / desktop app.
2021-08-02 13:54:54 -07:00
Riken Shah
d6286e76c8 user status: Fix keyboard UI in status emoji picker.
Previously, the keyboard UI functions were not being called because of
the order of operations of keyboard checks.
2021-08-02 13:43:32 -07:00
Riken Shah
e47179fc35 hotkey: Avoid Enter opening compose when modals are open. 2021-08-02 13:40:10 -07:00
Riken Shah
8210daefc8 user status: Fix custom emoji not loading during page load.
The reason for this was we were not loading extra
parameters while storing the status emoji object.

For this we also need the emoji module to be initialized
early because the right sidebar would need it to display
the status emoji.
2021-08-02 13:38:51 -07:00
Riken Shah
a6bef51541 set_user_status: Fix the alignment of the selected emoji widget.
This was previously hackily centered; we now center it properly.
2021-08-02 13:38:38 -07:00
Aman Agrawal
eafada851b emails: Make footer fish more dark purple color. 2021-08-02 13:15:02 -07:00
Riken Shah
6c6b6643ce typeahead: Fix the bug where clicking by JS, selected the wrong elem.
The issue was with the typeahead `click` event where it
didn't activate the current target and called the `select`
method, which selected the element which was last
focused.

This was debugged by Anders Kaseorg.
2021-08-01 23:20:12 -07:00
Aman Agrawal
c1c6674809 emails: Retheme to purple colors to match present logo. 2021-08-01 21:27:42 -07:00
Tim Abbott
8755a76cf6 user_settings: Add types for all managed settings. 2021-08-01 15:30:17 -07:00
Sahil Batra
998d710275 frontend: Add new user_settings module for user's settings.
We add a new user_settings module similar to page_params
module in frontend and use it to access user's personal
settings instead of page_params.
2021-08-01 15:30:17 -07:00
Sahil Batra
ea44b6bcc1 events: Use user_settings event in frontend live-update code.
We now use the newly added "user_settings" event in the frontend
code instead of previous "update_global_notifications" and
"update_display_settings" events which are now depreceated.
2021-08-01 15:30:17 -07:00
Alya Abbott
8fdc662b20 portico: Clean up /for/open-source.
- Remove essay portion and link to /for/communities instead.
- Copy over relevant quotes from /for/communities.
- Move "Join the hundreds of open-source projects we sponsor."
2021-07-30 12:30:38 -07:00
Tim Abbott
399dc5046b Revert "narrow: Do not mark messages as read in mentioned narrow."
This reverts commit 5e97ec9ad9.

This change has been pretty confusing for users, and so we need to do
something more in order to make the UI acceptable to change this
default.
2021-07-29 17:31:51 -07:00
Priyam Seth
3ce7a9dd08 compose: Move warn functions from compose.js to compose_validate.js.
This commit moves the warn_if_private_stream_is_linked,
needs_subscribe_warning, and warn_if_mentioning_unsubscribed_user
to compose_validate.js from compose.js.

These warning functions are very naturally part of the compose box
validation system, though they're a bit different in being called from
the typeahead codebase.

Part of splitting compose.js into more natural modules.
2021-07-29 15:22:31 -07:00
Priyank Patel
1711dcbc6f ts: Convert settings_data module to TypeScript. 2021-07-29 11:30:18 -07:00
Priyank Patel
6b93fe0cd7 ts: Convert settings_config module to TypeScript. 2021-07-29 11:30:18 -07:00
aryanshridhar
3443f62d9a user_status: Trigger input focus once the modal is shown.
Previously, once the user opens the "Set user status" UI,
the focus isn't automatically set to the input bar.

This is so because the input field isn't visible at
the time when UI is loaded because of the bootstrap
fade property which delays the event.

Added a fix to trigger the focus event on input bar
only when the modal is completely shown.

Fixes #19417.
2021-07-29 11:26:26 -07:00
aryanshridhar
94b872828b MDLW: Render tippy tooltip once the selected items surpasses the limit.
This commit enhances our Multiselect dropdown list widget by
displaying a tippy tooltip over the dropdown button once it's
text changes to `n selected` where n is the number of items
selected by user which exceeds the limit passed.

It essentially helps the user to identify the dropdown items they
have selected by just hovering over the dropdown toggle button.
2021-07-29 10:09:03 -07:00
aryanshridhar
7c588d4747 dropdown_list_widget: Add support for Multiselect dropdown list widget (MDLW).
This commit adds the support to select multiple dropdown items by inheriting
dropdown list widget and overriding some of it's properties.

The parameters that can be passed along with it are-

- widget_name: The desired name of the widget.
- data: The data that needs to be populated as dropdown items.
- default_text: The default text to be rendered when none of the items is selected.
- on_update: Function to trigger once the filter button is pressed.
- on_close: Function to trigger once the dropdown is successfully closed after filtering.
- value: The default value that is initially selected by user.
- limit: The maximum number of dropdown items to display on button text.

This widget can later be implemented in recent topic view to replace the
several ellipses filter button and also within the organisation user's page
to quickly sort the users list according to their org role.
2021-07-29 10:09:03 -07:00
aryanshridhar
0d20a20b07 dropdown_list_widget: Improve keyboard focus events.
Previously, our dropdown list widget was lacking several
keyUp/keyDown keyboard focus events due to which the user
couldn't shift the focus from the dropdown item to it's
search input.

This commit essentially binds several additional keyboard events
by defining a `dropdown_focus_events` function which helps
in enhancing our keyboard focus events.

Due to the above changes, it removes the custom event binded
to dropdown list widget because of which we fallback to our
deprecated keydown event handler functions present in /third/bootstrap.
2021-07-29 10:09:03 -07:00
aryanshridhar
5c2bafc6b0 dropdown_list_widget: Refactor dropdown_list_widget to constructor function.
This is a prep commit for adding the support of Multiselect
dropdown list widget by prototypal inheritance.

The following change actually revamps the dropdown list widget
into a constructor function, due to which the widget is now to
be initialized with the `new` keyword (which adds a property
to __proto__ object that links to the constructor function's
prototype object).

Example-
const foo = new DropdownListWidget({....});

Due to the above change, this commit also modifies the declaration
of dropdown_list_widget across all our instances.
2021-07-29 10:09:03 -07:00
Aman Agrawal
bbcc4798b7 for-companies: Change header image. 2021-07-29 09:22:09 -07:00
Eeshan Garg
5555864e54 docs: Add doc root links to sidebar.
A recent commit (5a94bfcb88)
introduced a couple of regressions:

* The part of help.js that highlights the active page in the
  sidebar raised an exception on /help and /api since there
  was nothing to highlight for the doc roots in the sidebar
  anymore.
* Moving the doc root links to the header after the logo made
  it such that on narrow mobile widths, there was no way to get
  to the doc root since the links in the header were truncated.

With a CSS change by tabbott to avoid awkward vertical spacing.
2021-07-28 17:40:14 -07:00
Priyank Patel
1e94f6ac96 util: Rewrite same_recipents to not use switch.
In this case, for TypeScript narrowing to work correctly, we need
a if statement that check that both of the type are same. The one
condition we had that checked that both have the same type doesn't
work with TypeScript narrowing yet.
2021-07-28 17:32:09 -07:00
Priyank Patel
c37cde1202 util: Make less function required for lower_bound. 2021-07-28 17:32:09 -07:00
Priyank Patel
bf3aa8bd26 rtl: Use _.sortedIndex instead of util.lower_bound.
Since we plan to remove the one last caller of util.lower_bound we
migrate this to use _.sortedIndex so we can just remove it
completly.
2021-07-28 17:32:09 -07:00
Priyank Patel
899d7bba5a util: Cleanup CachedValue class.
We use a Symbol for unassigned_value_sentinel and explictly assign
the compute_value property instead of using Object.assign. Both of
these are needed to type annotate it easily.
2021-07-28 17:32:09 -07:00
Priyank Patel
288fe6d388 js: Use method chaining for multiple array operations.
Makes it cleaner and is easier to type annotate.
2021-07-28 17:32:09 -07:00
Priyam Seth
3ec55e7976 compose: Move keydown and keyup from compose.js to compose_ui.js.
This commit moves the handle_keydown and handle_keydown functions
of compose.js to compose_ui.js.

Part of splitting compose.js.
2021-07-28 14:01:40 -07:00
Tim Abbott
2a2654d5f5 css: Fix vertical alignment of unread message pills.
I'm not entirely sure what broken this, but both the unread message
pills and the \vdots menu were not centered vertically.

Fix for the unread message pills should be general and complete, since
it just declares center alignment, but the \vdots menu is a hack;
further cleanup of that element's CSS is needed to end up with
something good.
2021-07-28 12:04:38 -07:00
Tim Abbott
8532e22fcd user_status: Simplify user status popover labels. 2021-07-28 10:02:51 -07:00
Riken Shah
4eeb6be787 user_status: Add default emoji for common statuses.
Co-authored-by: Yash Rathore <33805964+YashRE42@users.noreply.github.com>
2021-07-28 10:02:51 -07:00
Riken Shah
cea961b129 user_info_popover: Show status emoji.
In this commit,

* We show status emoji alongside status text in the user
info popover.

* Updated clear status button to also clear status emoji.
2021-07-28 10:02:51 -07:00
Riken Shah
297379029d user_status: Add UI changes for status emoji feature.
In this commit, we update the UI to:

*  Display emoji on the buddy list (right side sidebar).

*  Display the emoji picker on the set status overlay.

It also updates the `z-index` of
`#set_user_status_modal`, which was changed from 105
to 1050 in 166bfa4cf8. We change it back to 105, so
emoji-popover can be visible on top of the
`#set_user_status_modal`.

We also remove the `tabindex` property from the
`#set_user_status_modal` so it can allow keyboard
events for emoji popover.
2021-07-28 10:02:50 -07:00
Riken Shah
840ab92f7f user_status: Add architecture to support status emoji feature.
In this commit, we only update the existing architecture
to support the status emoji feature:

* We add the `user_status_emoji_info` map so we can
keep track of the users' staus emoji.

* Listen to the server event to update/set the
`user_status_emoji_info` map.

* Add `status_emoji_info` field, when getting user's data.
2021-07-28 09:50:11 -07:00