refactor: 优化日历状态管理与首页输入框,添加API客户端抽象

This commit is contained in:
qzl
2026-02-27 18:36:21 +08:00
parent 80d04688fc
commit 3d6ae7695f
20 changed files with 2146 additions and 801 deletions
+14 -2
View File
@@ -14,6 +14,7 @@ import '../../features/contacts/ui/screens/add_contact_screen.dart';
import '../../features/calendar/ui/screens/calendar_dayweek_screen.dart';
import '../../features/calendar/ui/screens/calendar_month_screen.dart';
import '../../features/calendar/ui/screens/calendar_event_detail_screen.dart';
import '../../features/calendar/ui/calendar_time_utils.dart';
import '../../features/todo/ui/screens/todo_quadrants_screen.dart';
import '../../features/todo/ui/screens/todo_detail_screen.dart';
import '../../features/settings/ui/screens/settings_screen.dart';
@@ -44,6 +45,7 @@ GoRouter createAppRouter(AuthBloc authBloc) {
final authState = authBloc.state;
final isAuthenticated = authState is AuthAuthenticated;
final isAuthRoute =
state.matchedLocation == '/' ||
state.matchedLocation.startsWith('/login') ||
state.matchedLocation.startsWith('/register');
final isProtected = _protectedRoutes.any(
@@ -91,11 +93,21 @@ GoRouter createAppRouter(AuthBloc authBloc) {
),
GoRoute(
path: '/calendar/dayweek',
builder: (context, state) => const CalendarDayWeekScreen(),
builder: (context, state) {
final fromHome = state.uri.queryParameters['from'] == 'home';
final initialDate = parseYmd(state.uri.queryParameters['date']);
return CalendarDayWeekScreen(
initialDate: initialDate,
resetToToday: fromHome,
);
},
),
GoRoute(
path: '/calendar/month',
builder: (context, state) => const CalendarMonthScreen(),
builder: (context, state) {
final fromHome = state.uri.queryParameters['from'] == 'home';
return CalendarMonthScreen(resetToToday: fromHome);
},
),
GoRoute(
path: '/calendar/events/:id',