import 'package:flisp_app/provider/app_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_common/flutter_common.dart'; import 'package:provider/provider.dart'; class AppDrawer extends StatefulWidget { const AppDrawer({super.key}); @override State createState() => AppDrawerState(); } class AppDrawerState extends State { DrawerHeader _buildDrawerHeader() { return DrawerHeader( decoration: BoxDecoration(color: Theme.of(context).colorScheme.primary), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ CircleAvatar( radius: 30, backgroundColor: Colors.white, child: Icon( Icons.flash_on, color: Theme.of(context).colorScheme.primary, size: 40, ), ), SizedBox(height: 10), Text( '闪灵', style: TextStyle( color: Colors.white, fontSize: 24, fontWeight: FontWeight.bold, ), ), Text( '记录每一刻的灵感', style: TextStyle(color: Colors.white70, fontSize: 14), ), ], ), ); } // 构建抽屉菜单项 Widget _buildDrawerItem({ required IconData icon, required String title, required VoidCallback onTap, }) { return ListTile( leading: Icon(icon, color: Theme.of(context).colorScheme.primary), title: Text(title), onTap: onTap, ); } Widget _buildVersionInfo({ required BuildContext context, required String fullVersion, }) { return Container( width: double.infinity, padding: EdgeInsets.all(8), decoration: BoxDecoration( border: Border(top: BorderSide(color: Colors.grey.shade300)), ), child: Text( '版本 v$fullVersion', textAlign: TextAlign.center, style: TextStyle( fontSize: 12, color: Theme.of(context).colorScheme.primary, ), ), ); } @override Widget build(BuildContext context) { final appProvider = context.watch(); return Drawer( child: Column( children: [ Expanded( child: ListView( padding: EdgeInsets.zero, children: [ _buildDrawerHeader(), ThemeLayout(), const Divider(), _buildDrawerItem( icon: Icons.help, title: '帮助与反馈', onTap: () { Navigator.pop(context); // 这里可以导航到帮助页面 }, ), ], ), ), _buildVersionInfo( context: context, fullVersion: appProvider.fullVersion, ), ], ), ); } }