This commit replaces "Not subscribed" tab in stream settings
with "Available" tab where only streams which the user can
subscribe to are shown.
Fixes#35919.
Instead of changing the height of the button subheader depending
on the width of the modal, which was fiddly and error prone, we now
let grid determine the height of the button subheader, and determine
the height of the body through javascript resize calculations.
Variable for storing the dropdown widget is now
declared in stream_settings_components and this
commit also adds some helper functions to get
and set the filter value.
This is a preparatory commit to avoid import
cycles in further commits for fixing live
update when channels are archived.
There is no need to store the archived status filter value in a
variable, instead value can just be derived by calling "value"
function on DropdownWidget.
This is a preparatory refactor for further commits which will fix
live-update behavior when archiving channels.
We are using `can_add_subscribers_group` instead of
`invite_to_stream_policy` to check whether a user can subscribe other
users.
We've removed `invite_to_stream_policy` from the frontend wherever
applicable.
This commit replaces the spectrum color picker used in the stream
popover and stream settings with a custom color picker popover, which
contains a grid of predefined color swatches and a custom color option.
The custom color option uses the HTML5 <input type="color"> which shows
the native browser color picker UI.
Fixes#14961.