added uptime monitoring

This commit is contained in:
2026-06-24 00:31:01 +02:00
parent e89c711d00
commit 1866e60518
16 changed files with 2220 additions and 19 deletions

View File

@@ -0,0 +1,80 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../../models/responsive_policy.dart';
class MoreScreen extends StatelessWidget {
const MoreScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('More'), centerTitle: false),
body: Center(
child: LayoutBuilder(
builder: (context, constraints) {
final maxWidth = constraints.maxWidth > ResponsivePolicy.md
? 600.0
: double.infinity;
return SizedBox(
width: maxWidth,
child: ListView(
padding: const EdgeInsets.all(16),
children: [
_NavOptionTile(
icon: Icons.people_outline,
title: 'Users',
subtitle: 'Manage users and permissions',
onTap: () => context.go('/users'),
),
_NavOptionTile(
icon: Icons.monitor_heart_outlined,
title: 'Uptime Status',
subtitle: 'View system uptime and service status',
onTap: () => context.push('/uptime'),
),
],
),
);
},
),
),
);
}
}
class _NavOptionTile extends StatelessWidget {
const _NavOptionTile({
required this.icon,
required this.title,
required this.subtitle,
required this.onTap,
});
final IconData icon;
final String title;
final String subtitle;
final VoidCallback onTap;
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
leading: Icon(icon, size: 28, color: theme.colorScheme.primary),
title: Text(title, style: theme.textTheme.titleMedium),
subtitle: Padding(
padding: const EdgeInsets.only(top: 4),
child: Text(subtitle, style: theme.textTheme.bodySmall),
),
trailing: Icon(
Icons.chevron_right,
color: theme.colorScheme.onSurface.withAlpha(100),
),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
onTap: onTap,
);
}
}