From be0edd018e58296b659c9b4de73583df02082923 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Fri, 7 May 2021 12:55:01 +0200 Subject: [PATCH] Add dashbook This will hopefully make development easier as the different screens can be worked on more easily. This isn't perfect as the providers don't work, but it's a start. --- lib/app_router.dart | 10 ++++---- lib/main_dashbook.dart | 54 ++++++++++++++++++++++++++++++++++++++++++ pubspec.lock | 14 +++++++++++ pubspec.yaml | 3 ++- 4 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 lib/main_dashbook.dart diff --git a/lib/app_router.dart b/lib/app_router.dart index dbfa1c21..9bf23d01 100644 --- a/lib/app_router.dart +++ b/lib/app_router.dart @@ -37,7 +37,7 @@ class AppRoute { static const Purchase = '/purchase'; static const PurchaseThank = '/purchase_thank_you'; - var all = [ + static const all = [ OnBoarding, AllFolders, AllTags, @@ -82,7 +82,7 @@ class AppRouter { route == AppRoute.FileSystem) { return PageRouteBuilder( settings: routeSettings, - pageBuilder: (_, __, ___) => _screenForRoute( + pageBuilder: (_, __, ___) => screenForRoute( route, repository, settings, @@ -98,7 +98,7 @@ class AppRouter { return MaterialPageRoute( settings: routeSettings, - builder: (context) => _screenForRoute( + builder: (context) => screenForRoute( route, repository, settings, @@ -109,7 +109,7 @@ class AppRouter { ); } - Widget _screenForRoute( + Widget screenForRoute( String route, GitJournalRepo repository, Settings settings, @@ -178,7 +178,7 @@ class AppRouter { ); } - assert(false, "Not found named route in _screenForRoute"); + assert(false, "Not found named route in screenForRoute"); return null; } } diff --git a/lib/main_dashbook.dart b/lib/main_dashbook.dart new file mode 100644 index 00000000..8b1a7e45 --- /dev/null +++ b/lib/main_dashbook.dart @@ -0,0 +1,54 @@ +// @dart=2.9 + +import 'package:flutter/material.dart'; + +import 'package:dashbook/dashbook.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +import 'package:gitjournal/app_router.dart'; +import 'package:gitjournal/app_settings.dart'; +import 'package:gitjournal/repository_manager.dart'; +import 'package:gitjournal/utils/logger.dart'; + +void main() async { + //TestWidgetsFlutterBinding.ensureInitialized(); + WidgetsFlutterBinding.ensureInitialized(); + + final dashbook = Dashbook(); + + await EasyLocalization.ensureInitialized(); + + // SharedPreferences.setMockInitialValues({}); + + var pref = await SharedPreferences.getInstance(); + + AppSettings.instance.load(pref); + + var appSettings = AppSettings.instance; + Log.i("AppSetting ${appSettings.toMap()}"); + + final gitBaseDirectory = (await getTemporaryDirectory()).path; + final cacheDir = (await getTemporaryDirectory()).path; + + var repoManager = RepositoryManager( + gitBaseDir: gitBaseDirectory, + cacheDir: cacheDir, + pref: pref, + ); + await repoManager.buildActiveRepository(); + var repo = repoManager.currentRepo; + var settings = repo.settings; + var appRouter = AppRouter(settings: settings, appSettings: appSettings); + + for (var routeName in AppRoute.all) { + dashbook.storiesOf(routeName).decorator(CenterDecorator()).add('all', + (context) { + return appRouter.screenForRoute( + routeName, repo, settings, null, null, () {}); + }); + } + + runApp(dashbook); +} diff --git a/pubspec.lock b/pubspec.lock index 120f3e11..a3401b64 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -283,6 +283,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.0" + dashbook: + dependency: "direct main" + description: + name: dashbook + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.2" device_info: dependency: "direct main" description: @@ -472,6 +479,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.1" + flutter_colorpicker: + dependency: transitive + description: + name: flutter_colorpicker + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.0" flutter_email_sender: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 570a8aae..0e4d018a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A Note Taking App Built on top of Git version: 1.76.0+10 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: ">=2.12.0 <3.0.0" flutter: ">=2.0.3" publish_to: none @@ -28,6 +28,7 @@ dependencies: # cryptography: ^1.4.1 # cryptography_flutter: ^1.0.0 crypton: ^2.0.1 + dashbook: ^0.1.2 device_info: ^2.0.0 dots_indicator: ^2.0.0 easy_localization: ^3.0.0