68 lines
1.8 KiB
Dart
68 lines
1.8 KiB
Dart
import "package:go_router/go_router.dart";
|
|
import "package:shadcn_flutter/shadcn_flutter.dart";
|
|
|
|
import "widgets/setting_card.dart";
|
|
|
|
class SettingsPage extends StatelessWidget {
|
|
const SettingsPage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
headers: [
|
|
AppBar(
|
|
title: const Text("Settings"),
|
|
leading: [
|
|
IconButton.ghost(
|
|
icon: const Icon(LucideIcons.arrowLeft),
|
|
onPressed: () => context.go('/'),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
child: ListView(
|
|
padding: const EdgeInsets.all(16),
|
|
children: [
|
|
SettingCard(
|
|
title: "Appearance",
|
|
description: "Customize theme, colors, and layout",
|
|
icon: LucideIcons.palette,
|
|
onTap: () {
|
|
// Could navigate to appearance settings
|
|
},
|
|
),
|
|
const Gap(12),
|
|
SettingCard(
|
|
title: "Models",
|
|
description: "Configure AI model preferences",
|
|
icon: LucideIcons.brain,
|
|
onTap: () {
|
|
// Could navigate to model settings
|
|
},
|
|
),
|
|
const Gap(12),
|
|
SettingCard(
|
|
title: "Advanced",
|
|
description: "Developer options and advanced settings",
|
|
icon: LucideIcons.settings2,
|
|
onTap: () {
|
|
// Could navigate to advanced settings
|
|
},
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|
|
|
|
/// GoRouter routes for the settings page
|
|
abstract class SettingsRoute {
|
|
static const path = '/settings';
|
|
static const name = 'settings';
|
|
|
|
static GoRoute get route => GoRoute(
|
|
path: path,
|
|
name: name,
|
|
builder: (context, state) => const SettingsPage(),
|
|
);
|
|
}
|