Files
kaptan/ground_suite/lib/app.dart
T
Onur Özkan 53e57c5d73
Host SITL smoke / Deterministic Gazebo command path (push) Canceled after 0s
ground_suite: init template layout
Signed-off-by: Onur Özkan <work@onurozkan.dev>
2026-09-25 11:46:29 +03:00

91 lines
2.6 KiB
Dart

import 'package:flutter/material.dart';
class GroundSuiteApp extends StatelessWidget {
const GroundSuiteApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Kaptan Ground Suite',
debugShowCheckedModeBanner: false,
theme: ThemeData(
scaffoldBackgroundColor: const Color(0xFF090E0C),
colorScheme: const ColorScheme.dark(
primary: Color(0xFF30E879),
surface: Color(0xFF101713),
onSurface: Color(0xFFE5EEE8),
onSurfaceVariant: Color(0xFF97AA9F),
outline: Color(0xFF26372E),
),
dividerTheme: const DividerThemeData(
color: Color(0xFF26372E),
thickness: 1,
space: 1,
),
),
home: const _AppShell(),
);
}
}
class _AppShell extends StatelessWidget {
const _AppShell();
@override
Widget build(BuildContext context) {
final colors = Theme.of(context).colorScheme;
return Scaffold(
body: SafeArea(
child: Column(
children: [
ColoredBox(
color: colors.surface,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 12,
),
child: Row(
children: [
Icon(
Icons.navigation_outlined,
color: colors.primary,
size: 20,
),
const SizedBox(width: 14),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
'KAPTAN',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w700,
letterSpacing: 3,
),
),
Text(
'GROUND SUITE',
style: TextStyle(
fontSize: 9,
letterSpacing: 2,
color: colors.onSurfaceVariant,
),
),
],
),
),
],
),
),
),
const Divider(),
],
),
),
);
}
}