zulip/web
Prakhar Pratyush 71244f4a94 topic_popover: Add a 'Default' option and Show 'Unmute' conditionally.
The 'Unmute' option is available in not-muted streams only when
it is the current value.

Add a 'Default' option. Available in both muted and not-muted
streams. 'Default' corresponds to the 'INHERIT' visibility policy.

Summary:
* In muted streams:
  Four options: Mute, Default, Unmute, and Follow.

* In not-muted streams:
  Three options: Mute, Default, and Follow.
  The fourth option, 'Unmute' is available only when it is the
  current value.

Reason for conditional availability of 'Unmute' option:
In a not-muted stream, 'Unmute' has no special significance.
We only show 'Default' because both 'Default' and 'Unmute' has the
same behaviour in the not-muted stream.

This avoids the big design downside of showing this fourth
nearly-identical option to users who are just in the normal
default state of a normal topic within a normal stream

We only show the 'Unmute' option in the not-muted stream to users.
if they have followed a sequence of steps that led them to
'Unmute' state in a not-muted stream. 
For example:
Mute a stream > Unmute a topic > Unmute the stream

By doing so, we avoid destroying information. The user, when
mutes the stream again, the topic will retain the 'Unmute' state.

New icons for Mute, Default, Unmute, and Follow.
2023-08-15 10:02:03 -07:00
..
e2e-tests linkifiers: Support dragging and reordering linkifiers. 2023-08-14 15:21:48 -07:00
generated
html
images styles: Remove Firefox override for dropdown appearance. 2023-07-24 13:10:03 -07:00
shared topic_popover: Add a 'Default' option and Show 'Unmute' conditionally. 2023-08-15 10:02:03 -07:00
src ts: Migrate spectators.js to typescript. 2023-08-15 09:58:17 -07:00
styles linkifiers: Support dragging and reordering linkifiers. 2023-08-14 15:21:48 -07:00
templates topic_popover: Add a 'Default' option and Show 'Unmute' conditionally. 2023-08-15 10:02:03 -07:00
tests ts: Migrate bot_data.js to TypeScript. 2023-08-14 16:06:15 -07:00
third bootstrap: Remove bootstrap CSS defined using "table" class. 2023-08-06 18:13:33 -07:00
.browserslistrc webpack: Move webpack configuration to web. 2023-02-24 06:35:58 -08:00
.gitignore
babel.config.js babel: Include "transform-optional-chaining" in presets. 2023-08-14 16:07:16 -07:00
debug-require-webpack-plugin.ts
debug-require.js
postcss.config.js postcss: Enable postcss-preset-env. 2023-03-20 11:26:30 -07:00
webpack.assets.json ts: Convert web/src/billing module to TypeScript. 2023-06-23 11:42:29 -07:00
webpack.config.ts dependencies: Upgrade JavaScript dependencies. 2023-06-05 21:51:26 -07:00
webpack.dev-assets.json webpack: Move webpack configuration to web. 2023-02-24 06:35:58 -08:00