feat(ui): add animated screen transitions and guest onboarding

Improve app UX by adding animated transitions for screen switches
and introducing a persisted guest onboarding flow.

- Add AnimatedSwitcher-based fade+slide transitions for screens and
  tab switches for smoother navigation.
- Persist a 'user_mode' SharedPreferences key and provide guest
  helpers to mark users as guest and influence routing.
- Update SignInScreen continue-as-guest action to set onboarding and
  guest flags and navigate to MainScreen.
- Normalize locales in LocaleProvider to language-only values and
  persist normalized language codes to ensure compatibility with
  Flutter localization delegates.
- Replace Row with Wrap in ReportCard to improve spacing and
  responsiveness.

No breaking changes
This commit is contained in:
2025-09-26 13:57:11 +08:00
parent ee9a9200b6
commit 6d6e9300f6
3 changed files with 120 additions and 36 deletions

View File

@@ -102,13 +102,17 @@ class ReportCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(height: 6),
Row(
Wrap(
spacing: 8,
runSpacing: 4,
crossAxisAlignment: WrapCrossAlignment.center,
children: [
SeverityBadge(severity: report.severity, small: true),
const SizedBox(width: 8),
StatusBadge(status: report.status),
const SizedBox(width: 8),
Text(_formatTime(report.createdAt), style: TextStyle(fontSize: 12, color: Colors.grey.shade600)),
Text(
_formatTime(report.createdAt),
style: TextStyle(fontSize: 12, color: Colors.grey.shade600),
),
],
),
],