Compare commits

..

2 Commits

2 changed files with 61 additions and 43 deletions

View File

@ -7,10 +7,7 @@ import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
import 'package:flutter/material.dart';
// Local // Local
import '/models/frequency.dart';
import '/models/expense.dart'; import '/models/expense.dart';
// Leaned on this example: // Leaned on this example:

View File

@ -1,5 +1,6 @@
// Flutter // Flutter
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:io';
// Local // Local
import '/pages/expense.dart'; import '/pages/expense.dart';
@ -67,12 +68,7 @@ class _HomePageState extends State<HomePage> {
); );
} }
return LayoutBuilder(builder: (context, constraints) { Widget navigation = NavigationRail(
return Scaffold(
appBar: AppBar(
title: Text("Expense Tracker"),
),
drawer: NavigationRail(
extended: true, extended: true,
destinations: [ destinations: [
NavigationRailDestination( NavigationRailDestination(
@ -104,14 +100,39 @@ class _HomePageState extends State<HomePage> {
onDestinationSelected: (value) { onDestinationSelected: (value) {
setState(() { setState(() {
pageSelected = value; pageSelected = value;
if (Platform.isAndroid || Platform.isIOS) {
Navigator.pop(context); Navigator.pop(context);
}
}); });
}, },
), );
body: Container(
Widget main = Container(
color: Theme.of(context).colorScheme.primaryContainer, color: Theme.of(context).colorScheme.primaryContainer,
child: Center(child: page), child: Center(child: page),
);
Widget? drawer, body;
if (Platform.isAndroid || Platform.isIOS) {
drawer = navigation;
body = main;
} else {
drawer = null;
body = Row(
children: [
SafeArea(child: navigation),
Expanded(child: main),
],
);
}
return LayoutBuilder(builder: (context, constraints) {
return Scaffold(
appBar: AppBar(
title: Text("Expense Tracker"),
), ),
drawer: drawer,
body: body,
floatingActionButton: floatingButton, floatingActionButton: floatingButton,
); );
}); });