magic_starter 0.0.1-alpha.8
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 —
maxHeightnow computed from safe area (MediaQuery.viewPaddingOf) instead of raw screen height; added verticalinsetPadding(24px) to prevent dialog from extending to screen edges (#13) - MagicStarterPasswordConfirmDialog: Same safe area fix — replaced hardcoded
maxHeight: 600withsafeHeight * 0.85; added verticalinsetPadding - MagicStarterTwoFactorModal: Same safe area fix — replaced hardcoded
maxHeight: 800withsafeHeight * 0.85; added verticalinsetPadding
0.0.1-alpha.7 - 2026-03-29 #
✨ New Features #
- MagicStarterPasswordConfirmDialog: Added
ConfirmDialogVariantsupport (primary,danger,warning) — confirm button now resolves color from variant via_resolveConfirmClassName(), matchingMagicStarterConfirmDialogbehavior. Both constructor andshow()accept optionalvariantparameter, defaults toConfirmDialogVariant.primaryfor backwards compatibility.
🔧 Improvements #
- Profile Settings: Standardized dialog variants across all password-confirm call sites —
dangerfor session revocation,warningfor 2FA disable and recovery code regeneration,primaryfor neutral confirmations (enable 2FA, view codes)
0.0.1-alpha.6 - 2026-03-29 #
🐛 Bug Fixes #
- MagicStarterPasswordConfirmDialog: Footer buttons now right-aligned — added
w-fullto footer WDiv sojustify-endstretches to container width - MagicStarterTwoFactorModal: Footer buttons now right-aligned in both setup and recovery steps — same
w-fullfix applied to both footer locations
🔧 Improvements #
- MagicStarterTwoFactorModal: Extracted duplicated footer className to shared
_footerClassNameconst — 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:
footerparameter replaced withfooterBuilder(Widget Function(BuildContext dialogContext)?) — provides the dialog's ownBuildContextso callers can callNavigator.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
SingleChildScrollViewtoListView(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
ConfirmDialogVariantenum (primary,danger,warning). Staticshow()factory supports asynconConfirmcallback, custom labels, and description. Exported from barrel. - Modal View Registry: Extended
MagicStarterViewRegistrywithregisterModal(key, builder),hasModal(key), andmakeModal(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.modalThemeinstead of hardcoded classNames - TwoFactorModal: Now reads theme tokens from
MagicStarter.manager.modalThemeinstead of hardcoded classNames - Team Settings: Replaced Material
AlertDialogwithMagicStarterConfirmDialog.show()usingConfirmDialogVariant.danger
0.0.1-alpha.3 - 2026-03-26 #
✨ New Features #
- MagicStarterCard: Added
CardVariantenum (surface,inset,elevated) and avariantparameter so consumer apps can choose the card's visual style. Default isCardVariant.surface, which reproduces the original flat-border appearance and is fully backward-compatible. - MagicStarterPageHeader: Existing
actions(List - Configurable navigation theme: Added
MagicStarterNavigationThemeclass andMagicStarter.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); overridesbrandClassNamewhen setbottomNavActiveClassName— 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) formagic_notificationsinstead 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/loginto/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