magic_starter 0.0.1-alpha.8 copy "magic_starter: ^0.0.1-alpha.8" to clipboard
magic_starter: ^0.0.1-alpha.8 copied to clipboard

Starter kit for Magic Framework. Auth, Profile, Teams, Notifications — 13 opt-in features with overridable views.

Changelog #

All notable changes to this project will be documented in this file.

[Unreleased] #

0.0.1-alpha.8 - 2026-03-31 #

🐛 Bug Fixes #

  • MagicStarterDialogShell: Fixed mobile overflow — maxHeight now computed from safe area (MediaQuery.viewPaddingOf) instead of raw screen height; added vertical insetPadding (24px) to prevent dialog from extending to screen edges (#13)
  • MagicStarterPasswordConfirmDialog: Same safe area fix — replaced hardcoded maxHeight: 600 with safeHeight * 0.85; added vertical insetPadding
  • MagicStarterTwoFactorModal: Same safe area fix — replaced hardcoded maxHeight: 800 with safeHeight * 0.85; added vertical insetPadding

0.0.1-alpha.7 - 2026-03-29 #

✨ New Features #

  • MagicStarterPasswordConfirmDialog: Added ConfirmDialogVariant support (primary, danger, warning) — confirm button now resolves color from variant via _resolveConfirmClassName(), matching MagicStarterConfirmDialog behavior. Both constructor and show() accept optional variant parameter, defaults to ConfirmDialogVariant.primary for backwards compatibility.

🔧 Improvements #

  • Profile Settings: Standardized dialog variants across all password-confirm call sites — danger for session revocation, warning for 2FA disable and recovery code regeneration, primary for neutral confirmations (enable 2FA, view codes)

0.0.1-alpha.6 - 2026-03-29 #

🐛 Bug Fixes #

  • MagicStarterPasswordConfirmDialog: Footer buttons now right-aligned — added w-full to footer WDiv so justify-end stretches to container width
  • MagicStarterTwoFactorModal: Footer buttons now right-aligned in both setup and recovery steps — same w-full fix applied to both footer locations

🔧 Improvements #

  • MagicStarterTwoFactorModal: Extracted duplicated footer className to shared _footerClassName const — reduces divergence risk

0.0.1-alpha.5 - 2026-03-29 #

Changed #

  • MagicStarterDialogShell: Now exported publicly from the barrel (package:magic_starter/magic_starter.dart) — consumer apps can compose custom dialogs on top of it
  • MagicStarterDialogShell: footer parameter replaced with footerBuilder (Widget Function(BuildContext dialogContext)?) — provides the dialog's own BuildContext so callers can call Navigator.pop(dialogContext) without needing an outer context

Fixed #

  • MagicStarterConfirmDialog and MagicStarterPasswordConfirmDialog: Buttons are now compact and right-aligned (justify-end gap-2 wrap) — previously rendered as full-width (flex-1) buttons that stretched across the footer
  • MagicStarterDialogShell: Body no longer creates a gap between scrollable content and the footer when content is shorter than the available height — switched from SingleChildScrollView to ListView(shrinkWrap: true)

0.0.1-alpha.4 - 2026-03-29 #

✨ New Features #

  • MagicStarterModalTheme: Added configurable modal theme system via MagicStarter.useModalTheme() with 13 Wind UI className token fields (containerClassName, headerClassName, bodyClassName, footerClassName, titleClassName, descriptionClassName, primaryButtonClassName, secondaryButtonClassName, dangerButtonClassName, warningButtonClassName, errorClassName, inputClassName, maxWidth). All fields optional — zero breaking changes.
  • MagicStarterConfirmDialog: Generic confirmation dialog with ConfirmDialogVariant enum (primary, danger, warning). Static show() factory supports async onConfirm callback, custom labels, and description. Exported from barrel.
  • Modal View Registry: Extended MagicStarterViewRegistry with registerModal(key, builder), hasModal(key), and makeModal(key). Three default modals auto-registered: modal.confirm, modal.password_confirm, modal.two_factor.
  • MagicStarterDialogShell: Internal composition widget with sticky header/footer and scrollable body. Uses Material Dialog shell + Wind UI content. Not exported — internal use only.

🔧 Improvements #

  • PasswordConfirmDialog: Now reads theme tokens from MagicStarter.manager.modalTheme instead of hardcoded classNames
  • TwoFactorModal: Now reads theme tokens from MagicStarter.manager.modalTheme instead of hardcoded classNames
  • Team Settings: Replaced Material AlertDialog with MagicStarterConfirmDialog.show() using ConfirmDialogVariant.danger

0.0.1-alpha.3 - 2026-03-26 #

✨ New Features #

  • MagicStarterCard: Added CardVariant enum (surface, inset, elevated) and a variant parameter so consumer apps can choose the card's visual style. Default is CardVariant.surface, which reproduces the original flat-border appearance and is fully backward-compatible.
  • MagicStarterPageHeader: Existing actions (List
  • Configurable navigation theme: Added MagicStarterNavigationTheme class and MagicStarter.useNavigationTheme() to allow consumer apps to override navigation colors and styles without breaking changes.
    • activeItemClassName — sidebar/drawer active item tokens (default: active:text-primary active:bg-primary/10 dark:active:bg-primary/10)
    • hoverItemClassName — sidebar/drawer hover tokens (default: hover:bg-gray-100 dark:hover:bg-gray-800)
    • brandClassName — brand/logo text className including gradient support (default: text-lg font-bold text-primary)
    • brandBuilder — custom brand widget builder (image/SVG/styled text); overrides brandClassName when set
    • bottomNavActiveClassName — bottom nav active icon/label tokens (default: active:text-primary)
    • avatarClassName — sidebar user menu avatar background (default: bg-primary/10 dark:bg-primary/10)
    • avatarTextClassName — sidebar user menu avatar initial color (default: text-sm font-bold text-primary)
    • dropdownAvatarClassName — profile dropdown trigger avatar background (default: bg-gradient-to-tr from-primary to-gray-200)
    • All fields optional — zero breaking changes, existing apps continue to work unchanged

0.0.1-alpha.2 - 2026-03-25 #

🐛 Bug Fixes #

  • Install Command: Use version dependency (^0.0.1-alpha.1) for magic_notifications instead of hardcoded relative path that only works in monorepo development environment

0.0.1-alpha.1 - 2026-03-25 #

✨ Core Features #

  • Authentication: Login, register, forgot/reset password with email and phone identity modes
  • Guest Auth: OTP-based phone login with send and verify flow
  • Two-Factor Authentication: Enable/disable 2FA with QR code setup, OTP confirmation, and recovery codes
  • Social Login: OAuth integration with configurable providers
  • Profile Management: Photo upload, email/password change, email verification, session management, timezone selection
  • Extended Profile: Additional profile fields with locale and timezone defaults
  • Teams: Create teams, switch active team, invite members, manage roles
  • Notifications: Real-time polling, mark read/unread, notification preference matrix
  • Newsletter: Simple subscribe/unsubscribe controller
  • 13 Feature Toggles: All opt-in — teams, profile_photos, registration, two_factor, sessions, guest_auth, phone_otp, newsletter, email_verification, extended_profile, social_login, notifications, timezones
  • 9 Gate Abilities: Authorization checks for profile sections (photo, email, phone, password, verify-email, two-factor, newsletter, sessions, delete-account)
  • View Registry: String-keyed view factory — host app can override any screen or layout
  • Wind UI: Tailwind-like className system — no Material widgets in layouts
  • CLI Tools: install, configure, doctor, publish, uninstall commands with stub templates
  • 2 Layouts: AppLayout (authenticated) and GuestLayout (auth pages)
  • 12 Views: 6 auth, 1 profile, 3 teams, 2 notifications
  • 10 Widgets: Reusable Wind UI components (auth form card, card, password confirm dialog, team selector, notification dropdown, two-factor modal, timezone select, user profile dropdown, social divider, page header)

🐛 Bug Fixes #

  • Timezone: Fix API field name and add comprehensive null safety checks
  • Auth: Correct register endpoint from /auth/login to /auth/register
  • UI: Remove flex Row from password confirm dialog buttons to prevent overflow

🔧 Improvements #

  • Auth Events: Add auth restored listener for app reload on team switch
  • Validation: Add input validation and network error handling to auth controllers
  • Config: Add HTTP timeout and retry configuration
  • i18n: Add notification and network error translation keys to en.stub

📚 Documentation #

  • README: Full pub.dev-ready README with badges, features table, quick start guide
  • doc/ folder: Comprehensive documentation (installation, configuration, authentication, profile, teams, notifications, views, CLI, architecture)
  • CLAUDE.md: Rewrite to match Magic ecosystem format
  • Publishing: Package metadata, CI/CD workflows, issue templates, LICENSE
0
likes
150
points
222
downloads

Documentation

Documentation
API reference

Publisher

verified publisherfluttersdk.com

Weekly Downloads

Starter kit for Magic Framework. Auth, Profile, Teams, Notifications — 13 opt-in features with overridable views.

Homepage
Repository (GitHub)
View/report issues

Topics

#authentication #starter-kit #magic #flutter #admin-panel

License

MIT (license)

Dependencies

args, flutter, magic, magic_cli, magic_notifications

More

Packages that depend on magic_starter