Add widgets for each of the future pages.

This commit is contained in:
Hyperling 2025-02-01 03:48:26 -07:00
parent 0c9b365f7f
commit c2cc71eae0

View File

@ -2,7 +2,6 @@
// - https://flutter.dev/docs/cookbook/forms/validation // - https://flutter.dev/docs/cookbook/forms/validation
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
//import 'package:provider/provider.dart';
void main() { void main() {
runApp(const MainApp()); runApp(const MainApp());
@ -41,17 +40,17 @@ class _HomePageState extends State<HomePage> {
Widget page; Widget page;
switch (pageSelected) { switch (pageSelected) {
case 0: case 0:
page = ExpenseInputForm(); page = ExpensePage();
case 1: case 1:
page = Placeholder(); page = IncomePage();
case 2: case 2:
page = Placeholder(); page = AssetPage();
case 3: case 3:
page = Placeholder(); page = ProjectionPage();
case 4: case 4:
page = Placeholder(); page = SettingsPage();
default: default:
throw UnimplementedError('no widget for $pageSelected'); throw UnimplementedError('No widget for page $pageSelected yet!');
} }
return LayoutBuilder(builder: (context, constraints) { return LayoutBuilder(builder: (context, constraints) {
@ -60,7 +59,7 @@ class _HomePageState extends State<HomePage> {
children: [ children: [
SafeArea( SafeArea(
child: NavigationRail( child: NavigationRail(
extended: constraints.maxWidth >= 600, extended: constraints.maxWidth >= 800,
destinations: [ destinations: [
NavigationRailDestination( NavigationRailDestination(
icon: Icon(Icons.payment), icon: Icon(Icons.payment),
@ -105,6 +104,66 @@ class _HomePageState extends State<HomePage> {
} }
} }
class SettingsPage extends StatelessWidget {
const SettingsPage({
super.key,
});
@override
Widget build(BuildContext context) {
return Placeholder();
}
}
class ProjectionPage extends StatelessWidget {
const ProjectionPage({
super.key,
});
@override
Widget build(BuildContext context) {
return Placeholder();
}
}
class AssetPage extends StatelessWidget {
const AssetPage({
super.key,
});
@override
Widget build(BuildContext context) {
return Placeholder();
}
}
class ExpensePage extends StatelessWidget {
const ExpensePage({
super.key,
});
@override
Widget build(BuildContext context) {
return ExpenseInputForm();
}
}
class IncomePage extends StatelessWidget {
const IncomePage({
super.key,
});
@override
Widget build(BuildContext context) {
return Center(child: Column(
children: [
Text("TBD"),
Placeholder(),
],
));
}
}
class ExpenseInputForm extends StatefulWidget { class ExpenseInputForm extends StatefulWidget {
const ExpenseInputForm({ const ExpenseInputForm({
super.key, super.key,