first commit
This commit is contained in:
commit
39e38f931f
382 changed files with 520450 additions and 0 deletions
113
lib/main.dart
Normal file
113
lib/main.dart
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
import 'package:drift/drift.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:temperaturdecke/database.dart';
|
||||
import 'package:temperaturdecke/screens/day.dart';
|
||||
import 'package:temperaturdecke/screens/overview.dart';
|
||||
import 'package:temperaturdecke/screens/settings.dart';
|
||||
import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:temperaturdecke/screens/wool.dart';
|
||||
|
||||
void main() async {
|
||||
runApp(Provider<AppDatabase>(
|
||||
create: (context) => AppDatabase(),
|
||||
child: MyApp(),
|
||||
dispose: (context, db) => db.close(),
|
||||
));
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
}
|
||||
|
||||
class MyApp extends StatefulWidget {
|
||||
MyApp({super.key});
|
||||
|
||||
@override
|
||||
State<MyApp> createState() => _MyAppState();
|
||||
}
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
int currentPageIndex = 0;
|
||||
|
||||
List screens = [
|
||||
dayScreen(),
|
||||
OverviewScreen(),
|
||||
WoolScreen(),
|
||||
SettingsScreen(),
|
||||
];
|
||||
|
||||
// This widget is the root of your application.
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return DynamicColorBuilder(
|
||||
builder: (ColorScheme? lightDynamic, ColorScheme? darkDynamic) {
|
||||
ColorScheme lightColorScheme;
|
||||
ColorScheme darkColorScheme;
|
||||
|
||||
if (lightDynamic != null && darkDynamic != null) {
|
||||
// On Android S+ devices, use the provided dynamic color scheme.
|
||||
// (Recommended) Harmonize the dynamic color scheme' built-in semantic colors.
|
||||
lightColorScheme = lightDynamic.harmonized();
|
||||
|
||||
// Repeat for the dark color scheme.
|
||||
darkColorScheme = darkDynamic.harmonized();
|
||||
} else {
|
||||
// Otherwise, use fallback schemes.
|
||||
lightColorScheme = ColorScheme.fromSeed(
|
||||
seedColor: Colors.blue,
|
||||
);
|
||||
darkColorScheme = ColorScheme.fromSeed(
|
||||
seedColor: Colors.blue,
|
||||
brightness: Brightness.dark,
|
||||
);
|
||||
}
|
||||
|
||||
return MaterialApp(
|
||||
theme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
|
||||
title: 'Flutter Demo',
|
||||
home: Scaffold(
|
||||
body: AnimatedSwitcher(
|
||||
duration: Duration(milliseconds: 200),
|
||||
child: screens[currentPageIndex],
|
||||
),
|
||||
bottomNavigationBar: NavigationBar(
|
||||
onDestinationSelected: (int index) {
|
||||
print(currentPageIndex);
|
||||
setState(() {
|
||||
currentPageIndex = index;
|
||||
});
|
||||
},
|
||||
selectedIndex: currentPageIndex,
|
||||
destinations: const <Widget>[
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.sunny),
|
||||
label: 'Tag',
|
||||
),
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.list),
|
||||
label: 'Übersicht',
|
||||
),
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.circle),
|
||||
label: 'Wolle',
|
||||
),
|
||||
NavigationDestination(
|
||||
icon: Icon(Icons.settings),
|
||||
label: 'Einstellungen',
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// This method is rerun every time setState is called, for instance as done
|
||||
// by the _incrementCounter method above.
|
||||
//
|
||||
// The Flutter framework has been optimized to make rerunning build methods
|
||||
// fast, so that you can just rebuild anything that needs updating rather
|
||||
// than having to individually change instances of widgets.
|
||||
return dayScreen();
|
||||
}
|
||||
Reference in a new issue