Added working edit transaction
This commit is contained in:
+84
-3
@@ -1,9 +1,17 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:helpers/helpers/misc_build/build_media.dart';
|
||||
import 'package:rluv/features/budget/screens/budget_overview.dart';
|
||||
import 'package:rluv/features/notes/screens/notes_screen.dart';
|
||||
import 'package:rluv/features/settings/screens/settings_screen.dart';
|
||||
import 'package:rluv/global/styles.dart';
|
||||
import 'package:rluv/global/utils.dart';
|
||||
import 'package:rluv/global/widgets/drawer_button.dart';
|
||||
|
||||
void main() {
|
||||
import 'global/store.dart';
|
||||
|
||||
void main() async {
|
||||
final _ = Store().prefs;
|
||||
runApp(const MyApp());
|
||||
}
|
||||
|
||||
@@ -34,12 +42,70 @@ class Home extends ConsumerStatefulWidget {
|
||||
}
|
||||
|
||||
class _HomeState extends ConsumerState<Home> {
|
||||
Map<String, dynamic> initData = {};
|
||||
final drawerColors = Styles.curatedColors;
|
||||
@override
|
||||
void initState() {
|
||||
setDevicePortraitOrientation();
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (ref.watch(currentHomePageProvider).toString() ==
|
||||
"BudgetOverviewScreen") {
|
||||
initData = {};
|
||||
}
|
||||
return Scaffold(
|
||||
key: ref.read(scaffoldKeyProvider),
|
||||
resizeToAvoidBottomInset: false,
|
||||
drawer: const Drawer(
|
||||
drawer: Drawer(
|
||||
backgroundColor: Styles.purpleNurple,
|
||||
child: SafeArea(
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(height: BuildMedia(context).height * 0.15),
|
||||
CuteDrawerButton(
|
||||
text: 'Budget',
|
||||
color: drawerColors[4],
|
||||
onPressed: () {
|
||||
if (ref.read(currentHomePageProvider).toString() !=
|
||||
"BudgetOverviewScreen") {
|
||||
ref.read(currentHomePageProvider.notifier).state =
|
||||
BudgetOverviewScreen(initialData: initData);
|
||||
}
|
||||
toggleDrawer();
|
||||
},
|
||||
),
|
||||
CuteDrawerButton(
|
||||
text: 'Notes',
|
||||
color: drawerColors[5],
|
||||
onPressed: () {
|
||||
if (ref.read(currentHomePageProvider).toString() !=
|
||||
"SharedNotesScreen") {
|
||||
ref.read(currentHomePageProvider.notifier).state =
|
||||
SharedNotesScreen(initialData: initData);
|
||||
}
|
||||
toggleDrawer();
|
||||
},
|
||||
),
|
||||
const Spacer(),
|
||||
CuteDrawerButton(
|
||||
text: 'Settings',
|
||||
color: drawerColors[0],
|
||||
onPressed: () {
|
||||
if (ref.read(currentHomePageProvider).toString() !=
|
||||
"SettingsScreen") {
|
||||
ref.read(currentHomePageProvider.notifier).state =
|
||||
const SettingsScreen();
|
||||
}
|
||||
toggleDrawer();
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
appBar: AppBar(
|
||||
backgroundColor: Styles.purpleNurple,
|
||||
@@ -50,10 +116,23 @@ class _HomeState extends ConsumerState<Home> {
|
||||
body: ref.watch(currentHomePageProvider),
|
||||
);
|
||||
}
|
||||
|
||||
toggleDrawer() async {
|
||||
final key = ref.read(scaffoldKeyProvider);
|
||||
if (key.currentState != null && key.currentState!.isDrawerOpen) {
|
||||
key.currentState!.openEndDrawer();
|
||||
} else if (key.currentState != null) {
|
||||
key.currentState!.openDrawer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final scaffoldKeyProvider = Provider<GlobalKey<ScaffoldState>>(
|
||||
(ref) => GlobalKey<ScaffoldState>(),
|
||||
);
|
||||
|
||||
final currentHomePageProvider = StateProvider<Widget>(
|
||||
(ref) => const BudgetOverviewScreen(),
|
||||
(ref) => const BudgetOverviewScreen(initialData: {}),
|
||||
);
|
||||
|
||||
final appBarTitleProvider = Provider<String>(
|
||||
@@ -62,6 +141,8 @@ final appBarTitleProvider = Provider<String>(
|
||||
switch (currentPageName) {
|
||||
case 'BudgetOverviewScreen':
|
||||
return 'Budget';
|
||||
case 'SharedNotesScreen':
|
||||
return 'Notes';
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user