stream subscribers: Name the tabs with a single word, removing _settings.

This is preparation for #27637, where it will be nice to be able
to be able to parse a url such as `/#streams/1/announce/general`
and use the `general` string to directly open a stream subscription
tab without converting it to `general_settings`.
This commit is contained in:
evykassirer 2023-11-14 12:33:56 -08:00 committed by Tim Abbott
parent 5020c48e17
commit 87e824d43e
3 changed files with 18 additions and 18 deletions

View File

@ -4,19 +4,19 @@ import * as components from "./components";
import {$t} from "./i18n";
export let toggler: components.Toggle;
export let select_tab = "personal_settings";
export let select_tab = "personal";
export function setup_toggler(): void {
toggler = components.toggle({
child_wants_focus: true,
values: [
{label: $t({defaultMessage: "General"}), key: "general_settings"},
{label: $t({defaultMessage: "Personal"}), key: "personal_settings"},
{label: $t({defaultMessage: "Subscribers"}), key: "subscriber_settings"},
{label: $t({defaultMessage: "General"}), key: "general"},
{label: $t({defaultMessage: "Personal"}), key: "personal"},
{label: $t({defaultMessage: "Subscribers"}), key: "subscribers"},
],
callback(_name, key) {
$(".stream_section").hide();
$(`.${CSS.escape(key)}`).show();
$(`[data-stream-section="${CSS.escape(key)}"]`).show();
select_tab = key;
},
});

View File

@ -142,18 +142,18 @@ export function update_toggler_for_sub(sub) {
return;
}
if (sub.subscribed) {
stream_edit_toggler.toggler.enable_tab("personal_settings");
stream_edit_toggler.toggler.enable_tab("personal");
stream_edit_toggler.toggler.goto(stream_edit_toggler.select_tab);
} else {
if (stream_edit_toggler.select_tab === "personal_settings") {
if (stream_edit_toggler.select_tab === "personal") {
// Go to the general settings tab, if the user is not
// subscribed. Also preserve the previous selected tab,
// to render next time a stream row is selected.
stream_edit_toggler.toggler.goto("general_settings");
stream_edit_toggler.toggler.goto("general");
} else {
stream_edit_toggler.toggler.goto(stream_edit_toggler.select_tab);
}
stream_edit_toggler.toggler.disable_tab("personal_settings");
stream_edit_toggler.toggler.disable_tab("personal");
}
enable_or_disable_subscribers_tab(sub);
}
@ -164,14 +164,14 @@ export function enable_or_disable_subscribers_tab(sub) {
}
if (!stream_data.can_view_subscribers(sub)) {
stream_edit_toggler.toggler.disable_tab("subscriber_settings");
if (stream_edit_toggler.select_tab === "subscriber_settings") {
stream_edit_toggler.toggler.goto("general_settings");
stream_edit_toggler.toggler.disable_tab("subscribers");
if (stream_edit_toggler.select_tab === "subscribers") {
stream_edit_toggler.toggler.goto("general");
}
return;
}
stream_edit_toggler.toggler.enable_tab("subscriber_settings");
stream_edit_toggler.toggler.enable_tab("subscribers");
}
export function update_settings_button_for_sub(sub) {
@ -212,10 +212,10 @@ export function update_regular_sub_settings(sub) {
}
const $settings = $(`.subscription_settings[data-stream-id='${CSS.escape(sub.stream_id)}']`);
if (sub.subscribed) {
$settings.find(".personal_settings").addClass("in");
$settings.find(".personal").addClass("in");
$settings.find(".stream-email-box").show();
} else {
$settings.find(".personal_settings").removeClass("in");
$settings.find(".personal").removeClass("in");
$settings.find(".stream-email-box").hide();
}
}

View File

@ -29,7 +29,7 @@
<div class="subscription_settings" data-stream-id="{{sub.stream_id}}">
<div class="inner-box">
<div class="general_settings stream_section">
<div class="stream_section" data-stream-section="general">
{{#with sub}}
<div class="stream-settings-tip-container">
{{> stream_settings_tip}}
@ -94,7 +94,7 @@
</div>
</div>
<div id="personal-stream-settings" class="personal_settings stream_section">
<div id="personal-stream-settings" class="stream_section" data-stream-section="personal">
<div class="subsection-header">
<h3 class="stream_setting_subsection_title inline-block">{{t "Personal settings" }}</h3>
<div id="stream_change_property_status{{sub.stream_id}}" class="stream_change_property_status alert-notification"></div>
@ -141,7 +141,7 @@
</div>
</div>
<div class="subscriber_settings stream_section">
<div class="stream_section" data-stream-section="subscribers">
{{#with sub}}
<div class="edit_subscribers_for_stream">
{{> stream_members}}