windows版本初步完成

This commit is contained in:
DelLevin-Home
2026-07-13 19:39:01 +08:00
parent 121cbf8b0b
commit 6c30026e32
37 changed files with 5583 additions and 624 deletions

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'dart:io' show Platform;
import '../providers/app_provider.dart';
import '../utils/user_prefs.dart';
@@ -96,49 +97,74 @@ void showAddSheet(BuildContext context, AppProvider provider) {
));
}
showModalBottomSheet(
context: context,
backgroundColor: colors.surface,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
),
builder: (ctx) {
final bc = Theme.of(ctx).colorScheme;
return SafeArea(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 10),
child: Column(
if (Platform.isWindows) {
showDialog(
context: context,
builder: (ctx) {
final bc = Theme.of(ctx).colorScheme;
return AlertDialog(
backgroundColor: bc.surface,
elevation: 0,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(14)),
titlePadding: const EdgeInsets.fromLTRB(20, 20, 20, 0),
contentPadding: const EdgeInsets.symmetric(vertical: 8),
title: Text('新增记录',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: bc.onSurface)),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
width: 32,
height: 3,
decoration: BoxDecoration(
color: bc.onSurface.withValues(alpha: 0.15),
borderRadius: BorderRadius.circular(2),
),
),
const SizedBox(height: 12),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: Row(
children: [
Text('新增记录',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: bc.onSurface)),
],
),
),
const SizedBox(height: 8),
...options,
],
children: options,
),
),
);
},
);
);
},
);
} else {
showModalBottomSheet(
context: context,
backgroundColor: colors.surface,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
),
builder: (ctx) {
final bc = Theme.of(ctx).colorScheme;
return SafeArea(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 10),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
width: 32,
height: 3,
decoration: BoxDecoration(
color: bc.onSurface.withValues(alpha: 0.15),
borderRadius: BorderRadius.circular(2),
),
),
const SizedBox(height: 12),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: Row(
children: [
Text('新增记录',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: bc.onSurface)),
],
),
),
const SizedBox(height: 8),
...options,
],
),
),
);
},
);
}
}
Widget _buildOption({

View File

@@ -19,6 +19,10 @@ class MasterDetailScaffold extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 桌面三栏布局下只显示 detail列表已在侧边栏
if (Breakpoint.isDesktop(context) && detail != null) {
return detail!;
}
if (!Breakpoint.isWideContent(context) || detail == null) {
return master;
}