Skip to content

fix(settings): use Kumo toasts for save feedback#1823

Merged
ascorbic merged 2 commits into
mainfrom
pr/settings-toast-feedback
Jul 6, 2026
Merged

fix(settings): use Kumo toasts for save feedback#1823
ascorbic merged 2 commits into
mainfrom
pr/settings-toast-feedback

Conversation

@khoinguyenpham04

@khoinguyenpham04 khoinguyenpham04 commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Replaces inline admin settings success/error banners with Kumo toasts across the settings pages. This keeps feedback consistent with the admin design system and removes bespoke raw-color/dark-mode banner styling.

Closes: N/A

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes (verified with pnpm --filter @emdash-cms/admin typecheck)
  • pnpm lint passes (verified with pnpm --silent lint:json | jq '.diagnostics | length' -> 0)
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs -- a workflow extracts catalogs on merge to main.
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: N/A, no new feature.

AI-generated code disclosure

  • This PR includes AI-generated code -- model/tool: OpenCode with GPT-5.5

Screenshots / test output

image
  • pnpm --silent lint:json | jq '.diagnostics | length' -> 0
  • pnpm --filter @emdash-cms/admin typecheck -> passed
  • pnpm --filter @emdash-cms/admin test -- tests/components/settings/AllowedDomainsSettings.test.tsx -> 83 test files passed, 1028 tests passed

Try this PR

Open a fresh playground →

A full working EmDash site, deployed from this branch. Each visit gets its own session-scoped sandbox: no login needed and no shared state. Try the admin, edit content, hit the public site.

Tracks pr/settings-toast-feedback. Updated automatically when the playground redeploys.

Copilot AI review requested due to automatic review settings July 4, 2026 22:23
@changeset-bot

changeset-bot Bot commented Jul 4, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: cf32e27

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
Name Type
@emdash-cms/admin Patch
emdash Patch
@emdash-cms/cloudflare Patch
@emdash-cms/sandbox-workerd Patch
@emdash-cms/fixture-perf-site Patch
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch
@emdash-cms/auth Patch
@emdash-cms/blocks Patch
@emdash-cms/gutenberg-to-portable-text Patch
@emdash-cms/x402 Patch
create-emdash Patch
@emdash-cms/auth-atproto Patch
@emdash-cms/plugin-embeds Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 4, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@1823

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@1823

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@1823

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@1823

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@1823

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@1823

emdash

npm i https://pkg.pr.new/emdash@1823

create-emdash

npm i https://pkg.pr.new/create-emdash@1823

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@1823

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@1823

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@1823

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@1823

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@1823

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@1823

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@1823

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@1823

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@1823

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@1823

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@1823

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@1823

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@1823

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@1823

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@1823

commit: cf32e27

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-demo-cache cf32e27 Jul 04 2026, 11:13 PM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-demo-do cf32e27 Jul 04 2026, 11:13 PM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-playground cf32e27 Jul 04 2026, 11:12 PM

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is a focused, well-scoped bug fix: it replaces bespoke inline save-feedback banners on the admin settings pages with Kumo toasts, which aligns with the design system and removes raw-color / dark: banner styling. The approach is sound and fits EmDash's architecture — Toasty is already mounted at the app root in App.tsx, so useKumoToastManager() will have a provider at runtime.

I checked:

  • All changed settings components (AllowedDomainsSettings, EmailSettings, GeneralSettings, SecuritySettings, SeoSettings, SocialSettings)
  • Icon imports: removed CheckCircle/WarningCircle only where they became unused; remaining icons (WarningCircle in EmailSettings/GeneralSettings/SeoSettings, CheckCircle in EmailSettings pipeline status) are still referenced
  • The Toasty provider in App.tsx and the new Toasty wrapper in the one affected test file
  • The added test assertions for success and error toast text
  • The changeset (@emdash-cms/admin: patch)
  • Lingui wrapping: all user-visible toast strings are wrapped with t\...``
  • No remaining saveStatus/setSaveStatus references in the settings components

The timeouts mirror the previous auto-dismiss behavior (3s / 5s), success/error handling preserves the existing user-facing messages, and the diff is clean. No blockers or bugs found.

@github-actions github-actions Bot added review/approved Approved; no new commits since and removed review/needs-review No maintainer or bot review yet labels Jul 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the admin settings UI to use Kumo toast notifications for save/mutation feedback instead of inline success/error banners, aligning settings pages with the admin design system and removing bespoke banner styling.

Changes:

  • Replaced per-page “save status” banners with Kumo toast notifications across settings pages.
  • Updated AllowedDomainsSettings tests to mount a toast provider and assert success/error toast messages.
  • Added a changeset to ship the settings feedback UX update as an @emdash-cms/admin patch.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
packages/admin/src/components/settings/GeneralSettings.tsx Switches save success/error feedback from inline banner state to toast notifications.
packages/admin/src/components/settings/SeoSettings.tsx Replaces SEO settings save banner with toast-based feedback.
packages/admin/src/components/settings/SocialSettings.tsx Replaces social links save banner with toast-based feedback.
packages/admin/src/components/settings/SecuritySettings.tsx Replaces passkey mutation banners with toast notifications for add/rename/delete flows.
packages/admin/src/components/settings/AllowedDomainsSettings.tsx Replaces allowed-domain mutation banners with toast notifications for add/update/delete flows.
packages/admin/src/components/settings/EmailSettings.tsx Replaces test-email status banner with toast-based success/error feedback.
packages/admin/tests/components/settings/AllowedDomainsSettings.test.tsx Wraps render with Toasty and adds assertions for toast messages on success/failure.
.changeset/settings-notice-styling.md Publishes the UX change as a patch changeset for @emdash-cms/admin.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/admin/src/components/settings/SocialSettings.tsx
Comment thread packages/admin/src/components/settings/SeoSettings.tsx
Comment thread packages/admin/src/components/settings/GeneralSettings.tsx
Comment thread packages/admin/src/components/settings/AllowedDomainsSettings.tsx
Comment thread packages/admin/src/components/settings/AllowedDomainsSettings.tsx
Comment thread packages/admin/src/components/settings/AllowedDomainsSettings.tsx
Comment thread packages/admin/src/components/settings/SecuritySettings.tsx
Comment thread packages/admin/src/components/settings/SecuritySettings.tsx
Comment thread packages/admin/src/components/settings/SecuritySettings.tsx
Comment thread packages/admin/src/components/settings/EmailSettings.tsx
@github-actions github-actions Bot added review/needs-rereview Author pushed changes since the last review and removed review/approved Approved; no new commits since labels Jul 4, 2026
@khoinguyenpham04 khoinguyenpham04 requested a review from ascorbic July 6, 2026 09:47
@github-actions github-actions Bot added review/approved Approved; no new commits since and removed review/needs-rereview Author pushed changes since the last review labels Jul 6, 2026
@ascorbic ascorbic merged commit fd8ff27 into main Jul 6, 2026
48 of 49 checks passed
@ascorbic ascorbic deleted the pr/settings-toast-feedback branch July 6, 2026 10:38
@emdashbot emdashbot Bot mentioned this pull request Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin review/approved Approved; no new commits since size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants