feat:增加common框架

This commit is contained in:
2025-11-23 20:17:10 +08:00
parent 8795279d8a
commit 607b27d54f
26 changed files with 208 additions and 1116 deletions

View File

@@ -1,6 +1,6 @@
import 'package:flisp_app/provider/app_provider.dart';
import 'package:flisp_app/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_common/flutter_common.dart';
import 'package:provider/provider.dart';
class AppDrawer extends StatefulWidget {
@@ -43,40 +43,7 @@ class AppDrawerState extends State<AppDrawer> {
),
);
}
Widget _buildDarkModeSection(AppProvider appProvider) {
return ListTile(
leading: Icon(
appProvider.isDarkMode ? Icons.dark_mode : Icons.light_mode,
color: Theme.of(context).colorScheme.primary,
),
title: const Text('暗黑模式'),
trailing: Switch(
value: appProvider.isDarkMode,
onChanged: (value) {
appProvider.toggleDarkMode(value);
},
),
onTap: () {
appProvider.toggleDarkMode(!appProvider.isDarkMode);
},
);
}
Widget _buildThemeSection(AppProvider appProvider) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 8),
child: Text('主题颜色', style: Theme.of(context).textTheme.titleMedium),
),
_buildDarkModeSection(appProvider),
buildThemeColorList(context, appProvider),
],
);
}
// 构建抽屉菜单项
Widget _buildDrawerItem({
required IconData icon,
@@ -123,7 +90,7 @@ class AppDrawerState extends State<AppDrawer> {
padding: EdgeInsets.zero,
children: [
_buildDrawerHeader(),
_buildThemeSection(appProvider),
ThemeLayout(),
const Divider(),
_buildDrawerItem(
icon: Icons.help,

View File

@@ -7,9 +7,9 @@ import 'package:flisp_app/models/todo.dart';
import 'package:flisp_app/provider/app_provider.dart';
import 'package:flisp_app/service/calendar_service.dart';
import 'package:flisp_app/service/todo_service.dart';
import 'package:flisp_app/utils/date_utils.dart';
import 'package:flisp_app/utils/notify_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_common/utils/date_utils.dart';
import 'package:provider/provider.dart';
class MainScreen extends StatefulWidget {