feat:更新主题颜色布局
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:hive_flutter/adapters.dart';
|
||||
import 'package:task_hub/models/task.dart';
|
||||
@@ -56,32 +58,37 @@ class _MainLayoutState extends State<MainLayout> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final iconColor = FluentTheme.of(context).accentColor;
|
||||
final paneColor = FluentTheme.of(context).accentColor.lightest;
|
||||
|
||||
return NavigationView(
|
||||
titleBar: TitleBar(title: const Text('拾光记')),
|
||||
titleBar: TitleBar(
|
||||
title: const Text('拾光记', style: TextStyle(fontSize: 18)),
|
||||
),
|
||||
pane: NavigationPane(
|
||||
selected: _currentIndex,
|
||||
onChanged: (index) => setState(() => _currentIndex = index),
|
||||
size: NavigationPaneSize(openWidth: 150),
|
||||
items: [
|
||||
PaneItem(
|
||||
icon: const Icon(FluentIcons.home),
|
||||
title: const Text('首页'),
|
||||
body: Container(color: Colors.white, child: const HomePage()),
|
||||
icon: Icon(FluentIcons.home, color: iconColor),
|
||||
title: const Text('首页', style: TextStyle(fontSize: 16)),
|
||||
body: Container(color: paneColor, child: const HomePage()),
|
||||
),
|
||||
PaneItem(
|
||||
icon: const Icon(FluentIcons.check_list),
|
||||
title: const Text('待办'),
|
||||
body: Container(color: Colors.white, child: const TaskPage()),
|
||||
icon: Icon(FluentIcons.check_list, color: iconColor),
|
||||
title: const Text('待办', style: TextStyle(fontSize: 16)),
|
||||
body: Container(color: paneColor, child: const TaskPage()),
|
||||
),
|
||||
PaneItem(
|
||||
icon: const Icon(FluentIcons.calendar),
|
||||
title: const Text('日程'),
|
||||
body: Container(color: Colors.white, child: const SchedulePage()),
|
||||
icon: Icon(FluentIcons.calendar, color: iconColor),
|
||||
title: const Text('日程', style: TextStyle(fontSize: 16)),
|
||||
body: Container(color: paneColor, child: const SchedulePage()),
|
||||
),
|
||||
PaneItemSeparator(),
|
||||
PaneItem(
|
||||
icon: const Icon(FluentIcons.settings),
|
||||
title: const Text('设置'),
|
||||
icon: Icon(FluentIcons.settings, color: iconColor),
|
||||
title: const Text('设置', style: TextStyle(fontSize: 16)),
|
||||
body: Container(color: Colors.white, child: const SettingsPage()),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -7,23 +7,15 @@ class HomePage extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return ScaffoldPage.withPadding(
|
||||
header: const PageHeader(
|
||||
title: Text('首页'),
|
||||
title: Text('首页', style: TextStyle(color: Colors.white)),
|
||||
),
|
||||
content: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
FluentIcons.home,
|
||||
size: 64,
|
||||
),
|
||||
Icon(FluentIcons.home, size: 64, color: Colors.white),
|
||||
const SizedBox(height: 20),
|
||||
Text(
|
||||
'首页',
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
),
|
||||
),
|
||||
Text('首页', style: TextStyle(fontSize: 24, color: Colors.white)),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -106,13 +106,13 @@ class _SchedulePageState extends State<SchedulePage> {
|
||||
Widget build(BuildContext context) {
|
||||
return ScaffoldPage.withPadding(
|
||||
header: PageHeader(
|
||||
title: const Text('日程安排'),
|
||||
title: const Text('日程安排', style: TextStyle(color: Colors.white)),
|
||||
commandBar: CommandBar(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
primaryItems: [
|
||||
CommandBarButton(
|
||||
icon: const Icon(FluentIcons.add),
|
||||
label: const Text('添加日程'),
|
||||
icon: const Icon(FluentIcons.add, color: Colors.white),
|
||||
label: const Text('添加日程', style: TextStyle(color: Colors.white)),
|
||||
onPressed: () => _addSchedule(null),
|
||||
),
|
||||
],
|
||||
@@ -146,27 +146,36 @@ class _SchedulePageState extends State<SchedulePage> {
|
||||
value: 'week',
|
||||
label: Text(
|
||||
'周视图',
|
||||
style: TextStyle(fontFamily: 'CustomFont'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'CustomFont',
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
ButtonSegment(
|
||||
value: 'month',
|
||||
label: Text(
|
||||
'月视图',
|
||||
style: TextStyle(fontFamily: 'CustomFont'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'CustomFont',
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
ButtonSegment(
|
||||
value: 'schedule',
|
||||
label: Text(
|
||||
'日程视图',
|
||||
style: TextStyle(fontFamily: 'CustomFont'),
|
||||
style: TextStyle(
|
||||
fontFamily: 'CustomFont',
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
Expanded(child: _buildSfCalendar()),
|
||||
Expanded(child: Card(child: _buildSfCalendar())),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -123,13 +123,13 @@ class _TaskPageState extends State<TaskPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return ScaffoldPage.withPadding(
|
||||
header: PageHeader(
|
||||
title: const Text('待办任务'),
|
||||
title: const Text('待办任务', style: TextStyle(color: Colors.white)),
|
||||
commandBar: CommandBar(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
primaryItems: [
|
||||
CommandBarButton(
|
||||
icon: const Icon(FluentIcons.add),
|
||||
label: const Text('添加任务'),
|
||||
icon: const Icon(FluentIcons.add, color: Colors.white),
|
||||
label: const Text('添加任务', style: TextStyle(color: Colors.white)),
|
||||
onPressed: _addTask,
|
||||
),
|
||||
],
|
||||
@@ -155,7 +155,6 @@ class _TaskPageState extends State<TaskPage> {
|
||||
final activeCount = _tasks.length - completedCount;
|
||||
|
||||
return Card(
|
||||
backgroundColor: FluentTheme.of(context).accentColor.lighter,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: Row(
|
||||
@@ -175,21 +174,16 @@ class _TaskPageState extends State<TaskPage> {
|
||||
children: [
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.white,
|
||||
),
|
||||
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text(label, style: TextStyle(color: Colors.white)),
|
||||
Text(label),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildFilterWidget() {
|
||||
return Card(
|
||||
borderColor: Colors.white,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: Row(
|
||||
|
||||
@@ -1 +1 @@
|
||||
name: task_hub
|
||||
name: task_hub
|
||||
Reference in New Issue
Block a user