user_membership: Use banner template to render messages.

We now resort to using banner template instead
of trying to maintain our own banners
in the stream subscription and user group
membership templates.

Fixes: https://chat.zulip.org/#narrow/channel/9-issues/topic/.F0.9F.8E.AF.20User.20add.20success.20banner.20squashed/near/2229035.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
This commit is contained in:
apoorvapendse
2025-07-25 20:29:44 +05:30
committed by Tim Abbott
parent c6a64b3c1d
commit 33e728e586
4 changed files with 71 additions and 73 deletions

View File

@@ -3,10 +3,10 @@ import $ from "jquery";
import assert from "minimalistic-assert";
import * as z from "zod/mini";
import render_membership_banner from "../templates/components/membership_banner.hbs";
import render_leave_user_group_modal from "../templates/confirm_dialog/confirm_unsubscribe_private_stream.hbs";
import render_user_group_member_list_entry from "../templates/stream_settings/stream_member_list_entry.hbs";
import render_user_group_members_table from "../templates/user_group_settings/user_group_members_table.hbs";
import render_user_group_membership_request_result from "../templates/user_group_settings/user_group_membership_request_result.hbs";
import render_user_group_subgroup_entry from "../templates/user_group_settings/user_group_subgroup_entry.hbs";
import * as add_group_members_pill from "./add_group_members_pill.ts";
@@ -242,10 +242,13 @@ function show_user_group_membership_request_error_result(error_message: string):
const $user_group_subscription_req_result_elem = $(
".user_group_subscription_request_result",
).expectOne();
const html = render_user_group_membership_request_result({
const rendered_error_message = render_membership_banner({
intent: "danger",
error_message,
});
scroll_util.get_content_element($user_group_subscription_req_result_elem).html(html);
scroll_util
.get_content_element($user_group_subscription_req_result_elem)
.html(rendered_error_message);
}
function show_user_group_membership_request_success_result({
@@ -298,7 +301,8 @@ function show_user_group_membership_request_success_result({
const $user_group_subscription_req_result_elem = $(
".user_group_subscription_request_result",
).expectOne();
const html = render_user_group_membership_request_result({
const rendered_success_banner = render_membership_banner({
intent: "success",
addition_success_messages,
newly_added_member_count,
already_added_member_count,
@@ -311,7 +315,9 @@ function show_user_group_membership_request_success_result({
ignored_deactivated_users_count,
ignored_deactivated_member_count,
});
scroll_util.get_content_element($user_group_subscription_req_result_elem).html(html);
scroll_util
.get_content_element($user_group_subscription_req_result_elem)
.html(rendered_success_banner);
}
export function edit_user_group_membership({

View File

@@ -0,0 +1,4 @@
{{#> banner .}}
{{> ../user_group_settings/user_group_membership_request_result .}}
{{/banner}}

View File

@@ -5,7 +5,7 @@
<h4 class="user_group_setting_subsection_title">
{{t "Add members" }}
</h4>
<div class="user_group_subscription_request_result"></div>
<div class="user_group_subscription_request_result banner-wrapper"></div>
<div class="member_list_settings">
<div class="member_list_add float-left">
{{> add_members_form .}}

View File

@@ -1,71 +1,59 @@
{{#if error_message}}
<div class="banner-wrapper">
<div class="banner banner-danger">
<span class="banner-label">
{{error_message}}
</span>
</div>
</div>
{{error_message}}
{{else}}
<div class="banner-wrapper">
<div class="banner banner-success">
<span class="banner-label">
{{#if (and (eq newly_added_member_count 0) (eq ignored_deactivated_member_count 0))}}
{{#if (and already_added_user_count already_added_subgroups_count)}}
{{t "All users and groups were already members."}}
{{else if already_added_user_count}}
{{t "All users were already members."}}
{{else}}
{{t "All groups were already members."}}
{{/if}}
{{else}}
{{#if (not total_member_count_exceeds_five)}}
{{#if addition_success_messages.newly_added_members_message_html}}
{{t "Added:" }} {{{addition_success_messages.newly_added_members_message_html}}}.&nbsp;
{{/if}}
{{#if addition_success_messages.already_added_members_message_html}}
{{t "Already a member:"}} {{{addition_success_messages.already_added_members_message_html}}}.
{{/if}}
{{#if addition_success_messages.ignored_deactivated_users_message_html}}
{{t "Ignored deactivated users:"}} {{{addition_success_messages.ignored_deactivated_users_message_html}}}.
{{/if}}
{{#if addition_success_messages.ignored_deactivated_groups_message_html}}
{{t "Ignored deactivated groups:"}} {{{addition_success_messages.ignored_deactivated_groups_message_html}}}.
{{/if}}
{{else}}
{{#if newly_added_member_count}}
{{t "Added:"}}
{{#if (and newly_added_user_count newly_added_subgroups_count)}}
{{t "{newly_added_user_count, plural, one {# user} other {# users}} and {newly_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{else if newly_added_user_count}}
{{t "{newly_added_user_count, plural, one {# user.} other {# users.}}"}}
{{else if newly_added_subgroups_count}}
{{t "{newly_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
{{/if}}
{{#if already_added_member_count}}
{{t "Already a member:"}}
{{#if (and already_added_user_count already_added_subgroups_count)}}
{{t "{already_added_user_count, plural, one {# user} other {# users}} and {already_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{else if already_added_user_count}}
{{t "{already_added_user_count, plural, one {# user.} other {# users.}}"}}
{{else if already_added_subgroups_count}}
{{t "{already_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
{{/if}}
{{#if ignored_deactivated_member_count}}
{{t "Ignored deactivated:"}}
{{#if (and ignored_deactivated_users_count ignored_deactivated_groups_count)}}
{{t "{ignored_deactivated_users_count, plural, one {# user} other {# users}} and {ignored_deactivated_groups_count, plural, one {# group.} other {# groups.}}"}}
{{else if ignored_deactivated_users_count}}
{{t "{ignored_deactivated_users_count, plural, one {# user.} other {# users.}}"}}
{{else if ignored_deactivated_groups_count}}
{{t "{ignored_deactivated_groups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
{{/if}}
{{/if}}
{{#if (and (eq newly_added_member_count 0) (eq ignored_deactivated_member_count 0))}}
{{#if (and already_added_user_count already_added_subgroups_count)}}
{{t "All users and groups were already members."}}
{{else if already_added_user_count}}
{{t "All users were already members."}}
{{else}}
{{t "All groups were already members."}}
{{/if}}
{{else}}
{{#if (not total_member_count_exceeds_five)}}
{{#if addition_success_messages.newly_added_members_message_html}}
{{t "Added:" }} {{{addition_success_messages.newly_added_members_message_html}}}.&nbsp;
{{/if}}
{{#if addition_success_messages.already_added_members_message_html}}
{{t "Already a member:"}} {{{addition_success_messages.already_added_members_message_html}}}.
{{/if}}
{{#if addition_success_messages.ignored_deactivated_users_message_html}}
{{t "Ignored deactivated users:"}} {{{addition_success_messages.ignored_deactivated_users_message_html}}}.
{{/if}}
{{#if addition_success_messages.ignored_deactivated_groups_message_html}}
{{t "Ignored deactivated groups:"}} {{{addition_success_messages.ignored_deactivated_groups_message_html}}}.
{{/if}}
{{else}}
{{#if newly_added_member_count}}
{{t "Added:"}}
{{#if (and newly_added_user_count newly_added_subgroups_count)}}
{{t "{newly_added_user_count, plural, one {# user} other {# users}} and {newly_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{else if newly_added_user_count}}
{{t "{newly_added_user_count, plural, one {# user.} other {# users.}}"}}
{{else if newly_added_subgroups_count}}
{{t "{newly_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
</span>
</div>
</div>
{{/if}}
{{#if already_added_member_count}}
{{t "Already a member:"}}
{{#if (and already_added_user_count already_added_subgroups_count)}}
{{t "{already_added_user_count, plural, one {# user} other {# users}} and {already_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{else if already_added_user_count}}
{{t "{already_added_user_count, plural, one {# user.} other {# users.}}"}}
{{else if already_added_subgroups_count}}
{{t "{already_added_subgroups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
{{/if}}
{{#if ignored_deactivated_member_count}}
{{t "Ignored deactivated:"}}
{{#if (and ignored_deactivated_users_count ignored_deactivated_groups_count)}}
{{t "{ignored_deactivated_users_count, plural, one {# user} other {# users}} and {ignored_deactivated_groups_count, plural, one {# group.} other {# groups.}}"}}
{{else if ignored_deactivated_users_count}}
{{t "{ignored_deactivated_users_count, plural, one {# user.} other {# users.}}"}}
{{else if ignored_deactivated_groups_count}}
{{t "{ignored_deactivated_groups_count, plural, one {# group.} other {# groups.}}"}}
{{/if}}
{{/if}}
{{/if}}
{{/if}}
{{/if}}