Commit Graph

10161 Commits

Author SHA1 Message Date
Siddharth Varshney 2666c1a605 css: Use SCSS nesting for `.help` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney caa3b21089 css: Reorder `.help .markdown` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney af505bc647 css: Use SCSS nesting for `.help .sidebar` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 0fa1e5b5f6 css: Use SCSS nesting for `.help .sidebar a` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney c70e53952c css: Use SCSS nesting for `.help .sidebar li` for portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 7040cc6a8a css: Merge `.help .sidebar.slide ul` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 5039b9ede4 css: Use SCSS nesting for `.help .sidebar.slide h2`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney e609561ed4 css: Use SCSS nesting for `.help .sidebar h1`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 42956cde19 css: Use SCSS nesting for `.help .sidebar h1.home-link`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 74244a6d5b css: Use SCSS nesting for `.error_page .errorbox`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 34a9147911 css: Use SCSS nesting for `center-block`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 5f9d54a028 css: Use SCSS nesting for `.central-block .control-group`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney c6d52afcff css: Use SCSS nesting for `.input-group` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney b1a6f6598b css: Use SCSS nesting for `.input-group.grid` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 4273577457 css: Use SCSS nesting for `.input-group label` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 67c41c88be css: Remove duplicate styles for `.input-group label`. 2020-05-28 17:50:12 -07:00
Siddharth Varshney b8c04c7f5e css: Reorder `.input-group` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney e8d7a590ce css: Use SCSS nesting for `.password-reset` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 10fbdab26c css: Merge `.password-reset` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney af2f9dcf6b css: Use SCSS nesting for `.password-reset .input-group` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 3d39a9d74e css: Reorder `.password-reset` related styles. 2020-05-28 17:50:12 -07:00
Siddharth Varshney f935afeaa6 css: Use SCSS nesting for `.top-links` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney cc4a4a7846 css: Use SCSS nesting for `.top-links a` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 6719835a89 css: Use SCSS nesting for `.footer-navigation` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 68b94bb434 css: Use SCSS nesting for `.main-headline-text` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney f6e70cefdf css: Use SCSS nesting for `.login-form` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 48873669e8 css: Use SCSS nesting for `.login-form, .register-form` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney cdbdffe92d css: Reorder `.login-form` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 51f5475ac8 css: Use SCSS nesting for `.login-page` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 22950a9287 css: Use SCSS nesting for `.history .sponsors` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 3f6ce5ffb1 css: Use SCSS nesting for `.contributors` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 9e4e608460 css: Use SCSS nesting for `.contributors .person` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney b524b09a37 css: Use SCSS nesting for `.team` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney a5b5294c82 css: Use SCSS nesting for `.team input` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 78d8006de5 css: Use SCSS nesting for `.team label` in protico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney f787b9054c css: Use SCSS nesting for `.team .bdfl` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney bfa18da1bf css: Use SCSS nesting for `team .bdfl .profile-picture` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 17197f7537 css: Use SCSS nesting for `.team .profile` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 0bc4760e21 css: Use SCSS nesting for `.portico-header` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney d1da18cd28 css: Use SCSS nesting for `.portico-header .dropdown` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 4bbb468a36 css: Use SCSS nesting for `portico-header .dropdown-pill` in porticos.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 0ccb3a3d02 css: Use SCSS nesting for `.portico-header .dropdown ul` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 6f1def6a29 css: Use SCSS nesting for `.portico-header .dropdown ul li` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney f04bfbed89 css: Use SCSS nesting for `.header-main` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 8670372543 css: Use SCSS nesting for `.header-main .logo` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 7c23da6abc css: Use SCSS nesting for `.footer` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney fb1427bc2f css: Use SCSS nesting for `.footer section` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney d389885fe4 css: Merge css for `.footer` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 83376b49da css: Use SCSS nesting for `.portico-container` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 6158d1e6ea css: Use SCSS nesting for `.landing-page` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 1e7dfdd48a css: Reorder `.landing-page` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney ab5dfdc25f css: Use SCSS nesting for `.api-details` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney f488c03ca1 css: Use SCSS nesting for `.integration` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney be0cd1dfc2 css: Use SCSS nesting for `.show-integral` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney ae3170c05f css: Use SCSS nesting for `a.title` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney 13fd68e749 css: Use SCSS nesting for `.help-box` in portico.scss. 2020-05-28 17:50:12 -07:00
Siddharth Varshney c3b12a41c4 css: Use SCSS nesting for `help-inline` in portico.scss. 2020-05-28 17:50:12 -07:00
Rohitt Vashishtha e509a13db0 minor: Remove outdated comment.
This was fixed in 30ab261f91.
2020-05-28 14:56:47 -07:00
Rohitt Vashishtha fba2708bbc settings_bots: Explicitly ignore delete event from live updates. 2020-05-28 17:10:51 -04:00
Rohitt Vashishtha 58b612a4f0 settings-users: Rerender bot rows on data change.
Previously, we fiddled with the existing HTML to update the
state. Now, we can use list_render.render_item() to render
the complete item properly.
2020-05-28 17:10:51 -04:00
Rohitt Vashishtha a114b6a1b1 list-render: Allow re-rendering individual list items.
Previously, we had to fiddle with the generated HTML to update
individual values. Now, we can simply ask the widget to rerender
the row that we updated.

This is done by passing an html_selector function that returns
a selector for the rendered item.

If:
  - we do not provide html_selector function
  - item is not currently rendered
  - new html is not a string.
then the render_item() call is a noop.
2020-05-28 17:10:51 -04:00
Rohitt Vashishtha 2cfead7601 list_render: Add validate_opts function.
We do not shift much of the validation logic here just
yet. This function has been declared at the top of the
file to act as usage docs for the widget as well, in
terms of what combinations of opts are valid and what
are not.
2020-05-28 17:10:51 -04:00
Mateusz Mandera 501e7c44dc docs: Add instructions for SAML with Okta/OneLogin in /help/.
Tweaked by tabbott to shift how this is organized.
2020-05-28 08:14:30 +00:00
Steve Howell 43e5b2d28b right sidebar: Remove "GROUP PMs" section.
We remove the "GROUP PMs" section that used
to be in the lower right sidebar.

Most of this is straightforward code removal.

A couple quick notes:

    - The message fetching code now just
      calls `huddle_data.process_loaded_messages`,
      which we still need for search suggestions.
      We removed `activity.process_loaded_messages`.

    - The `huddle_data.process_loaded_messages`
      function no longer needs to return `need_resize`.

    - In `resize.js` we now just calculate
      `res.buddy_list_wrapper_max_height` directly
      from `usable_height`.
2020-05-27 17:57:50 -07:00
Steve Howell 9f5725d265 buddy list: Adjust sizing calc for narrow mode.
This fixes the calculation for how far from the
top of the viewport we think #right_sidebar's
top is.  To fully explain this commit requires
some background info.

Normally `#right-sidebar` has 50px of top margin
and 0px of top padding.  And our `resize.js`
calculations have been accurate for the normal
case.

But when you are in the so-called `.expanded` mode
(i.e. when you're in a narrow window) we split up the
50px as follows:

    - 40px margin
    - 10px padding

Why don't I make the CSS just be more consistent here?

    - If you go to 50px in the "expanded" mode
      you mostly cover up the right scrollbar,
      except for the 10px gutter that is below
      the 40px-tall `.header` section.  To fully
      cover it we apparently want the padding;
      otherwise you see a small, unusable remnant
      of the scrollbar which just looks funny.

    - If we were to make the "regular" right sidebar
      just always have the 40/10 split, then we
      would start to diverge from the left sidebar,
      which is currently 50/0 as well.

    - If we went to make both the left and the right
      sidebars 40/10 split, well, that's just an
      even riskier change.

So instead I fix the resize calculation:

    I just calculate the actual `top` position.

Is any of this actually user-facing?

    Yes.  Now if a user is a narrow window and
    they open the buddy list, we will make
    the buddy list 10px smaller to account for
    the padding. This makes it less likely for
    the invite link to get squeezed out.
2020-05-27 17:57:50 -07:00
Steve Howell 87c36cdb26 resize: Resize sidebars when toggling user search.
It's possible we want to do the same for the stream
search, but this PR is highly focused on the buddy
list and GROUP PMs widget.
2020-05-27 17:57:50 -07:00
Steve Howell 7ed47e83fe resize: Extract resize_sidebars().
We'll use this in the next commit.

Note that there's a minor change in the order
in which we apply new heights--we now
do sidebars before bottom whitespace.
2020-05-27 17:57:50 -07:00
Steve Howell 9489960b73 dead code: Remove useless resize calls.
We had a bunch of places where we
were calling `resize.resize_bottom_whitespace`
with no arguments, which has been a no-op
since the below commit that removed support
for our `autoscroll_forever` option:

    fa44d2ea69

With the `autoscroll_forever` options things
like opening/closing the compose box could
alter how much bottom whitespace you'd want,
but we stopped supporting that feature in
2017.

Since then bottom_whitespace has just always
been 40% of the viewport size.  So we only need
to change it on actual resize events.

It's worth noting that we still call
`resize_bottom_whitespace` indirectly in many
places, via `resize_page_components`, and
the latter actually causes
`resize_bottom_whitespace` to do real work,
but that work is redundant for most of those
codepaths, since they're not triggered by
changes to the viewport.  So there are other
opportunities for cleanup.
2020-05-27 17:57:50 -07:00
Steve Howell ac3de453fb resize: Remove dead code.
The `buddy_list_wrapper` has zeros margins, so it's
just noise in the current calculations.  You can
verify this pretty easily with console statements,
as well as looking at the code.  I tried it with
various permutations of narrow windows and display
settings.
2020-05-27 17:57:50 -07:00
Steve Howell ccde1907d9 css: Remove obsolete logo markup.
This section was made obsolete by
4c4733bcec
2020-05-27 17:57:50 -07:00
Steve Howell add641d0c9 css: Use vars for header-size related values.
The header is 40px tall, with a 10px gutter
below it, which means the top of our sidebars
are 50px from the top of the viewport.

Now all the places that share these values
use `$header_right` and related values.

This is pretty easy to test out by just doubling
or tripling the two numbers at the top of the
file.

The section for `@media (max-width: 500px)` seems
to have its own smaller values for things like
the `height` of `.header`, so I left it alone.
2020-05-27 17:57:50 -07:00
Steve Howell fefcaad027 resize: Avoid hard-coding 10px for header padding. 2020-05-27 17:57:50 -07:00
jagansivam28 12fd515831 settings org: Trigger realm icon upload by clicking on realm icon element.
Trigger realm icon upload by clicking on realm icon element itself
rather than having a big upload button and to match our user avatar UI.
Added new spinner over the icon element itself to show while
uploading realm icon.
2020-05-27 17:15:14 -07:00
jagansivam28 0c70365034 settings org: Replace realm icon delete button with X icon.
Replacing delete button for `realm icon` with "X" icon in the
right corner of the icon image to match "user profile" avatar UI.
2020-05-27 17:15:14 -07:00
SiddharthVarshney 2b9a79bb19 portico: Use green btn for `call-to-action-bottom` button.
This button will now look similar in design as we have on
our /app page.

Fixes: #15077
2020-05-27 16:30:03 -07:00
Anders Kaseorg 30ab261f91 styles: Undo calc(x + y) → calc(x - -y) workaround.
The bug this was working around does not affect our current toolchain,
as confirmed by grepping through the minified output.

(Also, this linter rule only matched calc(x + y) with two arguments
and we were already using calc($far_left_gutter_size + $left_col_size
+ 4px).)

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-27 16:29:25 -07:00
Bhanu Gupta 0f6a5ce9fb compose: Fix visual glitch in compose box decoration.
Fixes #14996.
2020-05-27 14:15:47 -07:00
Tim Abbott d4dfeb57fd lint: Add i18n linter rule for invalid i18n.t tags.
After seeing yet another contributor accidentally try to add i18n tags
that don't work using this pattern, it's time for a lint rule.
2020-05-27 14:09:56 -07:00
YashRE42 d814a8476c navbar: Show "(no description)" when necessary.
This commit has us piggy back the conditional for narrow_description
off of the conditional for sub_count, the reason for this approach is
that "narrow_description" needs to handle four unique cases:
- The stream exists and has a description.
- The stream exists and does not have a description.
- The stream does not exist and we must render appropriate text.
- We are not in a stream narrow and the span should not be rendered.

By piggy backing off of sub count we can get the first and last case,
with the inner conditional (on rendered_narrow_description) handling
the second case and the tab_bar.js passing appropriate values to the
template to handle the third case.

This unfortunately makes the template more brittle such that breakage
of the subcount can cause breakage (non rendering) of the description
as well.
2020-05-27 13:49:12 -07:00
YashRE42 663d00b643 navbar: Drop obsolete data attribute on ".stream_settings_link".
We stopped sending "data" to this template in
eb4a2b9d4e but we did not remove it
from the template, probably as an oversight.
2020-05-27 13:49:12 -07:00
Anders Kaseorg 62fcf98b6f js: Use hasOwnProperty correctly or not at all.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-26 23:33:40 -07:00
Anders Kaseorg 080abf4a1e emoji: Abstract all name_to_codepoint, codepoint_to_name accesses.
Computed indexes into these raw objects should be guarded with
Object.prototype.hasOwnProperty; make our accessors do this
automatically and use them consistently.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-26 23:33:40 -07:00
Anders Kaseorg e5e1a05e74 stream_data: Convert orders from object to Map.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-26 23:33:40 -07:00
Anders Kaseorg e6dd1911c7 rows: Convert valid_table_names from object to Set.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-26 23:33:40 -07:00
Anders Kaseorg 0ad8fff35d lightbox_canvas: Clear canvas with less obfuscation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-26 23:33:40 -07:00
Tim Abbott 23f0b3bc45 landing: Fix responsive styling for navbar custom messages.
The previous styling was brittle and ended up breaking in very small
phone-size views with the text overflowing the boundaries of the page.

The right fix is to move those heading outside the portico-header
class, since the CSS for that isn't generally appropriate here.
2020-05-26 22:58:02 -07:00
Ryan Rehman a7aae94e64 navbar: Update searchbox event listeners behaviour.
These are some UI and UX changes mainly related for when to
display the search pills and when to dispay the narrow description
in the search bar.
2020-05-26 22:04:36 -07:00
Ryan Rehman c4e59309e4 navbar: Refactor `#searchbox`.
Along with various style fixes for the search pills
enabled case, this de-duplicates the css.
2020-05-26 22:04:36 -07:00
Ryan Rehman 4cdd7aed2b css: Narrow the gap between searchbox and searchbox_legacy.
This is a prep commit which combines the previous `#searchbox`
block with the newly updated `#searchbox_legacy` block which
contains the modifications related to the new navbar display.

This only consists of changes to `#searchbox` and is still broken.
But it integrates the searchbox with the new tab_bar changes so that
only one searchbox is shown (instead of two, previously).
2020-05-26 22:04:36 -07:00
Ryan Rehman e2417b5b37 search: Don't create search pills on paste.
This is helpful because if the user pastes multiple queries in the
searchbox and there are invalid search operators, then it is visible
through the typeahead.
2020-05-26 22:04:36 -07:00
Ryan Rehman 02ab48a61e search: Simplify `narrow_or_search_for_term` code path.
The main reasoning for this change is as follows:

    * When the search bar contains multiple search queries
        but no search results, the last search operand does
        not get displayed.

        This happens due to the fact that filter object
        contained 2 terms having the operator key value as
        "search" instead of a single term where operator is
        "search" and operand is a single string containing
        the space seperated search queries. This condition
        occurs for search_pills_enabled case only because
        we used to Filter.parse the query twice
        (once for the `base_operators` and once for the
        `suggestion_operator instead of doing both at once).

        Thus the `search_query` value inside the
        `narrow.show_search_query` function which only
        selected the operands of the first term displayed
        an incomplete result.

    * Another benefit of this commit is to display the narrow
        operators in the URL fragment the same way as when
        search_pills_enabled = False.

        For example, On entering the queries in the mentioned
        order -> 'is: starred', 'abc', 'def', 'is: private',
        'ghi'. This is the URL:

        Previously:
        /#narrow/is/starred/is/private/search/abc.20def/search/ghi

        Now (same as pills disabled case):
        /#narrow/is/starred/is/private/search/abc.20def.20ghi

    * We are also able to de-duplicate the non-typeahead search
        query code path.
2020-05-26 22:04:36 -07:00
Ryan Rehman d3f2bbc4bb input pills: Delete char instead of pill for backspace.
As mentioned in the comment for `KEY.BACKSPACE` event
in `input_pills.js`, we do normal character deletion
if there is input present. However this wasn't the case
if spaces were present. Also the input wasn't cleared
after the last pill was removed.

Thus `trim()` is removed from the input length check and
the new pill is still created from the trimmed value.
2020-05-26 22:04:36 -07:00
Ryan Rehman 9e221977c4 search pills: Narrow when typeahead is not used.
We can remove the typeahead by clicking outside the search box
after we have entered the search string to be filtered and then
focus on the searchbox  and press enter or just by pressing enter
on an empty string.

Previously, the narrow would just deactivate for the above condition
as the searchbox value which was passed as the raw_operators parameter
to the narrow.activate function was empty.
This happened because we called the activate function on pressing
enter for the keyup event, while the keydown event in the parent
container made a pill from the text and cleared the input. (as
mentioned in the comment for `KEY.ENTER` case in `input_pill.js`)
2020-05-26 22:04:36 -07:00
clarammdantas de00c3cd6a people.js: Add non_active_user_dict bucket. 2020-05-26 21:41:54 -07:00
clarammdantas aae7c79c00 people.js: Rename add() to add_active_user(). 2020-05-26 21:41:54 -07:00
clarammdantas c90c8c0b19 people.js: Create new add_cross_realm_user function.
The people.js tests were using _add_user function to add
cross realm bots. The problem is that _add_user function
doesn't properly simulates the adding process as it doesn't
add the user in cross_realm_dict as well.

To solve this and eliminate the need of calling
people.initialize(), which means the params obj needs to be
defined, we extracted the whole logic of adding a cross realm
user into a separete function, add_cross_realm_user.
2020-05-26 21:41:54 -07:00
Tim Abbott 368e9572cc billing: Clean up copy on free trial pages.
This fixes some issues with unclear terminology and visual styling in
the pages for the new free trial.

There's probably more we can and should usefully do in the future.
2020-05-26 21:31:07 -07:00
Steve Howell e040721090 refactor: Extract huddle_data.js.
This makes it so that search_suggestion.js
does not depend on activity.js.

That dependency hasn't really been "elegant"
for quite some time, but it will become particularly
unnecessary when we go to remove the "Group PMs"
section from the right sidebar.

This commit introduces a temporary wart
where we have these two functions with the
same name in a sort of unnecessarily
complicated code stack:

    activity.process_loaded_messages
    huddle_data.process_loaded_messages

But we will eliminate the former function
very soon, and our message-related codepaths
will just call the `huddle_data` version
directly.

TESTING NOTES:

Now that `huddle_data` is a tiny leaf
module, it's super easy to just use the
real implementation of what was formerly
called `activity.get_huddles()` (and is
now in `huddle_data`).

When I first wrote this commit, introducing
the real implementation of `get_huddles` exposed
some bugs that I fixed in the immediately
prior commits to this.

When the tests were originally written,
I believe `activity.js` had some annoying
`jQuery` dependencies that made it hard
to unit test against.  We've slimmed it over
time to be mostly just a "controller" module.
But even in its current state it would have
been a bit of a bloated dependency.

The other friction for using the actual
version of `get_huddles` was setting up
the message data, but that's pretty minor.
2020-05-26 21:26:11 -07:00
Steve Howell ede709f75c bug fix: Fix sorting for group-pm edge cases.
If you have a group PM where some users have
three-digit user_ids and some with four-digit
user_ids (or similar), a huddle could effectively
be ignored when determining the order of
search search suggestions.

Basically, we need a way to canonically sort
user_ids in "huddle" strings, and it's somewhat
arbitrary whether you sort lexically or sort
numerically, but you do need to be consistent
about it.

And JS is not exactly helpful here:

    > [99, 101].sort()
    [ 101, 99 ]

This is a pretty obscure bug with pretty low
user-facing consequences, and it was never
reported to us as far as I know, but the fix
here is pretty straightforward.

We have had similar bugs of slightly more consequence
in the past.  The reason this bug has shown
up multiple times in our codebase is that every
component that deals with huddles has slightly
different forces that determine how it wants
to serialize the huddle.  It's just one of those
annoying things.  Plus, bugs with group PMs
do tend to escape detection, since most people
spend most of their time either on streams
or in 1:1 PMs.
2020-05-26 21:26:11 -07:00
Steve Howell 4803a12416 search: Extract people.huddle_concat().
This is a pure code extraction.  The current
code is buggy with respect to user_ids with
different lengths of digits, i.e. it does
a naive lexical sort instead of a numerical
sort.  We'll fix that in the next commit.
2020-05-26 21:26:11 -07:00
Vishnu KS 8784539d53 free trial: Send users to /upgrade after realm creation. 2020-05-26 17:01:32 -07:00
Siddharth Varshney a5f0379e0f settings: Fix streams tab-switcher misalignment for iPad size devices.
Fixes: #14913.
2020-05-26 15:25:01 -07:00
Ryan Rehman 77a26d41ae message view: Show indicator while fetching new messages.
We already have a loading indicator for fetching older
messages. Thus it makes sense to implement the same
for displaying newer messages.

We set the display of `bottom-messages-logo` to none,
to prevent displaying two loading indicators during
the initial message load.

Fixes #15060.
2020-05-26 15:21:42 -07:00
Ryan Rehman 9c733b42df minor: Rename loading_more_messages_indicator.
`loading_more_messages_indicator` is renamed to
`loading_older_messages_indicator`.

This is a prep commit to introduce
`loading_newer_messages_indicator`.
2020-05-26 15:21:42 -07:00
YashRE42 7f1cafd108 navbar: Remove redundant .emoji styles from scss.
This commit fixes the alignment of emoji in the navbar by removing a
redundant style which was breaking the emoji alignment.

This block is probably just a remanent from WIP development of this
version of the navbar & its inclusion on master was as an oversight.
2020-05-26 12:49:06 -04:00
Tim Abbott 117677d97e i18n: Translate Unmute in muted topics UI. 2020-05-25 18:26:36 -07:00
Tim Abbott 5a9e834571 settings: Fix missing Emoji settings translation tag.
Fixes part of #15044.
2020-05-25 18:24:16 -07:00
YashRE42 669f482b0d icons: Switch from text-o to code-o for view source / edit topics.
This commit replaces fa-file-text-o with fa-file-code-o which is a
better signal for the "view source" action. It also deletes a single
line comment that had suggested the change once we moved into font
awesome 4, which Aditya Bansal <adi.bansal241996@gmail.com> helped
out in doing, first via
91962aa6ab and most recently via
75ae94e459 with several commits in
between.
2020-05-25 16:19:50 -07:00
sahil839 2af4ef6c6d message_events: Fix live update of message edit history.
This commit adds code to live update the message edit history.
Message edit history is fetched and rendered again if the edit
history modal is open.

This also adds 'data-message-id' attribute to 'message-history'
when opening history modal element which is used for checking
whether the history modal opened is of the message which is
edited.

Fixes #15051.
2020-05-25 15:51:01 -07:00
Sanskar Bajpai 3aa74b67a0 stream_color: Rename the color picker button to confirm.
Tweaked by tabbott to add i18n tags.

Fixes part of #15039.
2020-05-25 15:42:34 -07:00
Vishnu KS 8b3eb9a846 landing: Add option to show custom navbar message. 2020-05-24 17:34:03 -07:00
Siddharth Varshney 89539d6fb5 stream-popover: Change design of stream popover.
Extracts the stream name from the list items and display
it in the popover title.
2020-05-24 17:28:51 -07:00
Siddharth Varshney 309ab0eb6f topic-popover: Change design of topic popover.
Extracts the topic name from the list items and display
it in the popover title.

Add a seperator between normal user and admin only options.
2020-05-24 17:28:50 -07:00
Pragati Agrawal d333d82693 stream settings: Move the "Saving" widget to "Personal settings" block.
Rather than showing the "Saving" widget beside stream name, it's more
intuitive to have it in personal settings section because it's the only
section which uses `settings_ui.do_settings_change` function and we follow
having a separate "Saving" widget for each section everywhere.
2020-05-24 16:32:36 -07:00
Pragati Agrawal 55db6ed1e3 stream settings: Fix "Saving" widget for Muted streams.
"Saving" widget was working for all personal stream settings but "Mute
notifications". This was because the change to the "Mute" property follows
a slightly different path.
2020-05-24 16:32:36 -07:00
Pragati Agrawal f7a886d821 stream settings: Add label for `regular_subscription_settings`.
Added the label for `regular_subscription_settings` as "Personal settings".
2020-05-24 16:32:36 -07:00
Pragati Agrawal ce23892aec stream settings: Move stream-email-box from regular_subscription_settings.
`stream-email-box` doesn't fit into `regular_subscription_settings` div,
therefore moved `stream-email-box` out of it.
2020-05-24 16:32:36 -07:00
Pragati Agrawal 441f9f43e7 templates: Extract help link widget.
This block of html is used at many places so it's a good idea to create a
template for it.
2020-05-24 16:32:36 -07:00
Tim Abbott 1058c08623 narrow: Fix a typo in the then_select_id comment. 2020-05-21 12:41:55 -07:00
Rohitt Vashishtha 648307ef33 rendered_markdown: Add rendering functions for timestamps.
This code generates the timestamp string to be shown to the user
from the given timestamp in unix format using moment.js.

We also render the timestamp in a pill.
2020-05-21 12:37:37 -07:00
Rohitt Vashishtha 44afcb8d64 rendered_markdown: Add comment explaining the use of this module. 2020-05-21 12:37:34 -07:00
Rohitt Vashishtha bb579742a2 markdown: Move helper function to rendered_markdown.js. 2020-05-21 12:32:52 -07:00
Rohitt Vashishtha fa9431c0a4 markdown: Extract rendered_markdown.js to update dynamic elements.
Previously, we handled this code only in message_list_view.js.
Now we support rendering stream descriptions and some dynamic
elements can be rendered in them, so we extract this new module
and use it in both the places.
2020-05-21 12:32:52 -07:00
Rohitt Vashishtha 88367a129c markdown: Disable tex and latex for math rendering.
We now parse tex and latex as regular languages, highlighting them
with pygments. We only allow 'math' to trigger latex rendering,
which is in line with the documentation.
2020-05-21 12:30:27 -07:00
Siddharth Varshney ad723f1ab4 settings: Fix settings sidebar list bug. 2020-05-20 14:37:11 -07:00
Rohitt Vashishtha 52c25a9301 markdown-timestamp: Use data-timestamp attribute.
This commit shifts our timestamp syntax to be of the form:

    <span class="timestamp data-timestamp="123456"></span>

since value is not a valid attribute of span elements.
2020-05-20 14:28:08 -07:00
Rohitt Vashishtha b062e8332f markdown: Add timestamp syntax to markdown processors.
This adds support for syntax like: !time(Jun 7 2017, 6:30 PM) so that
everyone sees the time in their own local timezone. This can be used
when scheduling online meetings, etc.

This adds some hardcoded values for timezones, because of there
being no sureshot way of determining the timezone easily. However,
since the main way of using the feature should be a typeahead for
entering the time, this shouldn't be cause of much concern.

Fixes #5176.
2020-05-20 14:23:55 -07:00
Rohitt Vashishtha 22537602d2 minor: Update comment in feature_flags.
The earlier version of the comment implied that we want to remove
the features and not the flags that hide those features.
2020-05-20 13:51:54 -07:00
Tim Abbott deeed5c4c8 css: Move some styles out of zulip.scss.
settings_section belongs next to the rest of itself, and the loading
indicator is clearly a common reused component.
2020-05-20 11:42:59 -07:00
Tim Abbott 0340ec8a0a css: Remove duplicate #user_settings_avatar styling. 2020-05-20 11:41:55 -07:00
majordwarf d816b3d46f css: Reorder media queries in settings.scss. 2020-05-20 11:31:34 -07:00
majordwarf ddaed17e77 css: Use SCSS nesting for `#settings_page` in media queries. 2020-05-20 11:31:34 -07:00
majordwarf 96ff5f30d3 css: Use SCSS nesting in settings for `.collapse-settings-btn`. 2020-05-20 11:31:34 -07:00
majordwarf 0f09835625 css: Use SCSS nesting in settings.scss for `.custom_user_field`. 2020-05-20 11:31:34 -07:00
majordwarf aa1971d44a css: Use SCSS nesting in settings.scss for `.profile-field-choices`. 2020-05-20 11:31:34 -07:00
majordwarf fe4d2426b1 css: Reorder settings.scss to put `.profile-field-choices` in order. 2020-05-20 11:31:34 -07:00
majordwarf c53847f5ae css: Merge `#payload_url_inputbox` and `#service_name_list`. 2020-05-20 11:31:34 -07:00
majordwarf d83eed6b62 css: Use SCSS nesting in settings.scss for `.required-text`. 2020-05-20 11:31:34 -07:00
majordwarf 3f9ed37b0b css: Use SCSS nesting in settings.scss for `#attachments_list`. 2020-05-20 11:31:34 -07:00
majordwarf 204240d173 css: Reorder settings.scss to put `#attachments_list` alongside. 2020-05-20 11:31:34 -07:00
majordwarf ec0c1722f0 css: Use SCSS nesting in settings.scss for `#muted_topics_table`. 2020-05-20 11:31:34 -07:00
majordwarf 280129abcd css: Remove ignored CSS property in settings.scss.
`margin-bottom` property is ignored due to the display.With
'display: inline', the width, height, margin-top, margin-bottom,and
float properties have no effect.
2020-05-20 11:31:34 -07:00
majordwarf e2ef46d0fb css: Use SCSS nesting in settings.scss for `.table`. 2020-05-20 11:31:34 -07:00
majordwarf 83f68f6710 css: Reorder settings.scss to put `.table` next to each other. 2020-05-20 11:31:34 -07:00
majordwarf f324298be2 css: Use SCSS nesting in settings.scss for `.admin-realm-form`. 2020-05-20 11:31:34 -07:00
majordwarf 3b5c7a27f4 css: Reorder settings.scss to put `.admin-realm-form` alongside. 2020-05-20 11:31:34 -07:00
majordwarf ec709a715b css: Use SCSS nesting in settings.scss for emoji's `input[type=text]`. 2020-05-20 11:31:34 -07:00
majordwarf fbed5b3853 css: Merge `#emoji-file-name` ruleset in settings.scss. 2020-05-20 11:31:34 -07:00
majordwarf 2ee5b282d6 css: Use SCSS nesting in settings.scss for `button`. 2020-05-20 11:31:34 -07:00
majordwarf f4e8086fbd css: Use SCSS nesting for `.control-label`. 2020-05-20 11:31:34 -07:00
majordwarf 0b709f770b css: Use SCSS nesting for `.edit-alert-word-buttons`. 2020-05-20 11:31:34 -07:00
majordwarf 0aabd97900 css: Use SCSS nesting in settings.scss for `.modal`. 2020-05-20 11:31:34 -07:00
majordwarf 16e069a735 css: Reorder settings.scss to put `.modal` next to each other. 2020-05-20 11:31:34 -07:00
majordwarf c47b21a1a7 css: Use SCSS nesting in settings.scss for `#settings_page`. 2020-05-20 11:31:34 -07:00
majordwarf ca5da9c8f4 css: Reorder settings.scss to put `#settings_page` next to each other. 2020-05-20 11:30:12 -07:00
majordwarf e4187f3abb css: Use SCSS nesting in settings.scss for `#api_key_buttons`. 2020-05-20 11:25:36 -07:00
majordwarf 2f2e3f4879 css: Use SCSS nesting in settings.scss for `.emojiset_choices`. 2020-05-20 11:25:36 -07:00
majordwarf 468efcf319 css: Use SCSS nesting in settings.scss for `#alert_words_list`. 2020-05-20 11:25:36 -07:00
majordwarf d857437319 css: Reorder settings.scss to put `#alert_word_list` next to each other. 2020-05-20 11:25:36 -07:00
majordwarf 9008fbfc05 css: Use SCSS nesting in settings.scss for `.edit_bot_form`. 2020-05-20 11:25:36 -07:00
majordwarf b85f587eac css: Use SCSS nesting in settings.scss for `.bots_list`. 2020-05-20 11:25:36 -07:00
majordwarf ad623a3bc3 css: Reorder settings.scss to put `.bot_list` next to each other. 2020-05-20 11:25:36 -07:00
majordwarf e544fd1994 css: Use SCSS nesting in settings.scss for `.control-label-disabled`. 2020-05-20 11:25:36 -07:00
majordwarf 990358abc5 css: Use SCSS nesting in settings.scss for `#account-settings`. 2020-05-20 11:25:35 -07:00
majordwarf 71415e5b89 css: Use SCSS nesting in settings.scss for `#settings_page`. 2020-05-20 11:25:35 -07:00
majordwarf aff0129a6a css: Reorder settings.scss to put `#settings_page` next to each other. 2020-05-20 11:25:35 -07:00
Tim Abbott 3d435e12c3 css: Remove useless stream-label margin.
This margin was already 0px.
2020-05-20 11:24:04 -07:00
Tim Abbott 7aefe5f1ff css: Extract styling for .zulip-icon.bot. 2020-05-20 11:22:06 -07:00
majordwarf 59e3c14211 css: Merge `.message_controls` css ruleset in zulip.scss. 2020-05-20 11:17:19 -07:00
majordwarf ce07d8514a css: Use SCSS nesting in zulip.scss for `.column-left.expanded`. 2020-05-20 11:17:19 -07:00
majordwarf e327c6f521 css: Merge `.top-navbar-border` css ruleset in zulip.scss. 2020-05-20 11:17:19 -07:00
majordwarf 01840d0017 css: Use SCSS nesting in zulip.scss for `.column-left`. 2020-05-20 11:17:19 -07:00
majordwarf 109a0f55fe css: Use SCSS nesting in zulip.scss for `.nav .dropdown-menu`. 2020-05-20 11:17:19 -07:00
majordwarf c6cc843fbb css: Use SCSS nesting in zulip.scss for `.column-right`. 2020-05-20 11:17:19 -07:00
majordwarf c97d03345d css: Use SCSS nesting in zulip.scss `.user_popover_email`. 2020-05-20 11:17:19 -07:00
majordwarf 25084f3da2 css: Reorder zulip.scss to put `.user_popover_email` alongside. 2020-05-20 11:17:19 -07:00
majordwarf 995331fd8d css: Use SCSS nesting in zulip.scss for `#message_edit_form`. 2020-05-20 11:17:19 -07:00
majordwarf b70b1685a3 css: Use SCSS nesting in zulip.scss for `.date_row`. 2020-05-20 11:17:19 -07:00
majordwarf a3ba1c7067 css: Use SCSS nesting in zulip.scss for `#invite-user`. 2020-05-20 11:17:19 -07:00
majordwarf aec3e95279 css: Reorder zulip.scss to put `#invite-user` alongside. 2020-05-20 11:17:19 -07:00
majordwarf 6f140bc8f8 css: Use SCSS nesting in zulip.scss for `.modal`. 2020-05-20 11:17:19 -07:00
majordwarf b4920ac318 css: Reorder zulip.scss to put `.modal` alongside. 2020-05-20 11:17:19 -07:00
majordwarf 2a1fde0b3b css: Use SCSS nesting in zulip.scss for `#stream-checkboxes`. 2020-05-20 11:17:07 -07:00
majordwarf 2cf287b9ad css: Use SCSS nesting in zulip.scss for `#user-checkboxes`. 2020-05-20 11:17:07 -07:00
majordwarf 3f3576660d css: Use SCSS nesting in zulip.scss for `.settings-section`. 2020-05-20 11:17:07 -07:00
majordwarf 77a727a13d css: Use SCSS nesting in zulip.scss for `nav`. 2020-05-20 11:17:07 -07:00
majordwarf cb7dbb5cde css: Reorder zulip.scss to put `nav` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 1d74660067 css: Use SCSS nesting in zulip.scss for `.typeahead`. 2020-05-20 11:17:07 -07:00
majordwarf 841749c90b css: Reorder zulip.scss to put `.typeahead` alongside. 2020-05-20 11:17:07 -07:00
majordwarf b94f5eded6 css: Use SCSS nesting in zulip.scss for `.nav`. 2020-05-20 11:17:07 -07:00
majordwarf 63a7117517 css: Reorder zulip.scss to put `.nav` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 4eb62960ef css: Use SCSS nesting in zulip.scss for `#navbar-buttons`. 2020-05-20 11:17:07 -07:00
majordwarf d5e0555d55 css: Reorder zulip.scss to put `#navbar-buttons` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 12d755c7c2 css: Use SCSS nesting in zulip.scss for `.home-error-bar`. 2020-05-20 11:17:07 -07:00
majordwarf d4d95b7770 css: Reorder zulip.scss to put `.home-error-bar` alongside. 2020-05-20 11:17:07 -07:00
majordwarf e2cf75a8b6 css: Use SCSS nesting in zulip.scss for `.message_length_controller`. 2020-05-20 11:17:07 -07:00
majordwarf 8b0dff3d91 css: Use SCSS nesting in zulip.scss for `#inline_topic_edit`. 2020-05-20 11:17:07 -07:00
majordwarf eccf51b36e css: Reorder zulip.scss to put `#inline_topic_edit` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 806a448823 css: Use SCSS nesting in zulip.scss for `.message_content`. 2020-05-20 11:17:07 -07:00
majordwarf ff06dccc24 css: Reorder zulip.scss to put `.message_content` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 9ae93cc7a9 css: Use SCSS nesting in zulip.scss for `.message_row`. 2020-05-20 11:17:07 -07:00
majordwarf 3362b2db8a css: Reorder zulip.scss to put `.message_row` alongside. 2020-05-20 11:17:07 -07:00
majordwarf c22090e438 css: Use SCSS nesting in zulip.scss for `.actions_hovered`. 2020-05-20 11:17:07 -07:00
majordwarf bdc7c7d1d3 css: Reorder zulip.scss to put ` .actions_hovered` alongside. 2020-05-20 11:17:07 -07:00
majordwarf 72b5282f62 css: Use SCSS nesting in zulip.scss for `.edit_content`. 2020-05-20 11:17:06 -07:00
majordwarf c598fc4885 css: Merge `.on_hover_topic_edit` with existing css rulesets. 2020-05-20 11:17:06 -07:00
majordwarf 9c6f091638 css: Use SCSS nesting in zulip.scss for `.on_hover_topic_edit`. 2020-05-20 11:17:06 -07:00
majordwarf 300314d9f8 css: Use SCSS nesting in zulip.scss for `a`. 2020-05-20 11:17:06 -07:00
majordwarf 111f0673c4 css: Reorder zulip.scss to put `a` alongside. 2020-05-20 11:17:06 -07:00
majordwarf d13d86cf82 css: Use SCSS nesting in zulip.scss for `.sender_name_hovered`. 2020-05-20 11:17:06 -07:00
majordwarf 680a74d2e1 css: Use SCSS nesting in zulip.scss for `.message_sender`. 2020-05-20 11:17:06 -07:00
majordwarf 888df23f03 css: Reorder zulip.scss to put `.message_sender` alongside. 2020-05-20 11:17:06 -07:00
majordwarf b3a09c77d9 css: Use SCSS nesting in zulip.scss for `.selected_message`. 2020-05-20 11:17:06 -07:00
majordwarf a562f208e5 css: Use SCSS nesting in zulip.scss for `.last_message`. 2020-05-20 11:17:06 -07:00
majordwarf 77d3df05ac css: Reorder zulip.scss to put `.last_message` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 69e1b0f26a css: Use SCSS nesting in zulip.scss for `.unread_marker`. 2020-05-20 11:17:06 -07:00
majordwarf cd88666bc1 css: Reorder zulip.scss to put `.unread_marker` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 6e02d9e977 css: Merge css rulesets in zulip.scss for `.message-header-contents`. 2020-05-20 11:17:06 -07:00
majordwarf 2039f6f459 css: Use SCSS nesting in zulip.scss for `.private-message`. 2020-05-20 11:17:06 -07:00
majordwarf d99a834bc4 css: Reorder zulip.scss to put `.private-message` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 646e725b4f css: Use SCSS nesting for `.message_header_private_message`. 2020-05-20 11:17:06 -07:00
majordwarf d4e7e99ec7 css: Use SCSS nesting in zulip.scss for `.bookend_tr`. 2020-05-20 11:17:06 -07:00
majordwarf 5282bf34dd css: Use SCSS nesting in zulip.scss for `.summary_row`. 2020-05-20 11:17:06 -07:00
majordwarf 0d854b736b css: Reorder zulip.scss to put `.summary_row` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 7d491b87fd css: Use SCSS nesting in zulip.scss for `.recipient_row_date`. 2020-05-20 11:17:06 -07:00
majordwarf f991990a4d css: Use SCSS nesting in zulip.scss for `.stream_label`. 2020-05-20 11:17:06 -07:00
majordwarf 38bd00d63b css: Use SCSS nesting in zulip.scss for `.floating_recipient`. 2020-05-20 11:17:06 -07:00
majordwarf d514c5a372 css: Reorder zulip.scss to put `.floating_recipient` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 20cb19b51a css: Use SCSS nesting in zulip.scss for `.message_list`. 2020-05-20 11:17:06 -07:00
majordwarf a23455bbcb css: Reorder zulip.scss to put `.message_list` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 6b06a23783 css: Use SCSS nesting in zulip.scss for `.messagebox`. 2020-05-20 11:17:06 -07:00
majordwarf fab0263e70 css: Merge css ruleset in zulip.scss for `.messagebox`. 2020-05-20 11:17:06 -07:00
majordwarf 87b5329a54 css: Reorder zulip.scss to put `.messagebox` alongside.
Removed a comment that along with reordering that deemed null now.
2020-05-20 11:17:06 -07:00
majordwarf 7b0f015830 css: Use SCSS nesting in zulip.scss for `#message-edit-history`. 2020-05-20 11:17:06 -07:00
majordwarf 62de6083a5 css: Reorder zulip.scss to put `#message-edit-history` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 2a6a817f57 css: Use SCSS nesting in zulip.scss for `.sender-status`. 2020-05-20 11:17:06 -07:00
majordwarf 388e4622f0 css: Reorder zulip.scss to put `.sender-status` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 2ffc69899f css: Use SCSS nesting in zulip.scss for `.include-sender`. 2020-05-20 11:17:06 -07:00
majordwarf f867175e6b css: Reorder zulip.scss to put `.include-sender` alongside. 2020-05-20 11:17:06 -07:00
majordwarf 7a046ae4a4 css: Use SCSS nesting in zulip.scss for `#message_edit_tooltip`. 2020-05-20 11:17:06 -07:00
majordwarf 4867639393 css: Use SCSS nesting in zulip.scss for `.tooltip`. 2020-05-20 11:17:06 -07:00
majordwarf b5501795f1 css: Use SCSS nesting in zulip.scss for `.header-main`. 2020-05-20 11:17:06 -07:00
majordwarf 7c8f8a89f2 css: Use SCSS nesting in zulip.scss for `input`. 2020-05-20 11:17:04 -07:00
majordwarf 582f638af3 css: Use SCSS nesting in zulip.scss for `.app-main`. 2020-05-20 11:02:03 -07:00
majordwarf 50a9eccd77 css: Reorder zulip.scss to put `.app-main` alongside. 2020-05-20 11:02:03 -07:00
majordwarf 3d5352f875 css: Use SCSS nesting in zulip.scss for `#panels`. 2020-05-20 11:02:03 -07:00
majordwarf 4eaf99b9fa css: Use SCSS nesting in zulip.scss for `.fade-in-message`. 2020-05-20 11:02:03 -07:00
majordwarf 685335eb44 css: Use SCSS nesting in zulip.scss for `#feedback_container`. 2020-05-20 11:02:03 -07:00
majordwarf 49cc9b680c css: Reorder zulip.scss to put `#feeback_container` alongside. 2020-05-20 11:02:03 -07:00
majordwarf faf6a274a0 css: Use SCSS nesting in zulip.scss for `.top-messages-logo`. 2020-05-20 11:02:03 -07:00
majordwarf 82c8c0e9ff css: Remove ignored css rulesets in zulip.scss.
`vertical-align` property is ignored due to the display.
With 'display: block', vertical-align should not be used.
2020-05-20 11:02:03 -07:00
Rohitt Vashishtha c24aaa0e74 portico-css: Style codeblocks to look neater.
The currrent css of codeblocks left too much empty space between
the lines as well as indented the first character of a codeblock
slightly towards the right.

This commit fixes both of these, thus making codeblocks look closer
to what someone would expect codeblocks to look like in their text
editor.
2020-05-20 10:18:29 -07:00
Rohitt Vashishtha 1091615b17 edit-bot: Show dropdown list widget for selecting owner.
This commit removes user_dropdown in favor of the common
dropdown_list_widget for our bot edit forms.
2020-05-20 09:51:38 -07:00
Rohitt Vashishtha 4d14ba41ba dropdown-list-widget: Properly handle disabled state.
We wrap the [reset] anchor tag in a button so that we can set 'disabled'
attribute on it. We change the styles to hide the [reset] button and the
pencil icon when the widget is disabled.

We also need to call `e.preventDefault()` in the event handler since now
the anchor tag behaves as a button.
2020-05-20 09:51:38 -07:00
Aman Agrawal 370d1b6ca7 recent-topics: Handle topic and topic's stream edit updates.
* Implementation and logic similar to recent_sender.process_topic_edit.
2020-05-20 09:44:50 -07:00
Aman Agrawal 04cdc89681 recent_topics: Handle mute/unmute update to topic.
* We don't remove topic data when it's muted. We will filter it
before rendering.
2020-05-20 09:44:50 -07:00
Aman Agrawal 76b0c6de86 recent-topics: Add module.
Add methods to extract recent topics from received messages.
Process new messages as they are received.
Use new messages received from the server to extract recent_topics.
Node tests added.
2020-05-20 09:44:50 -07:00
Rohitt Vashishtha da22f3b961 dropdown-list-widget: Refactor styles to use SCSS scopes. 2020-05-19 15:13:28 -07:00
Rohitt Vashishtha 96638f5bd4 dropdown-list-widget: Use null-value when no value is specified.
Previously, we tried to read the value from page_params, which was just
a hack to make the calling code look cleaner. We now remove that hack
and thus, our dependency on page_params existing. Now, if the caller
does not specify a default value, we'll use the null-value.

This also creates a new init() function to cleanly wrap the code that
makes changes to the opts passed to the widget.
2020-05-19 15:13:28 -07:00
Rohitt Vashishtha aeb247f528 dropdown-list-widget: Rename setting_name -> widget_name.
This change is another in a series of commits that allows us to use
DLW outside of realm_settings.
2020-05-19 15:13:28 -07:00
Siddharth Varshney 0af2f9d838 popover: Hide color palette.
Change in stream color occurs very rarely, and the palette is taking a lot of space in the popover.

This commit will hide the palette in default view of stream popover.
2020-05-19 14:03:35 -07:00
Siddharth Varshney 2c5275839b popover: Change the divider color in `Choose custom color`.
Changed the divider color in to match the style of day/night mode.
2020-05-19 14:03:35 -07:00
Siddharth Varshney ef8050bde0 popover: Use zulip style for `Choose` button.
This commit will change the style of `Choose` btn in both
day and night mode to match with the style of other buttons of the app.
2020-05-19 14:03:35 -07:00
Siddharth Varshney 976016a8fc popover: Add icon for `Custom color picker`. 2020-05-19 14:03:35 -07:00
Tim Abbott b746e0220b narrow: Add a block comment for narrow.activate. 2020-05-19 10:47:52 -07:00
Rohitt Vashishtha c70eb8b772 settings_bots: Do not destroy section when switching to users section.
We were destroying the bots table in start_data_load() which is now
only called for the users section since the refactoring done in
5c16bb9c99.
2020-05-18 17:02:00 -04:00
YashRE42 01deb8a6af navbar: Use direct child selector to target spans.
The navbar uses rendered markdown and rendered html within the narrow
description, this inserts eg katex--html and allows rendering of
inline math formulae. Unfortunately, in the previous SCSS file, this
fact was overlooked and a generic "span" selector was used with would
target all spans within the parent element, direct descendants or
otherwise, which caused the side effect of applying padding and margin
to inner katex elements which broke appearance.

This commit replaces the "span" selector with "& > span" so that only
spans which are the direct children to the parent element are selected
and katex--html is rendered correctly.

Fixes: #14947.
2020-05-17 21:45:28 -07:00
Siddharth Varshney 2981938817 ui: Change width of divider in setting menu.
This will now matche with the other popover `hrule` width.
2020-05-16 15:42:26 -07:00
sahil839 46ef6816b6 stream: Allow non admins to set stream post policy when creating streams.
This commit allows non admins to set stream post policy while creating
streams.

Restriction was there to prevent user from creating a stream in which
the user cannot post himself but this will be taken care of with
stream admin feature.
2020-05-16 14:53:22 -07:00
Rohitt Vashishtha a6a1858272 dispatch: Replace broken call to settings_org.
We had removed this function from the codebase when we switched to
using dropdown_list_widget. This was accidentally left as it is when
making that change.
2020-05-16 14:51:19 -07:00
Aman Agrawal 40c2a82e4e
message_events: Update edited msgs to be rerendered together.
This significantly reduces the time required to handle events like
stream & topic name edit for topics.

Verified using the Chrome Profiler for a topic with 100 messages:
With this commit: 0.64s to move the topic to a different stream.
Without this commit: 5.5s.
2020-05-16 14:48:44 -07:00
clarammdantas 3b4c49e0e2 subs.js: Change how to check if the subscribed tab is active.
Before we used a selector to check whether the "Subscribed" tab
is active or not. The problem is that if a new sibling of the tab
switcher is inserted in the DOM and uses the same classes as the
"Subscribed" and "All Streams" button do, the selector can get
the sibling element instead the tab button.
To avoid that, we are using a variable that tracks the current
active tab instead of using the selector.
2020-05-14 23:24:23 -07:00
Aman Agrawal 27ee527bd6 topic_stream_edit_popover: Add right-angle icon. 2020-05-14 14:27:53 -07:00
Aman Agrawal d537ceef5a topic_stream_edit_popover: Add stream color bar before selet tag.
* The implementation is similar to message stream edit color bar.
2020-05-14 14:27:53 -07:00
Aman Agrawal 7c502acb4c message_edit: Show stream color bar alongside stream select.
* Stream bar color logic is borrwoed from compose stream bar.
* Use flex containers to align elements and automatically set their
  height to be same, them automatically filling the stream color bar
  height to be the height of the select box.
* Use flex-wrap to wrap the propagate selector when out of space.

* To make sure stream select box and stream color box are closest possible,
  select box has been moved under stream color box.
2020-05-14 14:27:53 -07:00
Aman Agrawal 9734bcc7cd compose_ui: Extract method to set color of stream header bar.
Similar method will be used to set color for stream selection bar
when editing stream of topic/message.
2020-05-14 14:27:53 -07:00
Gillian Pantaleon 7a943601bc messagebox: Add title-text for user profile on sender name and avatar.
A separate outer span with the title text needs to be added because:

(1) The default bootstrap popover behavior takes the title as the
popover title, if provided.
(2) We need to avoid having the title area be too big in the
me_message template.

Fixes #12769.

Co-Author-By: Vaibhav <vrongmeal@gmail.com>
2020-05-14 14:07:41 -07:00
João Maurício Carvalho 41afdc6526 compose.js: Fix compose box didn't collapse.
Fix a bug where the compose box didn't collapse when sending a message
from the preview area by hitting the send button. The bug ocurred because
the preview area wasn't being properly cleared when this flow was executed.
This was fixed by moving the clear_preview_area function call for a place
that will be reached by both the enter and button flow.

Fixes: #14889
2020-05-13 15:33:07 -07:00
Rohitt Vashishtha 6a3e245fe3 settings_org: Handle dropdown list widget updates inside module.
Previously, we handled these updates in server_events_dispatch
and could accidentally call widget.render() before initializing
the widget.

Original report: https://chat.zulip.org/#narrow/near/875608.

The sync_realm_settings function ensures that if the settings are
not open, any updates are a noop.
2020-05-13 10:08:51 -07:00
Rohitt Vashishtha e2b0a4cba1 list-widget: Rename settings_list_widget => dropdown_list_widget.
We want to use this widget outside of the settings panels as well.
2020-05-13 10:08:51 -07:00
majordwarf 587b5473c2 css: Use SCSS nesting in settings.scss for `input`. 2020-05-12 23:17:27 -07:00
majordwarf cd2cf1a1aa css: Reorder settings.scss for `input` and remove unused rulesets. 2020-05-12 23:17:27 -07:00
majordwarf 298d2c5a17 css: Use SCSS nesting in settings.scss for `.input-group`. 2020-05-12 23:17:27 -07:00
majordwarf 03a95cfe49 css: Use SCSS nesting in settings.scss for `.dynamic-input`. 2020-05-12 23:17:27 -07:00
majordwarf 1384050683 css: Use SCSS nesting for child elements of `.dynamic-input`. 2020-05-12 23:17:27 -07:00
majordwarf 5af7665b3c css: Reorder `.dynamic-input` to put next to each other. 2020-05-12 23:17:27 -07:00
majordwarf 6371f0109c Use: SCSS nesting in settings.scss for `.table` in `#admin-user-list`. 2020-05-12 23:17:27 -07:00
majordwarf 70ef0e9232 css: Use SCSS nesting in settings.scss for `.settings-info-icon`. 2020-05-12 23:17:27 -07:00
majordwarf 796d3c2e7f css: Use SCSS nesting in settings.scss for `#settings_content`. 2020-05-12 23:17:27 -07:00
majordwarf 806269fc40 css: Reorder `#settings_content` to put next to each other. 2020-05-12 23:17:27 -07:00
majordwarf f6b3aa4e8b css: Use SCSS nesting for avatar, logo and icon selectors. 2020-05-12 23:17:27 -07:00
majordwarf 8543750d43 css: Reorder avatar, logo and icon selection next to each other. 2020-05-12 23:17:27 -07:00
majordwarf cc21c45c7a css: Refactor `.inline-block` in settings.scss. 2020-05-12 23:17:27 -07:00
majordwarf 02516c6f69 css: Use SCSS nesting in settings.scss for `.user-avatar-selection`. 2020-05-12 23:17:27 -07:00
majordwarf 895945b165 css: Reorder `.user-avatar-selection` to put next to each other. 2020-05-12 23:17:27 -07:00
majordwarf aed2450cc0 css: Use SCSS nesting in settings.scss for `label`. 2020-05-12 23:17:27 -07:00
majordwarf bc6baa9f2b css: Reorder `label` next to put next to each other. 2020-05-12 23:17:27 -07:00
clarammdantas 77195f94c1 stream_settings: Don't remove stream_row if in "All Streams" tab.
If you were on "All Streams" tab and unsubscribed to a private
stream, that stream row would momentarily disappear. If you
click again on "All Streams" button, it would appear again.

The problem was that the selector was finding two elements
instead of just the tab element. To solve this we used a more
specific selector to make sure we are getting the Subscribed
tab only.
2020-05-12 14:14:13 -07:00
sahil839 2491bcdd84 realm_logo: Fix incorrect display of realm logo delete button.
This commit fixes the bug of incorrectly showing/hiding the
realm logo delete button by using realm_night_logo_source for
checking the source of night mode logo instead of previously
used realm_logo_source for both day and night logos.
2020-05-12 11:59:06 -07:00
Rohitt Vashishtha 12836d6f0a typeahead: Advertise default codeblock language. 2020-05-12 11:40:12 -07:00