Skip to content

feat(flutter): report library import results as toasts - #111

Open
darwin67 wants to merge 1 commit into
feat/flutter-shadcn-notice-infrafrom
feat/flutter-shadcn-import-toasts
Open

darwin67 wants to merge 1 commit into
feat/flutter-shadcn-notice-infrafrom
feat/flutter-shadcn-import-toasts

Conversation

@darwin67

Copy link
Copy Markdown
Member

Summary

Layer 3 of the Shadcn stack (base: the notice infrastructure). Moves transient import results off the persistent error banner and onto Sonner toasts.

  • _import now raises a Notice for every outcome:
    • clean success → success toast (Imported N books.)
    • partial / warning / cancelled → destructive toast (the existing summary text)
    • hard failure → destructive toast
  • Import no longer sets error, so LibraryFailure.import is no longer needed for the retry banner; _libraryController tests now assert model.notice and its kind.
  • Persistent conditions (provider cleanup, managed-deletion debt, load failures) intentionally remain banners — see the stack notes.

Testing

  • Updated the import-state-machine tests to assert notices.
  • make test-flutter (284), make lint-flutter, make check-fmt-flutter.

Stack

  1. brand theme + reader theme consolidation (feat(flutter): apply the Shosai brand accent and unify reader theming on Shadcn #109)
  2. notice/Sonner infrastructure (feat(flutter): present controller notices as Sonner toasts #110)
  3. this PR — import results → toasts
  4. managed-deletion / retry-bearing conditions (toast vs. persistent surface)
  5. reader transient errors → toasts
  6. ShadSheet/ShadTabs responsive surfaces
  7. ShadContextMenu/ShadBadge/ShadSeparator
  8. reader/dialog goldens + boundary docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant