Skip to content

Commit f1cbecb

Browse files
markgohoclaude
andcommitted
feat: show refunded status and hide newsletter toggle for refunded members
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 43ea4b2 commit f1cbecb

3 files changed

Lines changed: 12 additions & 1 deletion

File tree

members/src/app/membership/membership.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ <h1 class="welcome-greeting">Welcome back, {{ userDisplayName() }}!</h1>
119119
@if (userDocument(); as userDoc) {
120120
@if (userDoc.membershipActive) {
121121
<span class="membership-badge">Active Member</span>
122+
} @else if (isRefunded()) {
123+
<span class="membership-badge membership-badge--refunded">Membership Refunded</span>
122124
}
123125
}
124126
</div>
@@ -153,7 +155,7 @@ <h2 id="account-heading" class="section-heading">Your Account Details</h2>
153155
</section>
154156

155157
<!-- Newsletter Preferences Card -->
156-
@if (!hasClaimableProfile()) {
158+
@if (!hasClaimableProfile() && !isRefunded()) {
157159
<section class="membership-card card-2" aria-labelledby="newsletter-heading">
158160
<h2 id="newsletter-heading" class="section-heading">Newsletter Preferences</h2>
159161
<div class="newsletter-content">

members/src/app/membership/membership.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454
padding: var(--space-3xs) var(--space-s);
5555
border-radius: 999px;
5656
margin-block-start: var(--space-2xs);
57+
58+
&--refunded {
59+
background: var(--brown-400);
60+
}
5761
}
5862

5963
// --- Card Grid ---

members/src/app/membership/membership.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ export class Membership {
107107
return userDocument?.newsletterSubscribed ?? false;
108108
});
109109

110+
protected isRefunded = computed(() => {
111+
const userDocument = this.userDocument();
112+
return userDocument?.subscriptionStatus === 'refunded';
113+
});
114+
110115
// Hide newsletter preferences when there's a claimable profile (will be updated on claim)
111116
protected hasClaimableProfile = computed(() => {
112117
return this.claimableProfileResource.hasValue() && !!this.claimableProfileResource.value();

0 commit comments

Comments
 (0)