From c6a64b3c1d6a173d5fb928b7ddbf62a4f7175f22 Mon Sep 17 00:00:00 2001 From: apoorvapendse Date: Fri, 25 Jul 2025 20:42:26 +0530 Subject: [PATCH] stream_subscription: Use banner template to render messages. Signed-off-by: apoorvapendse --- web/src/stream_edit_subscribers.ts | 16 ++-- .../components/subscription_banner.hbs | 4 + .../stream_settings/stream_members.hbs | 2 +- .../stream_subscription_request_result.hbs | 86 ++++++++----------- 4 files changed, 53 insertions(+), 55 deletions(-) create mode 100644 web/templates/components/subscription_banner.hbs diff --git a/web/src/stream_edit_subscribers.ts b/web/src/stream_edit_subscribers.ts index 09ec975569..00890e4eb5 100644 --- a/web/src/stream_edit_subscribers.ts +++ b/web/src/stream_edit_subscribers.ts @@ -3,11 +3,11 @@ import $ from "jquery"; import assert from "minimalistic-assert"; import * as z from "zod/mini"; +import render_subscription_banner from "../templates/components/subscription_banner.hbs"; import render_unsubscribe_private_stream_modal from "../templates/confirm_dialog/confirm_unsubscribe_private_stream.hbs"; import render_inline_decorated_channel_name from "../templates/inline_decorated_channel_name.hbs"; import render_stream_member_list_entry from "../templates/stream_settings/stream_member_list_entry.hbs"; import render_stream_members_table from "../templates/stream_settings/stream_members_table.hbs"; -import render_stream_subscription_request_result from "../templates/stream_settings/stream_subscription_request_result.hbs"; import * as add_subscribers_pill from "./add_subscribers_pill.ts"; import * as blueslip from "./blueslip.ts"; @@ -115,10 +115,13 @@ function show_stream_subscription_request_error_result(error_message: string): v const $stream_subscription_req_result_elem = $( ".stream_subscription_request_result", ).expectOne(); - const html = render_stream_subscription_request_result({ + const rendered_error_banner = render_subscription_banner({ error_message, + intent: "danger", }); - scroll_util.get_content_element($stream_subscription_req_result_elem).html(html); + scroll_util + .get_content_element($stream_subscription_req_result_elem) + .html(rendered_error_banner); } function show_stream_subscription_request_success_result({ @@ -149,7 +152,8 @@ function show_stream_subscription_request_success_result({ ignored_deactivated_users, ); } - const html = render_stream_subscription_request_result({ + const rendered_success_banner = render_subscription_banner({ + intent: "success", subscribe_success_messages, subscribed_users, already_subscribed_users, @@ -159,7 +163,9 @@ function show_stream_subscription_request_success_result({ ignored_deactivated_users, ignored_deactivated_users_count, }); - scroll_util.get_content_element($stream_subscription_req_result_elem).html(html); + scroll_util + .get_content_element($stream_subscription_req_result_elem) + .html(rendered_success_banner); } function update_notification_choice_checkbox(added_user_count: number): void { diff --git a/web/templates/components/subscription_banner.hbs b/web/templates/components/subscription_banner.hbs new file mode 100644 index 0000000000..22df9b25ce --- /dev/null +++ b/web/templates/components/subscription_banner.hbs @@ -0,0 +1,4 @@ +{{#> banner .}} + {{> ../stream_settings/stream_subscription_request_result .}} +{{/banner}} + diff --git a/web/templates/stream_settings/stream_members.hbs b/web/templates/stream_settings/stream_members.hbs index 550cc8cda2..4cdab9e8da 100644 --- a/web/templates/stream_settings/stream_members.hbs +++ b/web/templates/stream_settings/stream_members.hbs @@ -5,7 +5,7 @@
-
+ {{> add_subscribers_form .}}
diff --git a/web/templates/stream_settings/stream_subscription_request_result.hbs b/web/templates/stream_settings/stream_subscription_request_result.hbs index 9afd72e209..3d67d5ca00 100644 --- a/web/templates/stream_settings/stream_subscription_request_result.hbs +++ b/web/templates/stream_settings/stream_subscription_request_result.hbs @@ -1,52 +1,40 @@ {{#if error_message}} - + {{error_message}} {{else}} - + {{!-- We want to show ignored deactivated users message even when there are + no new subscribers --}} + {{#if (and (eq subscribed_users_count 0) (eq ignored_deactivated_users_count 0))}} + {{t "All users were already subscribed."}} + {{else}} + {{#if (not is_total_subscriber_more_than_five) }} + {{#if subscribed_users}} + {{t "Subscribed:" }} {{{subscribe_success_messages.subscribed_users_message_html}}}. + {{/if}} + {{#if already_subscribed_users}} + {{t "Already a subscriber:" }} {{{subscribe_success_messages.already_subscribed_users_message_html}}}. + {{/if}} + {{#if ignored_deactivated_users}} + {{t "Ignored deactivated users:" }} {{{subscribe_success_messages.ignored_deactivated_users_message_html}}}. + {{/if}} + {{else}} + {{#if subscribed_users}} + {{t "{subscribed_users_count, plural, + one {Subscribed: {subscribed_users_count} user.} + other {Subscribed: {subscribed_users_count} users.} + }"}} + {{/if}} + {{#if already_subscribed_users}} + {{t "{already_subscribed_users_count, plural, + one {Already subscribed: {already_subscribed_users_count} user.} + other {Already subscribed: {already_subscribed_users_count} users.} + }"}} + {{/if}} + {{#if ignored_deactivated_users}} + {{t "{ignored_deactivated_users_count, plural, + one {Ignored deactivated: {ignored_deactivated_users_count} user.} + other {Ignored deactivated: {ignored_deactivated_users_count} users.} + }"}} + {{/if}} + {{/if}} + {{/if}} {{/if}}