From d91f977ff41579743df346b115e4e64e6314a2de Mon Sep 17 00:00:00 2001 From: Jeremy Stucki Date: Thu, 8 Jan 2026 17:07:03 +0100 Subject: [PATCH 1/2] handle mailchimp subscription status in user settings --- .../mutations/NewslettersResubscribe.gql | 6 ++ .../newsletters/newsletters-card.tsx | 19 ++++- .../newsletters/newsletters-overview.tsx | 16 ++++- .../newsletters/newsletters-section.tsx | 13 +++- .../newsletters/newsletters-status.tsx | 71 +++++++++++++++++++ 5 files changed, 116 insertions(+), 9 deletions(-) create mode 100644 apps/www/graphql/republik-api/mutations/NewslettersResubscribe.gql create mode 100644 apps/www/src/components/newsletters/newsletters-status.tsx diff --git a/apps/www/graphql/republik-api/mutations/NewslettersResubscribe.gql b/apps/www/graphql/republik-api/mutations/NewslettersResubscribe.gql new file mode 100644 index 0000000000..26cf444147 --- /dev/null +++ b/apps/www/graphql/republik-api/mutations/NewslettersResubscribe.gql @@ -0,0 +1,6 @@ +mutation NewslettersResubscribe($userId: ID!) { + resubscribeEmail(userId: $userId) { + id + status + } +} diff --git a/apps/www/src/components/newsletters/newsletters-card.tsx b/apps/www/src/components/newsletters/newsletters-card.tsx index 0b068d4f10..9618f11f0a 100644 --- a/apps/www/src/components/newsletters/newsletters-card.tsx +++ b/apps/www/src/components/newsletters/newsletters-card.tsx @@ -19,10 +19,12 @@ function MobileButton({ toggleSubscription, isPending, subscribed, + disabled, }: { toggleSubscription: (e: any) => Promise isPending: boolean subscribed: boolean + disabled?: boolean }) { return ( + + ) : status === 'pending' ? ( + <> +

{t('account/newsletterSubscriptions/resubscribeEmailPending')}

+ + + + ) : null} + + ) +} From 4f3be313e8f279ea66aa19b124305ce6bfea42ea Mon Sep 17 00:00:00 2001 From: Jeremy Stucki Date: Thu, 8 Jan 2026 17:19:02 +0100 Subject: [PATCH 2/2] don't show pointer cursor on disabled newsletter card --- apps/www/src/components/newsletters/newsletters-card.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/www/src/components/newsletters/newsletters-card.tsx b/apps/www/src/components/newsletters/newsletters-card.tsx index 9618f11f0a..7879a9f75d 100644 --- a/apps/www/src/components/newsletters/newsletters-card.tsx +++ b/apps/www/src/components/newsletters/newsletters-card.tsx @@ -160,9 +160,13 @@ function NewsletterCard({ md: { flexDirection: 'column', }, + _disabled: { + cursor: 'default', + }, })} onClick={toggleSubscription} aria-disabled={disabled} + data-disabled={disabled} role='button' >