diff --git a/lib/features/note_taking/presentation/pages/notebook_pages_screen.dart b/lib/features/note_taking/presentation/pages/notebook_pages_screen.dart index c93cc845..5e0bd6e2 100644 --- a/lib/features/note_taking/presentation/pages/notebook_pages_screen.dart +++ b/lib/features/note_taking/presentation/pages/notebook_pages_screen.dart @@ -18,6 +18,7 @@ import 'package:u_do_note/core/error/failures.dart'; import 'package:u_do_note/core/logger/logger.dart'; import 'package:u_do_note/core/shared/data/models/note.dart'; import 'package:u_do_note/core/shared/domain/entities/note.dart'; +import 'package:u_do_note/core/shared/domain/providers/shared_preferences_provider.dart'; import 'package:u_do_note/core/shared/presentation/providers/app_state_provider.dart'; import 'package:u_do_note/features/note_taking/domain/entities/notebook.dart'; import 'package:u_do_note/features/note_taking/presentation/providers/notes_provider.dart'; @@ -40,6 +41,25 @@ class _NotebookPagesScreenState extends ConsumerState { var gridCols = 2; var notebookIdsToPasteExtractedContent = []; + @override + void initState() { + super.initState(); + + initGridCols(); + } + + void initGridCols() async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + var cols = prefs.getInt('nbPagesGridCols'); + + if (cols != null) { + setState(() { + gridCols = cols; + }); + } + } + @override Widget build(BuildContext context) { var notebooks = ref.watch(notebooksStreamProvider).value; @@ -272,7 +292,11 @@ class _NotebookPagesScreenState extends ConsumerState { elevation: 0, child: const Icon(Icons.looks_two_rounded), labelWidget: const Text('Two Columns'), - onTap: () { + onTap: () async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + prefs.setInt('nbPagesGridCols', 2); + setState(() { if (gridCols != 2) { gridCols = 2; @@ -283,7 +307,11 @@ class _NotebookPagesScreenState extends ConsumerState { elevation: 0, child: const Icon(Icons.looks_3_rounded), labelWidget: const Text('Three Columns'), - onTap: () { + onTap: () async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + prefs.setInt('nbPagesGridCols', 3); + setState(() { if (gridCols != 3) { gridCols = 3; diff --git a/lib/features/note_taking/presentation/pages/notebooks_screen.dart b/lib/features/note_taking/presentation/pages/notebooks_screen.dart index 107c3961..d854a649 100644 --- a/lib/features/note_taking/presentation/pages/notebooks_screen.dart +++ b/lib/features/note_taking/presentation/pages/notebooks_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_speed_dial/flutter_speed_dial.dart'; +import 'package:u_do_note/core/shared/domain/providers/shared_preferences_provider.dart'; import 'package:u_do_note/features/note_taking/domain/entities/notebook.dart'; import 'package:u_do_note/features/note_taking/presentation/providers/notes_provider.dart'; import 'package:u_do_note/features/note_taking/presentation/widgets/add_notebook_dialog.dart'; @@ -20,6 +21,25 @@ class NotebooksScreen extends ConsumerStatefulWidget { class _NotebooksScreenState extends ConsumerState { var gridCols = 2; + @override + void initState() { + super.initState(); + + initGridCols(); + } + + void initGridCols() async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + var cols = prefs.getInt('nbGridCols'); + + if (cols != null) { + setState(() { + gridCols = cols; + }); + } + } + @override Widget build(BuildContext context) { var notebooksAsync = ref.watch(notebooksStreamProvider); @@ -47,7 +67,11 @@ class _NotebooksScreenState extends ConsumerState { elevation: 0, child: const Icon(Icons.looks_two_rounded), labelWidget: const Text('Two Columns'), - onTap: () { + onTap: () async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + prefs.setInt('nbGridCols', 2); + setState(() { if (gridCols != 2) { gridCols = 2; @@ -58,7 +82,11 @@ class _NotebooksScreenState extends ConsumerState { elevation: 0, child: const Icon(Icons.looks_3_rounded), labelWidget: const Text('Three Columns'), - onTap: () { + onTap: () async { + var prefs = await ref.read(sharedPreferencesProvider.future); + + prefs.setInt('nbGridCols', 3); + setState(() { if (gridCols != 3) { gridCols = 3;