Commit Graph

2463 Commits

Author SHA1 Message Date
Rohitt Vashishtha 032361c66d styles: Refactor to remove a duplicate block. 2020-05-11 14:38:58 -07:00
Siddharth Varshney d1d012c1c4 desktop-login: Use zulip design styles for desktop-login.
Fixes: #14827
2020-05-10 23:05:19 -07:00
Steve Howell d5cadbcec2 user settings: Separate code for bot form.
When editing a bot, there are only two fields
that are similar to humans--full name and
email--which are trivial.

Before this commit we used a single codepath
to build the human form and the bot form.

Now we have two simple codepaths.

The tricky nature of the code had already led
to ugly things for the bot codepath that
fortunately weren't user facing, but which
were distracting:

    - For bots we would needlessly set things
      like is_admin, is_guest in the template
      data.

    - For bots we would needlessly try to update
      custom profile fields.

The code that differs between bots and humans
is nontrivial, and the code was both hard to read
and hard to improve:

    - Humans don't have bot owners.

    - Bots don't have custom profile fields.

The bot-owner code is nontrivial for performance
reasons.  In a big realm there are tens of thousands
of potential bot owners.  We avoid the most egregious
performance problems (i.e we don't have multiple
copies of the dropdown), but we may still want
to refine that (at least adding a spinner).

The custom-profile-fields code is nontrivial due
to the dynamic nature of custom profile fields,
which can bring in specialized widgets like
pill fields.

Now each form corresponds to a single endpoint:

    * human -> /json/users
    * bot -> /json/bots

Before we had a lot of conditional logic in
the template, the code to build to views, and
the code to submit the data.  Now everything is
much flatter.

The human code is still a bit messy (more work
coming on that), but the bot code is fairly
pristine.  All three components of the bot code
fit on a page, and there are no conditionals:

    - admin_bot_form.hbs
    - open_bot_form
    - handle_bot_form

We may want to grow out the bot code a bit
to allow admins to do more things, such as
adding services, and this will be easier now.
It would also be easier for us now to share
widgets with the per-user bot settings.

Note that the form for editing human data will
continue to be invoked from two panels:

    - Users
    - Deactivated users

There are some minor differences between
users and deactivated users, but the shape of
the data is the same for both, so that's still
all one codepath.

We eliminate `reset_edit_user` here, since
it was never used.

One nice thing about these forms was that they
had very little custom CSS attached to them
(at form-level specificity), and it turned out
all the custom CSS was for the human-specific
form.
2020-05-09 10:22:37 -07:00
Rohitt Vashishtha dafc21ed7e widgets: Style buttons properly in night-mode. 2020-05-06 09:57:36 -04:00
shubhamgupta2956 83f7241606 css: Use SCSS nesting for 'ul.filters'. 2020-05-05 16:47:59 -07:00
shubhamgupta2956 2487d834c7 css: Reorder "ul.filters" in left-sidebar.scss. 2020-05-05 16:47:59 -07:00
shubhamgupta2956 70a12cc458 css: Use SCSS nesting for chevron's styling.
Using SCSS nesting, refactor and merge various chevron's styling
elements(".all-messages-arrow", ".starred-messages-sidebar-arrow",
".stream-sidebar-arrow" and ".topic-sidebar-arrow") in
left-sidebar.scss.
2020-05-05 16:47:59 -07:00
shubhamgupta2956 063d47371c css: Reorder chevron styling in left-sidebar.scss. 2020-05-05 16:47:59 -07:00
Tim Abbott b9098a42d4 messages: Allow moving a topic to another stream.
This completes the implementation of support for moving a topic to
another stream by adding a basic UI for it.

Fixes #6427, which was previously the most-upvoted issue request in
Zulip.

There are likely to be a bunch of follow-up UI improvements on top of
this change to fully flesh out the feature.
2020-05-04 10:03:03 -07:00
vaibhavrajsingh2001 a3d51ae9af regression: Add minimum height to custom user field textbox.
Also, if the width of the texbox increased too much, the avatar icon
would move below. Fixed by setting max-width that matches the width of
the other textboxes.

Fixes: #14826
2020-05-01 11:00:56 -07:00
shubhamgupta2956 e1b8e9d7da css: Merge css properties of "#streams_header". 2020-04-30 16:56:34 -07:00
shubhamgupta2956 ff17279edb css: Use SCSS nesting for '.pm-box'. 2020-04-30 16:56:34 -07:00
shubhamgupta2956 fc8e6d6370 css: Use SCSS nesting in left-sidebar.scss.
Use SCSS nesting for "#streams_inline_cog, streams_filter_icon in
left-sidebar.scss.
2020-04-30 16:56:34 -07:00
shubhamgupta2956 628d9d1f25 css: Use nesting for "li.expanded_private_message". 2020-04-30 16:56:34 -07:00
shubhamgupta2956 85e151cc38 css: Use SCSS nesting for '.show-all-streams'. 2020-04-30 16:56:33 -07:00
shubhamgupta2956 18d7036eb6 css: Reorder ".show-all-streams". 2020-04-30 16:56:33 -07:00
shubhamgupta2956 974fd26139 css: Merge common CSS property in chevron styling. 2020-04-30 16:56:31 -07:00
shubhamgupta2956 662f202fa8 css: Use SCSS nesting for '#global_filters'. 2020-04-30 16:56:23 -07:00
shubhamgupta2956 e0071af1c7 css: Reorder "#global_filters". 2020-04-30 16:56:23 -07:00
shubhamgupta2956 3f76c963b2 css: Use SCSS nesting for "#left-sidebar". 2020-04-30 16:56:23 -07:00
shubhamgupta2956 ad3e7eebe3 css: Reorder "#left-sidebar" in left-sidebar.scss. 2020-04-30 16:56:23 -07:00
shubhamgupta2956 b9b73695cc css: Use SCSS nesting for "#stream_filters". 2020-04-30 16:56:23 -07:00
shubhamgupta2956 fb69457989 css: Reorder "#stream_filters". 2020-04-30 16:56:23 -07:00
Pranav 43b0acdae8 settings: Use & selector reference to correctly style alerts.
The alert-error class styling was not being applied to alert-notifications
because of incorrect styling. The alert-notifications and the
alert-error classes were applied to the same element, whereas the CSS
expected the alert-error class to be applied to children of the class
with alert-notifications. Fixed this by using the parent-selector
reference '&' to correctly select the styling.
2020-04-30 16:13:49 -07:00
vaibhavrajsingh2001 bde965aed0 user settings: Correct overflow behaviour of custom user field.
Fixes: #14816
2020-04-30 12:54:20 -07:00
Siddharth Varshney de47262518 sidebar: Rename classes for menu icons in sidebars. 2020-04-30 10:56:09 -07:00
Pranav 069da46769 composebox: Make empty msg alert's cross prominent in night mode.
Increased opacity of the cross in night mode to make the cross easily
visible. Previously, low values of opacity caused the cross to be not
easily visible.

Fixes #14459.
2020-04-29 16:19:08 -07:00
Jagan 805ac2475b settings: Redesign edit bot form.
This removes the weird edit-bot sidebar, replacing it with a modal,
matching our edit-user widget (and various similar ones).

Fixes #13644 by removing the buggy code.
2020-04-28 23:08:45 -07:00
Dinesh 2735860f01 browser_support: Drop support for Internet Explorer.
Internet Explorer does not support `position: sticky` which improves
floating recipient bar behavior during scrolling which is one of the
issues blocking PR #9910.
IE also does not support some features that modern browsers support
hence may not super well.
This commit adds an error page that'll be displayed when a user logs
in from Internet Explorer. Also, a test is added.
2020-04-23 17:50:28 -07:00
Jagan c69dc720ff admin user list: Replace the buttons with icons.
1. Replaced the deactivate and reactivate buttons with icons.
2. Added (you) near the current user name to denote his/her account in
the entire user list.

Tweaked by tabbott to reuse the (you) formatting from the right
sidebar here for readability and consistency.

Fixes #6313.
2020-04-23 16:49:57 -07:00
Anders Kaseorg b26a420c7a styles: Size full-viewport fixed elements as 100%, not 100vw × 100vh.
Mobile Chrome includes the height of the address bar in its
calculation of 100vh, which was causing a corresponding part of our
content to be pushed off the bottom of the screen.

Fixes #11324.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-23 15:47:43 -07:00
YashRE42 30065b4ee8 navbar: Increase the click area of to initiate search.
This commit:
- Switches margin for padding on the search closed icon, to ensure we
  cover the region to the right of icon as clickable area.
- Applies the click handler that initiates the search to the second
  last element of the navbar:
  - This will most commonly be the narrow_description element, but may
    also be the entire navbar eg in the case of "ALL" or "starred".
    Applying this change to user names in "group-pm-with: ..." based
    narrows is a little questionable, but there are no other triggers
    on these names so this change makes sense for now.
  - The narrow_description may also contain links, which need to be
    handled correctly so that the behave like links should. We work
    around the onClick on the narrow_description, by applying a
    handler to <a> tags and invoking stopPropagation.
- We also add CSS to change the cursor to a pointer to make the
  search icon change color on hover over the clickable area to
  indicate that the search box can be opened with a single click.
- However, since <a> tags are handled differently, we add a hover
  listener which makes sure it behaves appropriately. We also increase
  the vertical padding of the <a> tags so they cover the entire
  vertical navbar region.
2020-04-23 15:37:51 -07:00
YashRE42 7c23c8730c navbar: Vertically align search icon to center of navbar. 2020-04-23 15:33:14 -07:00
Rohitt Vashishtha 5098944afc settings: Consolidate CSS of all dropdown widgets. 2020-04-22 17:57:16 -07:00
YashRE42 ee68ac9957 message_edit: Show error message if error edit fails.
Message_edit.js had a bug where if the inline topic_edit failed, it
would not show an error because it attempted to make a look up for
the message_id as though it were a message row edit, which would not
work. That was changed in a refactor, which made it apparent that
there was no error being rendered at all. This commit corrects it by
rendering the error, it also adds some styling to ensure the error
message is displayed inline and it makes a change to the template so
the error is rendered before the spinner.
2020-04-22 16:25:37 -07:00
Anders Kaseorg c00f626f8e styles: Fix code block white-space for Python-Markdown upgrade.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-22 15:03:24 -07:00
vaibhavrajsingh2001 2c0c936e40 stream settings: Correct alignment of filter streams div.
The div containing options for filtering streams was placed in the
centre. Aligned it towards the right. Had to pass a special check
variable in subs.js:540 to add the specific class for this purpose.
This was a specific scenario where this sort of CSS was to be added,
hence had to make a specific case.

Also, fixed the bottom border color of the search streams bar for night
mode.
2020-04-21 16:59:41 -07:00
jagansivam28 0de77cabb0 settings UI: Add brighness on hover effect for "X" icon in upload avatar.
Increase brightness on hover effect for "X" icon in upload
avatar area is added and change the text to "delete profile picture"
while hovering over "X" icon in the avatar upload area.
2020-04-21 13:27:55 -07:00
vaibhavrajsingh2001 6ddc4827fe design: Make copy text button clickable again.
Due to added opacity of 0.5 through the readonly property, the button
for copy and close was not clickable. Increasing z-index of the button
solves it.
2020-04-20 16:01:14 -07:00
Siddharth Varshney 2d11d58c9a ui: Fix deleted msg color in Message edit history modal.
New colors are introduced in msg edit history modal for better readability
These color will have better constrat with their background colors

Fixes #13622
2020-04-20 15:42:24 -07:00
Roland Crosby ac7ec426b0 Add stream sorting widget to subscriptions page
This change adds a toggle widget to the "add streams" page that
lets the user change the sort order of the streams list. So far,
this supports sorting by stream name, by number of subscribers,
or by estimated weekly traffic.
2020-04-19 15:07:37 -04:00
jiviteshjain 3da483487a manage streams: Move stream filter to next line.
Previously, in narrow viewports, the "filter"
option would disappear, which was very confusing.

This commit moves the filter streams input to the
next line, making it visible at all viewport widths.

@showell modified the commit message and got Casper
tests passing.

Fixes #12898.
2020-04-19 09:59:11 -04:00
Pranav 3b71e0dbfb stream settings: Fix UI feedback on clicking checkbox to subscribe.
Before this change, on clicking a checkbox to toggle subscription to a
stream no UI feedback was shown and users could toggle the checkbox
multiple times to send multiple requests causing bugs. This commit
initializes a spinner on clicking the checkbox, to provide a UI feedback
to the user. This commit also disables the checkbox once a request for
subscription has been sent and re-enables the checkbox only after a
response.

This change has been accomplished by introducing a div to display the
spinner in subscription.hbs. The corresponding styles for the spinner
have been added in subscriptions.scss. The ajaxSubscribe &
ajaxUnsubscribe functions in subs.js have been updated to show & hide
the spinners for the time the request is in process. An additional
parameter, the concerned stream object is passed to these functions(
through the sub_or_unsub function) to get the location where the spinner
is to be displayed. Finally, the checkbox click handler is updated to
support these changes.

The testing for this has been done by adding a wait of 2 secs in
actions.py for the response. This gives sufficient time to test the
working manually. Also, for error cases an error has been sent from
action.py and the behaviour has been manually observed.

Fixes #14481.
2020-04-18 22:00:02 -07:00
Anders Kaseorg 43ac901ad9 styles: Fix code block styling for Python-Markdown upgrade.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:39:21 -07:00
YashRE42 ad4097342b navbar: Use flex-grow to align search_icon to right.
This change allows us to align the search icon to the right end of the
navbar, without having to rely on the `margin-left: auto` trick. This
is better because it's more convenient to let flex handle the
positioning and will, hopefully, be more resilient to breakages.
2020-04-18 13:40:54 -07:00
YashRE42 593e3ba2fb navbar: Remove unnecessary "search_icon" styles.
This change corrects a bug that caused firefox to render the width
(and hence margin and position) of search_closed differently.
2020-04-18 13:40:54 -07:00
YashRE42 faf48d974f navbar: Shift "search_icon" styles to be before tab_bar and search_box.
The motivation behind this change is that it is more sensible to have
search_icon styles appear first and then be overridden by
search_closed or search_open styles which appear afterwards. This is a
prep commit to correcting a bug that caused some browsers to
render the width (and hence margin and position) of search_closed
incorrectly.
2020-04-18 13:40:54 -07:00
YashRE42 87ba6cb4c9 tab_bar: Fix colors stream_count and description in nightmode.
This fixes a bug which caused by removing an <li> based structure on
the navbar. We forgot to update these styles.
2020-04-17 14:49:39 -07:00
YashRE42 eb4a2b9d4e navbar: Improve structure & styling for top navbar.
This updates the logged-in top navbar to display the stream/message
name, number of users, and description. It also replaces the search
bar with a search icon that expands into a full-width search bar.

Co-authored-by: Max Nussenbaum <max@maxnuss.com>

Fixes: #164.
Fixes: #5198.
2020-04-17 13:35:44 -07:00
Jagan e5d6e2e44f settings UI: Fix hovering bug in "Uploaded files" settings.
While Hovering over some cell of the tables in settings Tab
increase the cell width since we are using the pseudo-Element `:: after`
the bug is fixed by adding `position: absolute;`.
fixes #14559
2020-04-17 11:35:31 -07:00