From be28c50ffc54686ddcd18ef74b64087f6742d28b Mon Sep 17 00:00:00 2001 From: Pearoo <63553775+PearooXD@users.noreply.github.com> Date: Thu, 19 Oct 2023 09:39:52 +0200 Subject: [PATCH 01/65] Make room number bigger for live card --- .../lib/pages/home/live_card/live_card_widget.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filcnaplo_mobile_ui/lib/pages/home/live_card/live_card_widget.dart b/filcnaplo_mobile_ui/lib/pages/home/live_card/live_card_widget.dart index 2498a22..f095223 100755 --- a/filcnaplo_mobile_ui/lib/pages/home/live_card/live_card_widget.dart +++ b/filcnaplo_mobile_ui/lib/pages/home/live_card/live_card_widget.dart @@ -321,7 +321,7 @@ class _LiveCardWidgetState extends State { widget.nextRoom!, style: TextStyle( height: 1.1, - fontSize: 11.0, + fontSize: 12.0, fontWeight: FontWeight.w600, color: Theme.of(context) .colorScheme From 316039463fa35d6ba388e4416aecf5895dc8bcc2 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:11:39 +0200 Subject: [PATCH 02/65] moved non-premium features from premium folder --- .gitignore | 2 + filcnaplo/lib/app.dart | 2 +- .../ui}/flutter_colorpicker/block_picker.dart | 0 .../ui}/flutter_colorpicker/colorpicker.dart | 12 ++-- .../lib/ui}/flutter_colorpicker/colors.dart | 0 .../lib/ui}/flutter_colorpicker/palette.dart | 0 .../lib/ui}/flutter_colorpicker/utils.dart | 0 .../lib/pages/grades/grades_page.dart | 26 ++++---- .../lib/screens/settings/settings_screen.dart | 6 +- .../lib/providers/share_provider.dart | 0 .../lib/pages}/grades/average_selector.dart | 8 +-- .../lib/pages/grades/grades_page.dart | 4 +- .../lib/pages}/timetable/fs_timetable.dart | 8 +-- .../lib/pages/timetable/timetable_page.dart | 37 ++++++++++- .../screens}/settings/modify_names.i18n.dart | 0 .../settings/modify_subject_names.dart | 0 .../lib/screens/settings/settings_helper.dart | 2 +- .../lib/screens/settings/settings_screen.dart | 19 ++++-- .../lib/screens/settings/theme_screen.dart | 6 +- .../screens/settings/theme_screen.i18n.dart | 0 .../lib/screens/settings/user}/nickname.dart | 0 .../screens/settings/user}/profile_pic.dart | 0 .../lib/ui/mobile/settings/icon_pack.dart | 39 ------------ .../mobile/settings/modify_teacher_names.dart | 3 +- .../mobile/timetable/fs_timetable_button.dart | 62 ------------------- 25 files changed, 90 insertions(+), 146 deletions(-) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo/lib/ui}/flutter_colorpicker/block_picker.dart (100%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo/lib/ui}/flutter_colorpicker/colorpicker.dart (95%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo/lib/ui}/flutter_colorpicker/colors.dart (100%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo/lib/ui}/flutter_colorpicker/palette.dart (100%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo/lib/ui}/flutter_colorpicker/utils.dart (100%) rename {filcnaplo_premium => filcnaplo_kreta_api}/lib/providers/share_provider.dart (100%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo_mobile_ui/lib/pages}/grades/average_selector.dart (88%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo_mobile_ui/lib/pages}/timetable/fs_timetable.dart (93%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo_mobile_ui/lib/screens}/settings/modify_names.i18n.dart (100%) rename {filcnaplo_premium/lib/ui/mobile => filcnaplo_mobile_ui/lib/screens}/settings/modify_subject_names.dart (100%) rename filcnaplo_premium/lib/ui/mobile/settings/theme.dart => filcnaplo_mobile_ui/lib/screens/settings/theme_screen.dart (97%) rename filcnaplo_premium/lib/ui/mobile/settings/theme.i18n.dart => filcnaplo_mobile_ui/lib/screens/settings/theme_screen.i18n.dart (100%) rename {filcnaplo_premium/lib/ui/mobile/settings => filcnaplo_mobile_ui/lib/screens/settings/user}/nickname.dart (100%) rename {filcnaplo_premium/lib/ui/mobile/settings => filcnaplo_mobile_ui/lib/screens/settings/user}/profile_pic.dart (100%) delete mode 100644 filcnaplo_premium/lib/ui/mobile/settings/icon_pack.dart delete mode 100644 filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable_button.dart diff --git a/.gitignore b/.gitignore index 241895d..0f82339 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ filcnaplo_premium/android/ .github .idea .gitmodules + +filcnaplo/.DS_Store diff --git a/filcnaplo/lib/app.dart b/filcnaplo/lib/app.dart index d12e5cc..39d0870 100644 --- a/filcnaplo/lib/app.dart +++ b/filcnaplo/lib/app.dart @@ -14,7 +14,7 @@ import 'package:filcnaplo/theme/theme.dart'; import 'package:filcnaplo_kreta_api/client/client.dart'; import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; import 'package:filcnaplo_premium/providers/goal_provider.dart'; -import 'package:filcnaplo_premium/providers/share_provider.dart'; +import 'package:filcnaplo_kreta_api/providers/share_provider.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/block_picker.dart b/filcnaplo/lib/ui/flutter_colorpicker/block_picker.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/block_picker.dart rename to filcnaplo/lib/ui/flutter_colorpicker/block_picker.dart diff --git a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/colorpicker.dart b/filcnaplo/lib/ui/flutter_colorpicker/colorpicker.dart similarity index 95% rename from filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/colorpicker.dart rename to filcnaplo/lib/ui/flutter_colorpicker/colorpicker.dart index 9653e32..9b5e837 100644 --- a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/colorpicker.dart +++ b/filcnaplo/lib/ui/flutter_colorpicker/colorpicker.dart @@ -11,12 +11,12 @@ library hsv_picker; import 'package:filcnaplo/models/shared_theme.dart'; import 'package:filcnaplo_mobile_ui/common/custom_snack_bar.dart'; -import 'package:filcnaplo_premium/providers/share_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/block_picker.dart'; -import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/palette.dart'; -import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/utils.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/theme.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/theme.i18n.dart'; +import 'package:filcnaplo_kreta_api/providers/share_provider.dart'; +import 'package:filcnaplo/ui/flutter_colorpicker/block_picker.dart'; +import 'package:filcnaplo/ui/flutter_colorpicker/palette.dart'; +import 'package:filcnaplo/ui/flutter_colorpicker/utils.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/theme_screen.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/theme_screen.i18n.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:filcnaplo/theme/colors/colors.dart'; diff --git a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/colors.dart b/filcnaplo/lib/ui/flutter_colorpicker/colors.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/colors.dart rename to filcnaplo/lib/ui/flutter_colorpicker/colors.dart diff --git a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/palette.dart b/filcnaplo/lib/ui/flutter_colorpicker/palette.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/palette.dart rename to filcnaplo/lib/ui/flutter_colorpicker/palette.dart diff --git a/filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/utils.dart b/filcnaplo/lib/ui/flutter_colorpicker/utils.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/flutter_colorpicker/utils.dart rename to filcnaplo/lib/ui/flutter_colorpicker/utils.dart diff --git a/filcnaplo_desktop_ui/lib/pages/grades/grades_page.dart b/filcnaplo_desktop_ui/lib/pages/grades/grades_page.dart index 06bbcd5..e64f14e 100644 --- a/filcnaplo_desktop_ui/lib/pages/grades/grades_page.dart +++ b/filcnaplo_desktop_ui/lib/pages/grades/grades_page.dart @@ -21,7 +21,7 @@ import 'package:filcnaplo_desktop_ui/pages/grades/grade_subject_view.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:filcnaplo/helpers/average_helper.dart'; -import 'package:filcnaplo_premium/ui/mobile/grades/average_selector.dart'; +import 'package:filcnaplo_mobile_ui/pages/grades/average_selector.dart'; import 'grades_page.i18n.dart'; class GradesPage extends StatefulWidget { @@ -41,14 +41,15 @@ class _GradesPageState extends State { int avgDropValue = 0; - List getSubjectGrades(GradeSubject subject, {int days = 0}) => gradeProvider - .grades - .where((e) => - e.subject == subject && - e.type == GradeType.midYear && - (days == 0 || - e.date.isBefore(DateTime.now().subtract(Duration(days: days))))) - .toList(); + List getSubjectGrades(GradeSubject subject, {int days = 0}) => + gradeProvider.grades + .where((e) => + e.subject == subject && + e.type == GradeType.midYear && + (days == 0 || + e.date + .isBefore(DateTime.now().subtract(Duration(days: days))))) + .toList(); void generateTiles() { List subjects = gradeProvider.grades @@ -144,8 +145,9 @@ class _GradesPageState extends State { Expanded( child: StatisticsTile( outline: true, - title: AutoSizeText( // https://discord.com/channels/1111649116020285532/1153397476578050130 - "classavg".i18n, + title: AutoSizeText( + // https://discord.com/channels/1111649116020285532/1153397476578050130 + "classavg".i18n, textAlign: TextAlign.center, maxLines: 2, wrapWords: false, @@ -208,7 +210,7 @@ class _GradesPageState extends State { title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - PremiumAverageSelector( + AverageSelector( value: avgDropValue, onChanged: (value) { setState(() { diff --git a/filcnaplo_desktop_ui/lib/screens/settings/settings_screen.dart b/filcnaplo_desktop_ui/lib/screens/settings/settings_screen.dart index 90a3213..97914fa 100644 --- a/filcnaplo_desktop_ui/lib/screens/settings/settings_screen.dart +++ b/filcnaplo_desktop_ui/lib/screens/settings/settings_screen.dart @@ -38,8 +38,7 @@ import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; import 'settings_screen.i18n.dart'; import 'package:flutter/services.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/nickname.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/icon_pack.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/user/nickname.dart'; class SettingsScreen extends StatefulWidget { const SettingsScreen({Key? key}) : super(key: key); @@ -586,7 +585,8 @@ class _SettingsScreenState extends State .secondary, ), ), - const PremiumIconPackSelector(), + // we need icon pack selector here + // const PremiumIconPackSelector(), ], ), ), diff --git a/filcnaplo_premium/lib/providers/share_provider.dart b/filcnaplo_kreta_api/lib/providers/share_provider.dart similarity index 100% rename from filcnaplo_premium/lib/providers/share_provider.dart rename to filcnaplo_kreta_api/lib/providers/share_provider.dart diff --git a/filcnaplo_premium/lib/ui/mobile/grades/average_selector.dart b/filcnaplo_mobile_ui/lib/pages/grades/average_selector.dart similarity index 88% rename from filcnaplo_premium/lib/ui/mobile/grades/average_selector.dart rename to filcnaplo_mobile_ui/lib/pages/grades/average_selector.dart index 134e70b..cdeec9b 100644 --- a/filcnaplo_premium/lib/ui/mobile/grades/average_selector.dart +++ b/filcnaplo_mobile_ui/lib/pages/grades/average_selector.dart @@ -16,17 +16,17 @@ final Map avgDropItems = { 7: "7_days_average", }; -class PremiumAverageSelector extends StatefulWidget { - const PremiumAverageSelector({Key? key, this.onChanged, required this.value}) : super(key: key); +class AverageSelector extends StatefulWidget { + const AverageSelector({Key? key, this.onChanged, required this.value}) : super(key: key); final Function(int?)? onChanged; final int value; @override - _PremiumAverageSelectorState createState() => _PremiumAverageSelectorState(); + _AverageSelectorState createState() => _AverageSelectorState(); } -class _PremiumAverageSelectorState extends State { +class _AverageSelectorState extends State { @override Widget build(BuildContext context) { List> dropdownItems = avgDropItems.keys.map((item) { diff --git a/filcnaplo_mobile_ui/lib/pages/grades/grades_page.dart b/filcnaplo_mobile_ui/lib/pages/grades/grades_page.dart index 48bd153..947b891 100755 --- a/filcnaplo_mobile_ui/lib/pages/grades/grades_page.dart +++ b/filcnaplo_mobile_ui/lib/pages/grades/grades_page.dart @@ -26,7 +26,7 @@ import 'package:filcnaplo_premium/providers/premium_provider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:filcnaplo/helpers/average_helper.dart'; -import 'package:filcnaplo_premium/ui/mobile/grades/average_selector.dart'; +import 'average_selector.dart'; import 'package:filcnaplo_premium/ui/mobile/premium/premium_inline.dart'; import 'grades_page.i18n.dart'; @@ -240,7 +240,7 @@ class _GradesPageState extends State { title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - PremiumAverageSelector( + AverageSelector( value: avgDropValue, onChanged: (value) { setState(() { diff --git a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart b/filcnaplo_mobile_ui/lib/pages/timetable/fs_timetable.dart similarity index 93% rename from filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart rename to filcnaplo_mobile_ui/lib/pages/timetable/fs_timetable.dart index 9d8aa6b..7411db4 100644 --- a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable.dart +++ b/filcnaplo_mobile_ui/lib/pages/timetable/fs_timetable.dart @@ -12,17 +12,17 @@ import 'package:intl/intl.dart'; import 'package:i18n_extension/i18n_widget.dart'; import 'package:provider/provider.dart'; -class PremiumFSTimetable extends StatefulWidget { - const PremiumFSTimetable({Key? key, required this.controller}) +class FSTimetable extends StatefulWidget { + const FSTimetable({Key? key, required this.controller}) : super(key: key); final TimetableController controller; @override - State createState() => _PremiumFSTimetableState(); + State createState() => _FSTimetableState(); } -class _PremiumFSTimetableState extends State { +class _FSTimetableState extends State { late SettingsProvider settings; @override diff --git a/filcnaplo_mobile_ui/lib/pages/timetable/timetable_page.dart b/filcnaplo_mobile_ui/lib/pages/timetable/timetable_page.dart index f447a73..911b940 100755 --- a/filcnaplo_mobile_ui/lib/pages/timetable/timetable_page.dart +++ b/filcnaplo_mobile_ui/lib/pages/timetable/timetable_page.dart @@ -12,19 +12,21 @@ import 'package:filcnaplo_mobile_ui/common/empty.dart'; import 'package:filcnaplo_mobile_ui/common/panel/panel.dart'; import 'package:filcnaplo_mobile_ui/common/profile_image/profile_button.dart'; import 'package:filcnaplo_mobile_ui/common/profile_image/profile_image.dart'; +import 'package:filcnaplo_mobile_ui/common/system_chrome.dart'; import 'package:filcnaplo_mobile_ui/common/widgets/lesson/lesson_view.dart'; import 'package:filcnaplo_kreta_api/controllers/timetable_controller.dart'; import 'package:filcnaplo_mobile_ui/common/widgets/lesson/lesson_viewable.dart'; import 'package:filcnaplo_mobile_ui/pages/timetable/day_title.dart'; +import 'package:filcnaplo_mobile_ui/pages/timetable/fs_timetable.dart'; import 'package:filcnaplo_mobile_ui/screens/navigation/navigation_route_handler.dart'; import 'package:filcnaplo_mobile_ui/screens/navigation/navigation_screen.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:provider/provider.dart'; import 'package:intl/intl.dart'; import 'package:i18n_extension/i18n_widget.dart'; -import 'package:filcnaplo_premium/ui/mobile/timetable/fs_timetable_button.dart'; import 'timetable_page.i18n.dart'; // todo: "fix" overflow (priority: -1) @@ -199,7 +201,38 @@ class _TimetablePageState extends State snap: false, surfaceTintColor: Theme.of(context).scaffoldBackgroundColor, actions: [ - PremiumFSTimetableButton(controller: _controller, tabcontroller: _tabController), + Padding( + padding: const EdgeInsets.all(8.0), + child: IconButton( + splashRadius: 24.0, + onPressed: () { + // If timetable empty, show empty + if (_tabController.length == 0) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text("empty_timetable".i18n), + duration: const Duration(seconds: 2), + )); + return; + } + + Navigator.of(context, rootNavigator: true) + .push(PageRouteBuilder( + pageBuilder: + (context, animation, secondaryAnimation) => + FSTimetable( + controller: _controller, + ), + )) + .then((_) { + SystemChrome.setPreferredOrientations( + [DeviceOrientation.portraitUp]); + setSystemChrome(context); + }); + }, + icon: Icon(FeatherIcons.trello, + color: AppColors.of(context).text), + ), + ), // Profile Icon Padding( diff --git a/filcnaplo_premium/lib/ui/mobile/settings/modify_names.i18n.dart b/filcnaplo_mobile_ui/lib/screens/settings/modify_names.i18n.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/modify_names.i18n.dart rename to filcnaplo_mobile_ui/lib/screens/settings/modify_names.i18n.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/modify_subject_names.dart b/filcnaplo_mobile_ui/lib/screens/settings/modify_subject_names.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/modify_subject_names.dart rename to filcnaplo_mobile_ui/lib/screens/settings/modify_subject_names.dart diff --git a/filcnaplo_mobile_ui/lib/screens/settings/settings_helper.dart b/filcnaplo_mobile_ui/lib/screens/settings/settings_helper.dart index e4c459f..1b7561b 100755 --- a/filcnaplo_mobile_ui/lib/screens/settings/settings_helper.dart +++ b/filcnaplo_mobile_ui/lib/screens/settings/settings_helper.dart @@ -27,7 +27,7 @@ import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart'; import 'package:flutter_material_color_picker/flutter_material_color_picker.dart'; import 'package:filcnaplo/models/icon_pack.dart'; import 'package:filcnaplo/utils/format.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/theme.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/theme_screen.dart'; class SettingsHelper { static const Map langMap = { diff --git a/filcnaplo_mobile_ui/lib/screens/settings/settings_screen.dart b/filcnaplo_mobile_ui/lib/screens/settings/settings_screen.dart index dd341b1..cd00f02 100755 --- a/filcnaplo_mobile_ui/lib/screens/settings/settings_screen.dart +++ b/filcnaplo_mobile_ui/lib/screens/settings/settings_screen.dart @@ -27,6 +27,7 @@ import 'package:filcnaplo_mobile_ui/screens/news/news_screen.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/accounts/account_tile.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/accounts/account_view.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/debug/subject_icon_gallery.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/modify_subject_names.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/notifications_screen.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/privacy_view.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/settings_helper.dart'; @@ -39,10 +40,8 @@ import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; import 'settings_screen.i18n.dart'; import 'package:flutter/services.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/nickname.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/profile_pic.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/icon_pack.dart'; -import 'package:filcnaplo_premium/ui/mobile/settings/modify_subject_names.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/user/nickname.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/user/profile_pic.dart'; import 'package:filcnaplo_premium/ui/mobile/settings/modify_teacher_names.dart'; import 'package:filcnaplo_premium/ui/mobile/settings/welcome_message.dart'; @@ -685,7 +684,17 @@ class _SettingsScreenState extends State activeColor: Theme.of(context).colorScheme.secondary, ), ), - const PremiumIconPackSelector(), + PanelButton( + onPressed: () { + SettingsHelper.iconPack(context); + }, + title: Text("icon_pack".i18n), + leading: const Icon(FeatherIcons.grid), + trailing: Text( + settings.iconPack.name.capital(), + style: const TextStyle(fontSize: 14.0), + ), + ), // if ios show live activity color option if (defaultTargetPlatform == TargetPlatform.iOS) diff --git a/filcnaplo_premium/lib/ui/mobile/settings/theme.dart b/filcnaplo_mobile_ui/lib/screens/settings/theme_screen.dart similarity index 97% rename from filcnaplo_premium/lib/ui/mobile/settings/theme.dart rename to filcnaplo_mobile_ui/lib/screens/settings/theme_screen.dart index 763acf2..7f66eea 100644 --- a/filcnaplo_premium/lib/ui/mobile/settings/theme.dart +++ b/filcnaplo_mobile_ui/lib/screens/settings/theme_screen.dart @@ -15,14 +15,14 @@ import 'package:filcnaplo_mobile_ui/common/widgets/grade/new_grades.dart'; import 'package:filcnaplo_mobile_ui/common/widgets/homework/homework_tile.dart'; import 'package:filcnaplo_premium/models/premium_scopes.dart'; import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/providers/share_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/flutter_colorpicker/colorpicker.dart'; +import 'package:filcnaplo_kreta_api/providers/share_provider.dart'; +import 'package:filcnaplo/ui/flutter_colorpicker/colorpicker.dart'; import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:provider/provider.dart'; -import 'theme.i18n.dart'; +import 'theme_screen.i18n.dart'; import 'package:share_plus/share_plus.dart'; class PremiumCustomAccentColorSetting extends StatefulWidget { diff --git a/filcnaplo_premium/lib/ui/mobile/settings/theme.i18n.dart b/filcnaplo_mobile_ui/lib/screens/settings/theme_screen.i18n.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/theme.i18n.dart rename to filcnaplo_mobile_ui/lib/screens/settings/theme_screen.i18n.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/nickname.dart b/filcnaplo_mobile_ui/lib/screens/settings/user/nickname.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/nickname.dart rename to filcnaplo_mobile_ui/lib/screens/settings/user/nickname.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/profile_pic.dart b/filcnaplo_mobile_ui/lib/screens/settings/user/profile_pic.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/profile_pic.dart rename to filcnaplo_mobile_ui/lib/screens/settings/user/profile_pic.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/icon_pack.dart b/filcnaplo_premium/lib/ui/mobile/settings/icon_pack.dart deleted file mode 100644 index 2857946..0000000 --- a/filcnaplo_premium/lib/ui/mobile/settings/icon_pack.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_mobile_ui/common/panel/panel_button.dart'; -import 'package:filcnaplo_mobile_ui/screens/settings/settings_helper.dart'; -import 'package:filcnaplo_premium/models/premium_scopes.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; -import 'package:flutter/material.dart'; -import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:provider/provider.dart'; -import 'package:filcnaplo/utils/format.dart'; - -class PremiumIconPackSelector extends StatelessWidget { - const PremiumIconPackSelector({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - final settings = Provider.of(context); - - return PanelButton( - onPressed: () { - if (!Provider.of(context, listen: false) - .hasScope(PremiumScopes.customIcons)) { - PremiumLockedFeatureUpsell.show( - context: context, feature: PremiumFeature.iconpack); - return; - } - - SettingsHelper.iconPack(context); - }, - title: Text("icon_pack".i18n), - leading: const Icon(FeatherIcons.grid), - trailing: Text( - settings.iconPack.name.capital(), - style: const TextStyle(fontSize: 14.0), - ), - ); - } -} diff --git a/filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart b/filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart index c9f9a55..b9e8a28 100644 --- a/filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart +++ b/filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart @@ -17,8 +17,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:provider/provider.dart'; - -import 'modify_names.i18n.dart'; +import 'package:filcnaplo_mobile_ui/screens/settings/modify_names.i18n.dart'; class MenuRenamedTeachers extends StatelessWidget { const MenuRenamedTeachers({Key? key, required this.settings}) diff --git a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable_button.dart b/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable_button.dart deleted file mode 100644 index db5e22d..0000000 --- a/filcnaplo_premium/lib/ui/mobile/timetable/fs_timetable_button.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo_kreta_api/controllers/timetable_controller.dart'; -import 'package:filcnaplo_mobile_ui/common/system_chrome.dart'; -import 'package:filcnaplo_premium/models/premium_scopes.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; -import 'package:filcnaplo_premium/ui/mobile/timetable/fs_timetable.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:provider/provider.dart'; -import 'package:filcnaplo_mobile_ui/pages/timetable/timetable_page.i18n.dart'; - -class PremiumFSTimetableButton extends StatelessWidget { - const PremiumFSTimetableButton( - {Key? key, required this.controller, required this.tabcontroller}) - : super(key: key); - - final TimetableController controller; - final TabController tabcontroller; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: IconButton( - splashRadius: 24.0, - onPressed: () { - if (!Provider.of(context, listen: false) - .hasScope(PremiumScopes.fsTimetable)) { - PremiumLockedFeatureUpsell.show( - context: context, feature: PremiumFeature.weeklytimetable); - return; - } - - // If timetable empty, show empty - if (tabcontroller.length == 0) { - ScaffoldMessenger.of(context).showSnackBar(SnackBar( - content: Text("empty_timetable".i18n), - duration: const Duration(seconds: 2), - )); - return; - } - - Navigator.of(context, rootNavigator: true) - .push(PageRouteBuilder( - pageBuilder: (context, animation, secondaryAnimation) => - PremiumFSTimetable( - controller: controller, - ), - )) - .then((_) { - SystemChrome.setPreferredOrientations( - [DeviceOrientation.portraitUp]); - setSystemChrome(context); - }); - }, - icon: Icon(FeatherIcons.trello, color: AppColors.of(context).text), - ), - ); - } -} From 5e7414ada8d85311dcba23bdc37473ad307c1301 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:17:27 +0200 Subject: [PATCH 03/65] renamed folder so i can add it as a submodule --- .../.dart_tool/package_config.json | 1172 +++++++++++++ .../.dart_tool/package_config_subset | 777 +++++++++ filcnaplo_premium_old/.dart_tool/version | 1 + filcnaplo_premium_old/.flutter-plugins | 57 + .../.flutter-plugins-dependencies | 1 + .../README.md | 0 .../analysis_options.yaml | 0 .../lib/api/auth.dart | 0 .../lib/models/premium_result.dart | 0 .../lib/models/premium_scopes.dart | 0 .../lib/providers/goal_provider.dart | 0 .../lib/providers/premium_provider.dart | 0 .../goal_planner/goal_complete_modal.dart | 0 .../ui/mobile/goal_planner/goal_input.dart | 0 .../ui/mobile/goal_planner/goal_planner.dart | 0 .../goal_planner/goal_planner_screen.dart | 0 .../goal_planner_screen.i18n.dart | 0 .../goal_planner/goal_state_screen.dart | 0 .../goal_planner/goal_state_screen.i18n.dart | 0 .../ui/mobile/goal_planner/grade_display.dart | 0 .../lib/ui/mobile/goal_planner/graph.dart | 0 .../ui/mobile/goal_planner/graph.i18n.dart | 0 .../ui/mobile/goal_planner/route_option.dart | 0 .../activation_view/activation_dashboard.dart | 0 .../activation_view/activation_view.dart | 0 .../lib/ui/mobile/premium/premium_inline.dart | 0 .../lib/ui/mobile/premium/upsell.dart | 0 .../mobile/settings/modify_teacher_names.dart | 0 .../lib/ui/mobile/settings/share_theme.dart | 0 .../ui/mobile/settings/welcome_message.dart | 0 filcnaplo_premium_old/pubspec.lock | 1534 +++++++++++++++++ .../pubspec.yaml | 0 32 files changed, 3542 insertions(+) create mode 100644 filcnaplo_premium_old/.dart_tool/package_config.json create mode 100644 filcnaplo_premium_old/.dart_tool/package_config_subset create mode 100644 filcnaplo_premium_old/.dart_tool/version create mode 100644 filcnaplo_premium_old/.flutter-plugins create mode 100644 filcnaplo_premium_old/.flutter-plugins-dependencies rename {filcnaplo_premium => filcnaplo_premium_old}/README.md (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/analysis_options.yaml (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/api/auth.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/models/premium_result.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/models/premium_scopes.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/providers/goal_provider.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/providers/premium_provider.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_complete_modal.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_input.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_planner.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_planner_screen.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_state_screen.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/grade_display.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/graph.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/graph.i18n.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/goal_planner/route_option.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/premium/activation_view/activation_dashboard.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/premium/activation_view/activation_view.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/premium/premium_inline.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/premium/upsell.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/settings/modify_teacher_names.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/settings/share_theme.dart (100%) rename {filcnaplo_premium => filcnaplo_premium_old}/lib/ui/mobile/settings/welcome_message.dart (100%) create mode 100644 filcnaplo_premium_old/pubspec.lock rename {filcnaplo_premium => filcnaplo_premium_old}/pubspec.yaml (100%) diff --git a/filcnaplo_premium_old/.dart_tool/package_config.json b/filcnaplo_premium_old/.dart_tool/package_config.json new file mode 100644 index 0000000..c8641e6 --- /dev/null +++ b/filcnaplo_premium_old/.dart_tool/package_config.json @@ -0,0 +1,1172 @@ +{ + "configVersion": 2, + "packages": [ + { + "name": "_fe_analyzer_shared", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "analyzer", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "animated_background", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "animated_flip_counter", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "animated_list_plus", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "animations", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "app_group_directory", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "archive", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "args", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "async", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "auto_size_text", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "background_fetch", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "boolean_selector", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "characters", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "charcode", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "clock", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "collection", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "confetti", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "connectivity_plus", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "connectivity_plus_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "convert", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "coverage", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "cross_file", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "crypto", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "csslib", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "cupertino_icons", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "dbus", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "dev_test", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "dotted_border", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "dropdown_button2", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "dynamic_color", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "elegant_notification", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "equatable", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "fake_async", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "ffi", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "filcnaplo", + "rootUri": "../../filcnaplo", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "filcnaplo_desktop_ui", + "rootUri": "../../filcnaplo_desktop_ui", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "filcnaplo_kreta_api", + "rootUri": "../../filcnaplo_kreta_api", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "filcnaplo_mobile_ui", + "rootUri": "../../filcnaplo_mobile_ui", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "file", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "file_picker", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "file_selector_linux", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "file_selector_macos", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "file_selector_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "file_selector_windows", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "fl_chart", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter", + "rootUri": "file:///Users/kima/src/flutter/packages/flutter", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "flutter_acrylic", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_custom_tabs", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_custom_tabs_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_custom_tabs_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_displaymode", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_expandable_fab", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_feather_icons", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_image_compress", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_image_compress_common", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_image_compress_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_image_compress_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1", + "packageUri": "lib/", + "languageVersion": "2.16" + }, + { + "name": "flutter_linkify", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_lints", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_local_notifications", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_local_notifications_linux", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_local_notifications_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_localizations", + "rootUri": "file:///Users/kima/src/flutter/packages/flutter_localizations", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "flutter_markdown", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "flutter_material_color_picker", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "flutter_native_image", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_plugin_android_lifecycle", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "flutter_staggered_grid_view", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "flutter_svg", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "flutter_test", + "rootUri": "file:///Users/kima/src/flutter/packages/flutter_test", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "flutter_web_plugins", + "rootUri": "file:///Users/kima/src/flutter/packages/flutter_web_plugins", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "frontend_server_client", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "glob", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "go_router", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "graphs", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "home_widget", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "html", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "http", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "http_multi_server", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "http_parser", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "i18n_extension", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_crop", + "rootUri": "file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "image_gallery_saver", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "image_picker", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "image_picker_android", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_picker_for_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "image_picker_ios", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_picker_linux", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_picker_macos", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_picker_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "image_picker_windows", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "intl", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "io", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "js", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "linkify", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "lints", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "live_activities", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "logging", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "lottie", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "macos_window_utils", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "markdown", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "matcher", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "material_color_utilities", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "meta", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "mime", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "nested", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "nm", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "node_preamble", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "open_file", + "rootUri": "file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "package_config", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "package_info_plus", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "package_info_plus_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_drawing", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_parsing", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "path_provider", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_android", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_foundation", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_linux", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "path_provider_windows", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "permission_handler", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "permission_handler_android", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "permission_handler_apple", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "permission_handler_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "permission_handler_windows", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "petitparser", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "photo_view", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "platform", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "plugin_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "pointycastle", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "pool", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "process_run", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "provider", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "pub_semver", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "quick_actions", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "quick_actions_android", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "quick_actions_ios", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "quick_actions_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "rive", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "rounded_expansion_tile", + "rootUri": "file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "screenshot", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "share_plus", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "share_plus_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "shelf", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "shelf_packages_handler", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "shelf_static", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "shelf_web_socket", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "sky_engine", + "rootUri": "file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "source_map_stack_trace", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "source_maps", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "source_span", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "sprintf", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "sqflite", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "sqflite_common", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "sqflite_common_ffi", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "sqflite_common_ffi_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "sqlite3", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "stack_trace", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "stream_channel", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "string_scanner", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "synchronized", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "term_glyph", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "test", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "test_api", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "test_core", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3", + "packageUri": "lib/", + "languageVersion": "2.18" + }, + { + "name": "timezone", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "typed_data", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "uni_links", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "uni_links_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "uni_links_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "url_launcher", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "url_launcher_android", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "url_launcher_ios", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "url_launcher_linux", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "url_launcher_macos", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "url_launcher_platform_interface", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "url_launcher_web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "url_launcher_windows", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "uuid", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7", + "packageUri": "lib/", + "languageVersion": "2.12" + }, + { + "name": "vector_math", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4", + "packageUri": "lib/", + "languageVersion": "2.14" + }, + { + "name": "vm_service", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "watcher", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "web", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "web_socket_channel", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0", + "packageUri": "lib/", + "languageVersion": "2.15" + }, + { + "name": "webkit_inspection_protocol", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "win32", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9", + "packageUri": "lib/", + "languageVersion": "3.0" + }, + { + "name": "workmanager", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2", + "packageUri": "lib/", + "languageVersion": "3.1" + }, + { + "name": "wtf_sliding_sheet", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "xdg_directories", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "xml", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "yaml", + "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2", + "packageUri": "lib/", + "languageVersion": "2.19" + }, + { + "name": "filcnaplo_premium", + "rootUri": "../", + "packageUri": "lib/", + "languageVersion": "2.17" + } + ], + "generated": "2023-10-15T18:32:39.904170Z", + "generator": "pub", + "generatorVersion": "3.1.3" +} diff --git a/filcnaplo_premium_old/.dart_tool/package_config_subset b/filcnaplo_premium_old/.dart_tool/package_config_subset new file mode 100644 index 0000000..a51dd1e --- /dev/null +++ b/filcnaplo_premium_old/.dart_tool/package_config_subset @@ -0,0 +1,777 @@ +image_crop +2.17 +file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/ +file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/lib/ +open_file +2.17 +file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/ +file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/lib/ +rounded_expansion_tile +2.12 +file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/ +file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/lib/ +_fe_analyzer_shared +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/lib/ +analyzer +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0/lib/ +animated_background +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0/lib/ +animated_flip_counter +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6/lib/ +animated_list_plus +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2/lib/ +animations +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8/ +file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8/lib/ +app_group_directory +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/lib/ +archive +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6/lib/ +args +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2/lib/ +async +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0/lib/ +auto_size_text +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/lib/ +background_fetch +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/lib/ +boolean_selector +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/ +characters +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0/lib/ +charcode +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1/lib/ +clock +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/ +collection +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2/lib/ +confetti +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0/lib/ +connectivity_plus +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/lib/ +connectivity_plus_platform_interface +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/lib/ +convert +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1/lib/ +coverage +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4/lib/ +cross_file +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6/lib/ +crypto +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3/lib/ +csslib +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0/lib/ +cupertino_icons +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6/lib/ +dbus +2.15 +file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8/ +file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8/lib/ +dev_test +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4/lib/ +dotted_border +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/lib/ +dropdown_button2 +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/lib/ +dynamic_color +2.16 +file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/ +file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/lib/ +elegant_notification +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2/lib/ +equatable +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5/lib/ +fake_async +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/ +ffi +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0/lib/ +file +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0/lib/ +file_picker +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/lib/ +file_selector_linux +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/lib/ +file_selector_macos +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/lib/ +file_selector_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1/lib/ +file_selector_windows +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/lib/ +fl_chart +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/lib/ +flutter_acrylic +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/lib/ +flutter_custom_tabs +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/lib/ +flutter_custom_tabs_platform_interface +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0/lib/ +flutter_custom_tabs_web +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/lib/ +flutter_displaymode +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/lib/ +flutter_expandable_fab +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/lib/ +flutter_feather_icons +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/lib/ +flutter_image_compress +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/lib/ +flutter_image_compress_common +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/lib/ +flutter_image_compress_platform_interface +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2/lib/ +flutter_image_compress_web +2.16 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/lib/ +flutter_linkify +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/lib/ +flutter_lints +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/lib/ +flutter_local_notifications +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/lib/ +flutter_local_notifications_linux +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/lib/ +flutter_local_notifications_platform_interface +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/lib/ +flutter_markdown +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18/lib/ +flutter_material_color_picker +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0/lib/ +flutter_native_image +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/lib/ +flutter_plugin_android_lifecycle +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/lib/ +flutter_staggered_grid_view +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0/lib/ +flutter_svg +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/lib/ +frontend_server_client +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/lib/ +glob +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2/lib/ +go_router +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0/lib/ +graphs +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1/lib/ +home_widget +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/lib/ +html +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4/lib/ +http +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6/lib/ +http_multi_server +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/lib/ +http_parser +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/ +i18n_extension +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2/lib/ +image_gallery_saver +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/lib/ +image_picker +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/lib/ +image_picker_android +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/lib/ +image_picker_for_web +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/lib/ +image_picker_ios +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/lib/ +image_picker_linux +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/lib/ +image_picker_macos +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/lib/ +image_picker_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1/lib/ +image_picker_windows +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/lib/ +intl +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1/lib/ +io +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4/lib/ +js +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7/ +file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7/lib/ +linkify +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0/lib/ +lints +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1/lib/ +live_activities +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/lib/ +logging +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0/lib/ +lottie +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3/lib/ +macos_window_utils +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/lib/ +markdown +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1/lib/ +matcher +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16/ +file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16/lib/ +material_color_utilities +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0/lib/ +meta +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1/lib/ +mime +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4/lib/ +nested +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0/lib/ +nm +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/ +node_preamble +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2/lib/ +package_config +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0/lib/ +package_info_plus +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/lib/ +package_info_plus_platform_interface +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib/ +path +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3/lib/ +path_drawing +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib/ +path_parsing +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/lib/ +path_provider +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/lib/ +path_provider_android +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/lib/ +path_provider_foundation +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/lib/ +path_provider_linux +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/ +path_provider_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1/lib/ +path_provider_windows +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/lib/ +permission_handler +2.15 +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/lib/ +permission_handler_android +2.15 +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/lib/ +permission_handler_apple +2.15 +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/lib/ +permission_handler_platform_interface +2.14 +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0/lib/ +permission_handler_windows +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/lib/ +petitparser +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib/ +photo_view +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib/ +platform +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3/lib/ +plugin_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6/lib/ +pointycastle +2.14 +file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib/ +pool +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/ +process_run +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1/lib/ +provider +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0/lib/ +pub_semver +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/lib/ +quick_actions +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/lib/ +quick_actions_android +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/ +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/lib/ +quick_actions_ios +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/ +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/lib/ +quick_actions_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5/lib/ +rive +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1/lib/ +screenshot +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0/lib/ +share_plus +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/lib/ +share_plus_platform_interface +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0/lib/ +shelf +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1/lib/ +shelf_packages_handler +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2/lib/ +shelf_static +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2/lib/ +shelf_web_socket +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/lib/ +source_map_stack_trace +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/ +source_maps +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12/ +file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/ +source_span +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/ +sprintf +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib/ +sqflite +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/lib/ +sqflite_common +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0/lib/ +sqflite_common_ffi +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2/lib/ +sqflite_common_ffi_web +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0/lib/ +sqlite3 +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0/lib/ +stack_trace +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/ +stream_channel +2.14 +file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/ +string_scanner +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/ +synchronized +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0/lib/ +term_glyph +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/ +test +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3/lib/ +test_api +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0/lib/ +test_core +2.18 +file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3/lib/ +timezone +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2/lib/ +typed_data +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/ +uni_links +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/lib/ +uni_links_platform_interface +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/lib/ +uni_links_web +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/lib/ +url_launcher +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/lib/ +url_launcher_android +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/lib/ +url_launcher_ios +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/lib/ +url_launcher_linux +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/lib/ +url_launcher_macos +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/lib/ +url_launcher_platform_interface +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5/lib/ +url_launcher_web +3.1 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/lib/ +url_launcher_windows +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/ +file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/lib/ +uuid +2.12 +file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7/ +file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7/lib/ +vector_math +2.14 +file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4/ +file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/ +vm_service +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0/lib/ +watcher +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0/lib/ +web +3.1 +file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta/ +file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta/lib/ +web_socket_channel +2.15 +file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/lib/ +webkit_inspection_protocol +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1/ +file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1/lib/ +win32 +3.0 +file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9/ +file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9/lib/ +workmanager +3.1 +file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/lib/ +wtf_sliding_sheet +2.17 +file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2/lib/ +xdg_directories +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3/ +file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3/lib/ +xml +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0/ +file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0/lib/ +yaml +2.19 +file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2/ +file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib/ +filcnaplo +2.17 +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo/ +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo/lib/ +filcnaplo_desktop_ui +2.17 +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_desktop_ui/ +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_desktop_ui/lib/ +filcnaplo_kreta_api +2.17 +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_kreta_api/ +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_kreta_api/lib/ +filcnaplo_mobile_ui +2.17 +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_mobile_ui/ +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_mobile_ui/lib/ +filcnaplo_premium +2.17 +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_premium/ +file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_premium/lib/ +sky_engine +3.0 +file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine/ +file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine/lib/ +flutter +3.0 +file:///Users/kima/src/flutter/packages/flutter/ +file:///Users/kima/src/flutter/packages/flutter/lib/ +flutter_localizations +3.0 +file:///Users/kima/src/flutter/packages/flutter_localizations/ +file:///Users/kima/src/flutter/packages/flutter_localizations/lib/ +flutter_test +3.0 +file:///Users/kima/src/flutter/packages/flutter_test/ +file:///Users/kima/src/flutter/packages/flutter_test/lib/ +flutter_web_plugins +3.0 +file:///Users/kima/src/flutter/packages/flutter_web_plugins/ +file:///Users/kima/src/flutter/packages/flutter_web_plugins/lib/ +2 diff --git a/filcnaplo_premium_old/.dart_tool/version b/filcnaplo_premium_old/.dart_tool/version new file mode 100644 index 0000000..78472f9 --- /dev/null +++ b/filcnaplo_premium_old/.dart_tool/version @@ -0,0 +1 @@ +3.13.6 \ No newline at end of file diff --git a/filcnaplo_premium_old/.flutter-plugins b/filcnaplo_premium_old/.flutter-plugins new file mode 100644 index 0000000..c611b12 --- /dev/null +++ b/filcnaplo_premium_old/.flutter-plugins @@ -0,0 +1,57 @@ +# This is a generated file; do not edit or check into version control. +app_group_directory=/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/ +background_fetch=/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/ +connectivity_plus=/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/ +dynamic_color=/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/ +file_picker=/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/ +file_selector_linux=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/ +file_selector_macos=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/ +file_selector_windows=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/ +flutter_acrylic=/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/ +flutter_custom_tabs=/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/ +flutter_custom_tabs_web=/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/ +flutter_displaymode=/Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/ +flutter_image_compress=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/ +flutter_image_compress_common=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/ +flutter_image_compress_web=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/ +flutter_local_notifications=/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/ +flutter_native_image=/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/ +flutter_plugin_android_lifecycle=/Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/ +home_widget=/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/ +image_crop=/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/ +image_gallery_saver=/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/ +image_picker=/Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/ +image_picker_android=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/ +image_picker_for_web=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/ +image_picker_ios=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/ +image_picker_linux=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ +image_picker_macos=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/ +image_picker_windows=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ +live_activities=/Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/ +macos_window_utils=/Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/ +open_file=/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/ +package_info_plus=/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/ +path_provider=/Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/ +path_provider_android=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/ +path_provider_foundation=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/ +path_provider_linux=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ +path_provider_windows=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ +permission_handler=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/ +permission_handler_android=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/ +permission_handler_apple=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/ +permission_handler_windows=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/ +quick_actions=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/ +quick_actions_android=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/ +quick_actions_ios=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/ +share_plus=/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/ +sqflite=/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/ +uni_links=/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/ +uni_links_web=/Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/ +url_launcher=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/ +url_launcher_android=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/ +url_launcher_ios=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/ +url_launcher_linux=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/ +url_launcher_macos=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/ +url_launcher_web=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/ +url_launcher_windows=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/ +workmanager=/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/ diff --git a/filcnaplo_premium_old/.flutter-plugins-dependencies b/filcnaplo_premium_old/.flutter-plugins-dependencies new file mode 100644 index 0000000..9de477a --- /dev/null +++ b/filcnaplo_premium_old/.flutter-plugins-dependencies @@ -0,0 +1 @@ +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"app_group_directory","path":"/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/","native_build":true,"dependencies":[]},{"name":"background_fetch","path":"/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/","native_build":true,"dependencies":[]},{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_custom_tabs","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/","native_build":true,"dependencies":[]},{"name":"flutter_image_compress_common","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"flutter_native_image","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/","native_build":true,"dependencies":[]},{"name":"home_widget","path":"/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/","native_build":true,"dependencies":[]},{"name":"image_crop","path":"/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/","native_build":true,"dependencies":[]},{"name":"image_gallery_saver","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/","native_build":true,"dependencies":[]},{"name":"live_activities","path":"/Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/","native_build":true,"dependencies":["app_group_directory","flutter_native_image"]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/","native_build":true,"dependencies":[]},{"name":"quick_actions_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"uni_links","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/","native_build":true,"dependencies":[]},{"name":"workmanager","path":"/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/","native_build":true,"dependencies":[]}],"android":[{"name":"app_group_directory","path":"/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/","native_build":true,"dependencies":[]},{"name":"background_fetch","path":"/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/","native_build":true,"dependencies":[]},{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_custom_tabs","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/","native_build":true,"dependencies":[]},{"name":"flutter_displaymode","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/","native_build":true,"dependencies":[]},{"name":"flutter_image_compress_common","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"flutter_native_image","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/","native_build":true,"dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/","native_build":true,"dependencies":[]},{"name":"home_widget","path":"/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/","native_build":true,"dependencies":[]},{"name":"image_crop","path":"/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/","native_build":true,"dependencies":[]},{"name":"image_gallery_saver","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/","native_build":true,"dependencies":[]},{"name":"quick_actions_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"uni_links","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/","native_build":true,"dependencies":[]},{"name":"workmanager","path":"/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"macos_window_utils","path":"/Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/","native_build":true,"dependencies":[]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":false,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/","native_build":true,"dependencies":[]},{"name":"flutter_acrylic","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"url_launcher_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/","native_build":true,"dependencies":[]}],"windows":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"flutter_acrylic","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"url_launcher_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/","native_build":true,"dependencies":[]}],"web":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","dependencies":[]},{"name":"flutter_custom_tabs_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/","dependencies":["url_launcher_web"]},{"name":"flutter_image_compress_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/","dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","dependencies":["url_launcher_web"]},{"name":"uni_links_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/","dependencies":[]}]},"dependencyGraph":[{"name":"app_group_directory","dependencies":[]},{"name":"background_fetch","dependencies":[]},{"name":"connectivity_plus","dependencies":[]},{"name":"dynamic_color","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_acrylic","dependencies":["macos_window_utils"]},{"name":"flutter_custom_tabs","dependencies":["flutter_custom_tabs_web"]},{"name":"flutter_custom_tabs_web","dependencies":["url_launcher_web"]},{"name":"flutter_displaymode","dependencies":[]},{"name":"flutter_image_compress","dependencies":["flutter_image_compress_common","flutter_image_compress_web"]},{"name":"flutter_image_compress_common","dependencies":[]},{"name":"flutter_image_compress_web","dependencies":[]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_native_image","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"home_widget","dependencies":[]},{"name":"image_crop","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"live_activities","dependencies":["app_group_directory","flutter_image_compress","path_provider","flutter_native_image"]},{"name":"macos_window_utils","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"quick_actions","dependencies":["quick_actions_android","quick_actions_ios"]},{"name":"quick_actions_android","dependencies":[]},{"name":"quick_actions_ios","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":["uni_links_web"]},{"name":"uni_links_web","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"workmanager","dependencies":[]}],"date_created":"2023-10-15 20:32:40.202130","version":"3.13.6"} \ No newline at end of file diff --git a/filcnaplo_premium/README.md b/filcnaplo_premium_old/README.md similarity index 100% rename from filcnaplo_premium/README.md rename to filcnaplo_premium_old/README.md diff --git a/filcnaplo_premium/analysis_options.yaml b/filcnaplo_premium_old/analysis_options.yaml similarity index 100% rename from filcnaplo_premium/analysis_options.yaml rename to filcnaplo_premium_old/analysis_options.yaml diff --git a/filcnaplo_premium/lib/api/auth.dart b/filcnaplo_premium_old/lib/api/auth.dart similarity index 100% rename from filcnaplo_premium/lib/api/auth.dart rename to filcnaplo_premium_old/lib/api/auth.dart diff --git a/filcnaplo_premium/lib/models/premium_result.dart b/filcnaplo_premium_old/lib/models/premium_result.dart similarity index 100% rename from filcnaplo_premium/lib/models/premium_result.dart rename to filcnaplo_premium_old/lib/models/premium_result.dart diff --git a/filcnaplo_premium/lib/models/premium_scopes.dart b/filcnaplo_premium_old/lib/models/premium_scopes.dart similarity index 100% rename from filcnaplo_premium/lib/models/premium_scopes.dart rename to filcnaplo_premium_old/lib/models/premium_scopes.dart diff --git a/filcnaplo_premium/lib/providers/goal_provider.dart b/filcnaplo_premium_old/lib/providers/goal_provider.dart similarity index 100% rename from filcnaplo_premium/lib/providers/goal_provider.dart rename to filcnaplo_premium_old/lib/providers/goal_provider.dart diff --git a/filcnaplo_premium/lib/providers/premium_provider.dart b/filcnaplo_premium_old/lib/providers/premium_provider.dart similarity index 100% rename from filcnaplo_premium/lib/providers/premium_provider.dart rename to filcnaplo_premium_old/lib/providers/premium_provider.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_complete_modal.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_complete_modal.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_input.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_input.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner_screen.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner_screen.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_state_screen.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_state_screen.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/grade_display.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/grade_display.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/graph.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/graph.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/graph.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/graph.i18n.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart diff --git a/filcnaplo_premium/lib/ui/mobile/goal_planner/route_option.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/goal_planner/route_option.dart rename to filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart diff --git a/filcnaplo_premium/lib/ui/mobile/premium/activation_view/activation_dashboard.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/premium/activation_view/activation_dashboard.dart rename to filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart diff --git a/filcnaplo_premium/lib/ui/mobile/premium/activation_view/activation_view.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/premium/activation_view/activation_view.dart rename to filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart diff --git a/filcnaplo_premium/lib/ui/mobile/premium/premium_inline.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/premium/premium_inline.dart rename to filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart diff --git a/filcnaplo_premium/lib/ui/mobile/premium/upsell.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/premium/upsell.dart rename to filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/modify_teacher_names.dart rename to filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/share_theme.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/share_theme.dart rename to filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart diff --git a/filcnaplo_premium/lib/ui/mobile/settings/welcome_message.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart similarity index 100% rename from filcnaplo_premium/lib/ui/mobile/settings/welcome_message.dart rename to filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart diff --git a/filcnaplo_premium_old/pubspec.lock b/filcnaplo_premium_old/pubspec.lock new file mode 100644 index 0000000..2f248d5 --- /dev/null +++ b/filcnaplo_premium_old/pubspec.lock @@ -0,0 +1,1534 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" + source: hosted + version: "61.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" + source: hosted + version: "5.13.0" + animated_background: + dependency: transitive + description: + name: animated_background + sha256: "24b05a6dca2cb0231b011f9e8fd2e9d8060faac08a78cf0643915bb7d6e9b03b" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + animated_flip_counter: + dependency: transitive + description: + name: animated_flip_counter + sha256: "2c25ace054ac3932a3f203875a90ddae760ba7016cb9233573067a12ae51e3c6" + url: "https://pub.dev" + source: hosted + version: "0.2.6" + animated_list_plus: + dependency: transitive + description: + name: animated_list_plus + sha256: fb3d7f1fbaf5af84907f3c739236bacda8bf32cbe1f118dd51510752883ff50c + url: "https://pub.dev" + source: hosted + version: "0.5.2" + animations: + dependency: "direct main" + description: + name: animations + sha256: ef57563eed3620bd5d75ad96189846aca1e033c0c45fc9a7d26e80ab02b88a70 + url: "https://pub.dev" + source: hosted + version: "2.0.8" + app_group_directory: + dependency: transitive + description: + name: app_group_directory + sha256: ad89800fd55133b46e1f6940ac6b974562f7fb6394c662c0f4422b90167f2416 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + archive: + dependency: transitive + description: + name: archive + sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03" + url: "https://pub.dev" + source: hosted + version: "3.4.6" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + auto_size_text: + dependency: transitive + description: + name: auto_size_text + sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + background_fetch: + dependency: transitive + description: + name: background_fetch + sha256: f70b28a0f7a3156195e9742229696f004ea3bf10f74039b7bf4c78a74fbda8a4 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + charcode: + dependency: transitive + description: + name: charcode + sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + url: "https://pub.dev" + source: hosted + version: "1.3.1" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + confetti: + dependency: transitive + description: + name: confetti + sha256: "8690fb3f138ff42958d419ef7dd0f0bb192895bea3c921214cb5c3fa82e597b1" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + connectivity_plus: + dependency: transitive + description: + name: connectivity_plus + sha256: "77a180d6938f78ca7d2382d2240eb626c0f6a735d0bfdce227d8ffb80f95c48b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + connectivity_plus_platform_interface: + dependency: transitive + description: + name: connectivity_plus_platform_interface + sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a + url: "https://pub.dev" + source: hosted + version: "1.2.4" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + sha256: "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb" + url: "https://pub.dev" + source: hosted + version: "1.6.4" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + url: "https://pub.dev" + source: hosted + version: "0.3.3+6" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + csslib: + dependency: transitive + description: + name: csslib + sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + url: "https://pub.dev" + source: hosted + version: "1.0.6" + dbus: + dependency: transitive + description: + name: dbus + sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + url: "https://pub.dev" + source: hosted + version: "0.7.8" + dev_test: + dependency: transitive + description: + name: dev_test + sha256: "0d49b920844062a518edb79fc1dbf9ff6d9bf3c9ab600e3847b7502c27c0caab" + url: "https://pub.dev" + source: hosted + version: "0.16.1+4" + dotted_border: + dependency: transitive + description: + name: dotted_border + sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + dropdown_button2: + dependency: "direct main" + description: + name: dropdown_button2 + sha256: "604b87283e251e0e4a0cb1d0fdfa91fd527702b06e80999c4054cecc603e10e7" + url: "https://pub.dev" + source: hosted + version: "1.9.4" + dynamic_color: + dependency: transitive + description: + name: dynamic_color + sha256: "96bff3df72e3d428bda2b874c7a521e8c86f592cae626ea594922fcc8d166e0c" + url: "https://pub.dev" + source: hosted + version: "1.6.7" + elegant_notification: + dependency: transitive + description: + name: elegant_notification + sha256: f3b8aad4f8eb0df10d06deceb9a2b64b8c450ec7a1f896281d3563b6434f0574 + url: "https://pub.dev" + source: hosted + version: "1.11.2" + equatable: + dependency: transitive + description: + name: equatable + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" + source: hosted + version: "2.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + filcnaplo: + dependency: "direct main" + description: + path: "../filcnaplo" + relative: true + source: path + version: "4.4.0+232" + filcnaplo_desktop_ui: + dependency: transitive + description: + path: "../filcnaplo_desktop_ui" + relative: true + source: path + version: "0.0.0" + filcnaplo_kreta_api: + dependency: "direct main" + description: + path: "../filcnaplo_kreta_api" + relative: true + source: path + version: "0.0.0" + filcnaplo_mobile_ui: + dependency: "direct main" + description: + path: "../filcnaplo_mobile_ui" + relative: true + source: path + version: "0.0.0" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + file_picker: + dependency: transitive + description: + name: file_picker + sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030 + url: "https://pub.dev" + source: hosted + version: "5.5.0" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + url: "https://pub.dev" + source: hosted + version: "2.6.1" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" + fl_chart: + dependency: transitive + description: + name: fl_chart + sha256: "23dde7308d28c535d653a37d532dde5ee36e977abe1def370416f90eb69c1f57" + url: "https://pub.dev" + source: hosted + version: "0.45.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_acrylic: + dependency: transitive + description: + name: flutter_acrylic + sha256: a9a1fdf91ff1fb47858fd82507f57e255a132a5d355056694fdb9fd303633b18 + url: "https://pub.dev" + source: hosted + version: "1.1.3" + flutter_custom_tabs: + dependency: transitive + description: + name: flutter_custom_tabs + sha256: e90e5b7cad5648aeb0e1ed04aa3c0cada62d86f3b5d4aaef488ab7de61ec2a9f + url: "https://pub.dev" + source: hosted + version: "1.2.1" + flutter_custom_tabs_platform_interface: + dependency: transitive + description: + name: flutter_custom_tabs_platform_interface + sha256: "1d6b9eb6c5671b21511fdb47babf18aa65982784373986c003aaf67ca78798ad" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + flutter_custom_tabs_web: + dependency: transitive + description: + name: flutter_custom_tabs_web + sha256: dbb5689a97c2398aa5dbcfc9cd59cffea5518ec815e9d23def448dc143cb02be + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter_displaymode: + dependency: transitive + description: + name: flutter_displaymode + sha256: "42c5e9abd13d28ed74f701b60529d7f8416947e58256e6659c5550db719c57ef" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + flutter_expandable_fab: + dependency: transitive + description: + name: flutter_expandable_fab + sha256: "43147571b147e80511d7f9bd143300f4b1b881e2beaf7f83f0eccb5d88a4112b" + url: "https://pub.dev" + source: hosted + version: "1.8.1" + flutter_feather_icons: + dependency: "direct main" + description: + name: flutter_feather_icons + sha256: b33b9c276fc8108254632da6644cf01f71af6c17fbfb26e136a86945f5ff9b67 + url: "https://pub.dev" + source: hosted + version: "2.0.0+1" + flutter_image_compress: + dependency: transitive + description: + name: flutter_image_compress + sha256: "2725cce5c58fdeaf1db8f4203688228bb67e3523a66305ccaa6f99071beb6dc2" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + flutter_image_compress_common: + dependency: transitive + description: + name: flutter_image_compress_common + sha256: "8e7299afe109dc4b97fda34bf0f4967cc1fc10bc8050c374d449cab262d095b3" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + flutter_image_compress_platform_interface: + dependency: transitive + description: + name: flutter_image_compress_platform_interface + sha256: "3c7e86da7540b1adfa919b461885a41a018d4a26544d0fcbeaa769f6542e603d" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + flutter_image_compress_web: + dependency: transitive + description: + name: flutter_image_compress_web + sha256: e879189dc7f246dcf8f06c07ee849231341508bf51e8ed7d5dcbe778ddde0e81 + url: "https://pub.dev" + source: hosted + version: "0.1.3+1" + flutter_linkify: + dependency: transitive + description: + name: flutter_linkify + sha256: c89fe74de985ec22f23d3538d2249add085a4f37ac1c29fd79e1a207efb81d63 + url: "https://pub.dev" + source: hosted + version: "5.0.2" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: b543301ad291598523947dc534aaddc5aaad597b709d2426d3a0e0d44c5cb493 + url: "https://pub.dev" + source: hosted + version: "1.0.4" + flutter_local_notifications: + dependency: transitive + description: + name: flutter_local_notifications + sha256: "53c332ecee8e4d723269c1c2d0cdf7cbbff0a66cc0554d230a6f38cae81760d1" + url: "https://pub.dev" + source: hosted + version: "14.1.4" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + url: "https://pub.dev" + source: hosted + version: "4.0.0+1" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" + url: "https://pub.dev" + source: hosted + version: "7.0.0+1" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_markdown: + dependency: transitive + description: + name: flutter_markdown + sha256: "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619" + url: "https://pub.dev" + source: hosted + version: "0.6.18" + flutter_material_color_picker: + dependency: transitive + description: + name: flutter_material_color_picker + sha256: ca1e7749d228c9155ea24bce98e647cdbffa350e6f334f6c001f841cd3d9c987 + url: "https://pub.dev" + source: hosted + version: "1.2.0" + flutter_native_image: + dependency: transitive + description: + name: flutter_native_image + sha256: "0ff23d6222064259df8f85ea56925627ea1ec8658814672c5b6c23fc9174c65e" + url: "https://pub.dev" + source: hosted + version: "0.0.6+1" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c + url: "https://pub.dev" + source: hosted + version: "2.0.16" + flutter_staggered_grid_view: + dependency: transitive + description: + name: flutter_staggered_grid_view + sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395" + url: "https://pub.dev" + source: hosted + version: "0.7.0" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2" + url: "https://pub.dev" + source: hosted + version: "1.1.6" + flutter_test: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + go_router: + dependency: transitive + description: + name: go_router + sha256: e1a30a66d734f9e498b1b6522d6a75ded28242bad2359a9158df38a1c30bcf1f + url: "https://pub.dev" + source: hosted + version: "10.2.0" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + home_widget: + dependency: "direct main" + description: + name: home_widget + sha256: "9514c47422d511e87a3923ffed3fc4eb82540e168d7715d1560ceb1f02d5ec80" + url: "https://pub.dev" + source: hosted + version: "0.1.6" + html: + dependency: transitive + description: + name: html + sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" + url: "https://pub.dev" + source: hosted + version: "0.15.4" + http: + dependency: transitive + description: + name: http + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + url: "https://pub.dev" + source: hosted + version: "0.13.6" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + i18n_extension: + dependency: transitive + description: + name: i18n_extension + sha256: db45cd88cf3114f5b9368d975aebebe4ac37fa634fbc5643634289cdfd4d3631 + url: "https://pub.dev" + source: hosted + version: "9.0.2" + image_crop: + dependency: "direct main" + description: + path: "." + ref: HEAD + resolved-ref: "5e98cdd539a47861c1f81e230344b7fd338dde4f" + url: "https://github.com/kimaah/image_crop.git" + source: git + version: "0.4.1" + image_gallery_saver: + dependency: transitive + description: + name: image_gallery_saver + sha256: "0aba74216a4d9b0561510cb968015d56b701ba1bd94aace26aacdd8ae5761816" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c + url: "https://pub.dev" + source: hosted + version: "0.8.9" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: "0c7b83bbe2980c8a8e36e974f055e11e51675784e13a4762889feed0f3937ff2" + url: "https://pub.dev" + source: hosted + version: "0.8.8+1" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497 + url: "https://pub.dev" + source: hosted + version: "0.8.8+2" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + url: "https://pub.dev" + source: hosted + version: "2.9.1" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + intl: + dependency: transitive + description: + name: intl + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + url: "https://pub.dev" + source: hosted + version: "0.18.1" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + linkify: + dependency: transitive + description: + name: linkify + sha256: bdfbdafec6cdc9cd0ebb333a868cafc046714ad508e48be8095208c54691d959 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + lints: + dependency: transitive + description: + name: lints + sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c + url: "https://pub.dev" + source: hosted + version: "1.0.1" + live_activities: + dependency: transitive + description: + name: live_activities + sha256: acc8f7817d2a2db2da58ff662dad15e8bd638f946d7f6748d2615727cfc4d71e + url: "https://pub.dev" + source: hosted + version: "1.7.5" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + lottie: + dependency: "direct main" + description: + name: lottie + sha256: "893da7a0022ec2fcaa616f34529a081f617e86cc501105b856e5a3184c58c7c2" + url: "https://pub.dev" + source: hosted + version: "1.4.3" + macos_window_utils: + dependency: transitive + description: + name: macos_window_utils + sha256: b3dfd47bbc605f0e315af684b50370a8f84932267aaa542098063fa384d593bd + url: "https://pub.dev" + source: hosted + version: "1.4.0" + markdown: + dependency: transitive + description: + name: markdown + sha256: acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd + url: "https://pub.dev" + source: hosted + version: "7.1.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + nm: + dependency: transitive + description: + name: nm + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + open_file: + dependency: transitive + description: + path: "." + ref: master + resolved-ref: "69268cb6e3ce422cc493788088317cb82313ecea" + url: "https://github.com/crazecoder/open_file" + source: git + version: "3.3.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + package_info_plus: + dependency: transitive + description: + name: package_info_plus + sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + permission_handler: + dependency: transitive + description: + name: permission_handler + sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5 + url: "https://pub.dev" + source: hosted + version: "10.4.5" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47" + url: "https://pub.dev" + source: hosted + version: "10.3.6" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" + url: "https://pub.dev" + source: hosted + version: "9.1.4" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" + url: "https://pub.dev" + source: hosted + version: "3.12.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 + url: "https://pub.dev" + source: hosted + version: "0.1.3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + url: "https://pub.dev" + source: hosted + version: "5.4.0" + photo_view: + dependency: transitive + description: + name: photo_view + sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb" + url: "https://pub.dev" + source: hosted + version: "0.14.0" + platform: + dependency: transitive + description: + name: platform + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + url: "https://pub.dev" + source: hosted + version: "3.1.3" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + url: "https://pub.dev" + source: hosted + version: "2.1.6" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + url: "https://pub.dev" + source: hosted + version: "3.7.3" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + process_run: + dependency: transitive + description: + name: process_run + sha256: ceacfac6d566a36c895d64edc7e429efb2d6b6303b5e28d5c13bc59fe6e8974e + url: "https://pub.dev" + source: hosted + version: "0.13.1" + provider: + dependency: "direct main" + description: + name: provider + sha256: "59471e0a4595e264625d3496af567ac85bdae1148ec985aff1e0555786f53ecf" + url: "https://pub.dev" + source: hosted + version: "5.0.0" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + quick_actions: + dependency: transitive + description: + name: quick_actions + sha256: "3930e1cf78a0574495b4ea741ee197323c4a9081321d6ae384b3bfcd84c7ea83" + url: "https://pub.dev" + source: hosted + version: "1.0.6" + quick_actions_android: + dependency: transitive + description: + name: quick_actions_android + sha256: f2ddc2c0cc5c001e87e62f6de06da18ebc75c6a06d26750f6f12276841c1585c + url: "https://pub.dev" + source: hosted + version: "1.0.8" + quick_actions_ios: + dependency: transitive + description: + name: quick_actions_ios + sha256: f086cf98884421188c7c5c13f61b62aeb5b6fb88f197a0601db45108b1444ea6 + url: "https://pub.dev" + source: hosted + version: "1.0.7" + quick_actions_platform_interface: + dependency: transitive + description: + name: quick_actions_platform_interface + sha256: d2a8566b56eec49f93934528b62033906199c60f4ffaef0cba9ef02fcfed8a81 + url: "https://pub.dev" + source: hosted + version: "1.0.5" + rive: + dependency: transitive + description: + name: rive + sha256: "22e3755b75f4ea4492d2fecf4fc2acf1c8d0073df39781d290a20cbfe74c3760" + url: "https://pub.dev" + source: hosted + version: "0.9.1" + rounded_expansion_tile: + dependency: transitive + description: + path: "." + ref: HEAD + resolved-ref: aa1074fde76312befe9618ee958e5b9a1aad66d0 + url: "https://github.com/kimaah/rounded_expansion_tile.git" + source: git + version: "0.0.13" + screenshot: + dependency: transitive + description: + name: screenshot + sha256: "455284ff1f5b911d94a43c25e1385485cf6b4f288293eba68f15dad711c7b81c" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + share_plus: + dependency: transitive + description: + name: share_plus + sha256: "6cec740fa0943a826951223e76218df002804adb588235a8910dc3d6b0654e11" + url: "https://pub.dev" + source: hosted + version: "7.1.0" + share_plus_platform_interface: + dependency: transitive + description: + name: share_plus_platform_interface + sha256: "357412af4178d8e11d14f41723f80f12caea54cf0d5cd29af9dcdab85d58aea7" + url: "https://pub.dev" + source: hosted + version: "3.3.0" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" + url: "https://pub.dev" + source: hosted + version: "2.3.0" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "1b92f368f44b0dee2425bb861cfa17b6f6cf3961f762ff6f941d20b33355660a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + sqflite_common_ffi: + dependency: transitive + description: + name: sqflite_common_ffi + sha256: "0d5cc1be2eb18400ac6701c31211d44164393aa75886093002ecdd947be04f93" + url: "https://pub.dev" + source: hosted + version: "2.3.0+2" + sqflite_common_ffi_web: + dependency: transitive + description: + name: sqflite_common_ffi_web + sha256: db9a7ef6adcfb6c9b4115f628c1d3efe3774b385309a80e75c1bafb97da2c9d1 + url: "https://pub.dev" + source: hosted + version: "0.4.0" + sqlite3: + dependency: transitive + description: + name: sqlite3 + sha256: db65233e6b99e99b2548932f55a987961bc06d82a31a0665451fa0b4fff4c3fb + url: "https://pub.dev" + source: hosted + version: "2.1.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test: + dependency: transitive + description: + name: test + sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46" + url: "https://pub.dev" + source: hosted + version: "1.24.3" + test_api: + dependency: transitive + description: + name: test_api + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + test_core: + dependency: transitive + description: + name: test_core + sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e" + url: "https://pub.dev" + source: hosted + version: "0.5.3" + timezone: + dependency: transitive + description: + name: timezone + sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + url: "https://pub.dev" + source: hosted + version: "0.9.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + uni_links: + dependency: "direct main" + description: + name: uni_links + sha256: "051098acfc9e26a9fde03b487bef5d3d228ca8f67693480c6f33fd4fbb8e2b6e" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + uni_links_platform_interface: + dependency: transitive + description: + name: uni_links_platform_interface + sha256: "929cf1a71b59e3b7c2d8a2605a9cf7e0b125b13bc858e55083d88c62722d4507" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + uni_links_web: + dependency: transitive + description: + name: uni_links_web + sha256: "7539db908e25f67de2438e33cc1020b30ab94e66720b5677ba6763b25f6394df" + url: "https://pub.dev" + source: hosted + version: "0.1.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27" + url: "https://pub.dev" + source: hosted + version: "6.1.14" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f" + url: "https://pub.dev" + source: hosted + version: "6.1.5" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e + url: "https://pub.dev" + source: hosted + version: "3.0.6" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88 + url: "https://pub.dev" + source: hosted + version: "3.0.7" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5" + url: "https://pub.dev" + source: hosted + version: "2.0.20" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069" + url: "https://pub.dev" + source: hosted + version: "3.0.8" + uuid: + dependency: transitive + description: + name: uuid + sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + url: "https://pub.dev" + source: hosted + version: "3.0.7" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 + url: "https://pub.dev" + source: hosted + version: "11.10.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" + source: hosted + version: "2.4.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + win32: + dependency: transitive + description: + name: win32 + sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + url: "https://pub.dev" + source: hosted + version: "5.0.9" + workmanager: + dependency: transitive + description: + name: workmanager + sha256: ed13530cccd28c5c9959ad42d657cd0666274ca74c56dea0ca183ddd527d3a00 + url: "https://pub.dev" + source: hosted + version: "0.5.2" + wtf_sliding_sheet: + dependency: transitive + description: + name: wtf_sliding_sheet + sha256: fbce1d6b08bb8c5f6c4381346120b2e476600a236e0501552adfa47751f9ac61 + url: "https://pub.dev" + source: hosted + version: "1.1.2" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + url: "https://pub.dev" + source: hosted + version: "1.0.3" + xml: + dependency: transitive + description: + name: xml + sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + url: "https://pub.dev" + source: hosted + version: "6.3.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.1.2 <4.0.0" + flutter: ">=3.13.0" diff --git a/filcnaplo_premium/pubspec.yaml b/filcnaplo_premium_old/pubspec.yaml similarity index 100% rename from filcnaplo_premium/pubspec.yaml rename to filcnaplo_premium_old/pubspec.yaml From 6a1eafe980571ba73ca3b62c1f004174741dc72b Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:22:43 +0200 Subject: [PATCH 04/65] added submodule --- .gitmodules | 3 +++ filcnaplo_premium | 1 + 2 files changed, 4 insertions(+) create mode 160000 filcnaplo_premium diff --git a/.gitmodules b/.gitmodules index e69de29..a899a84 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "filcnaplo_premium"] + path = filcnaplo_premium + url = git@github.com:kimaah/naplo-plus.git diff --git a/filcnaplo_premium b/filcnaplo_premium new file mode 160000 index 0000000..7a8ac0b --- /dev/null +++ b/filcnaplo_premium @@ -0,0 +1 @@ +Subproject commit 7a8ac0bd0c6c7675ca905a2c1e4589900035305d From 797963e63df3b9203c6ae02fdb84f810c200c341 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:22:59 +0200 Subject: [PATCH 05/65] removed shit --- filcnaplo_premium | 2 +- .../.dart_tool/package_config.json | 1172 ------------- .../.dart_tool/package_config_subset | 777 --------- filcnaplo_premium_old/.dart_tool/version | 1 - filcnaplo_premium_old/.flutter-plugins | 57 - .../.flutter-plugins-dependencies | 1 - filcnaplo_premium_old/README.md | 3 - filcnaplo_premium_old/analysis_options.yaml | 28 - filcnaplo_premium_old/lib/api/auth.dart | 124 -- .../lib/models/premium_result.dart | 21 - .../lib/models/premium_scopes.dart | 33 - .../lib/providers/goal_provider.dart | 68 - .../lib/providers/premium_provider.dart | 27 - .../goal_planner/goal_complete_modal.dart | 252 --- .../ui/mobile/goal_planner/goal_input.dart | 180 -- .../ui/mobile/goal_planner/goal_planner.dart | 191 -- .../goal_planner/goal_planner_screen.dart | 429 ----- .../goal_planner_screen.i18n.dart | 45 - .../goal_planner/goal_state_screen.dart | 469 ----- .../goal_planner/goal_state_screen.i18n.dart | 87 - .../ui/mobile/goal_planner/grade_display.dart | 34 - .../lib/ui/mobile/goal_planner/graph.dart | 249 --- .../ui/mobile/goal_planner/graph.i18n.dart | 21 - .../ui/mobile/goal_planner/route_option.dart | 202 --- .../activation_view/activation_dashboard.dart | 197 --- .../activation_view/activation_view.dart | 67 - .../lib/ui/mobile/premium/premium_inline.dart | 66 - .../lib/ui/mobile/premium/upsell.dart | 183 -- .../mobile/settings/modify_teacher_names.dart | 436 ----- .../lib/ui/mobile/settings/share_theme.dart | 26 - .../ui/mobile/settings/welcome_message.dart | 146 -- filcnaplo_premium_old/pubspec.lock | 1534 ----------------- filcnaplo_premium_old/pubspec.yaml | 38 - 33 files changed, 1 insertion(+), 7165 deletions(-) delete mode 100644 filcnaplo_premium_old/.dart_tool/package_config.json delete mode 100644 filcnaplo_premium_old/.dart_tool/package_config_subset delete mode 100644 filcnaplo_premium_old/.dart_tool/version delete mode 100644 filcnaplo_premium_old/.flutter-plugins delete mode 100644 filcnaplo_premium_old/.flutter-plugins-dependencies delete mode 100644 filcnaplo_premium_old/README.md delete mode 100644 filcnaplo_premium_old/analysis_options.yaml delete mode 100644 filcnaplo_premium_old/lib/api/auth.dart delete mode 100644 filcnaplo_premium_old/lib/models/premium_result.dart delete mode 100644 filcnaplo_premium_old/lib/models/premium_scopes.dart delete mode 100644 filcnaplo_premium_old/lib/providers/goal_provider.dart delete mode 100644 filcnaplo_premium_old/lib/providers/premium_provider.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart delete mode 100644 filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart delete mode 100644 filcnaplo_premium_old/pubspec.lock delete mode 100644 filcnaplo_premium_old/pubspec.yaml diff --git a/filcnaplo_premium b/filcnaplo_premium index 7a8ac0b..3e12ef4 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit 7a8ac0bd0c6c7675ca905a2c1e4589900035305d +Subproject commit 3e12ef4cc2e375b3fb2a9182bbfe42b0f90e9116 diff --git a/filcnaplo_premium_old/.dart_tool/package_config.json b/filcnaplo_premium_old/.dart_tool/package_config.json deleted file mode 100644 index c8641e6..0000000 --- a/filcnaplo_premium_old/.dart_tool/package_config.json +++ /dev/null @@ -1,1172 +0,0 @@ -{ - "configVersion": 2, - "packages": [ - { - "name": "_fe_analyzer_shared", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "analyzer", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "animated_background", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "animated_flip_counter", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "animated_list_plus", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "animations", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "app_group_directory", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "archive", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "args", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "async", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "auto_size_text", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "background_fetch", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "boolean_selector", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "characters", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "charcode", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "clock", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "collection", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "confetti", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "connectivity_plus", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "connectivity_plus_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "convert", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "coverage", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "cross_file", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "crypto", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "csslib", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "cupertino_icons", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "dbus", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8", - "packageUri": "lib/", - "languageVersion": "2.15" - }, - { - "name": "dev_test", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "dotted_border", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "dropdown_button2", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "dynamic_color", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7", - "packageUri": "lib/", - "languageVersion": "2.16" - }, - { - "name": "elegant_notification", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "equatable", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "fake_async", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "ffi", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "filcnaplo", - "rootUri": "../../filcnaplo", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "filcnaplo_desktop_ui", - "rootUri": "../../filcnaplo_desktop_ui", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "filcnaplo_kreta_api", - "rootUri": "../../filcnaplo_kreta_api", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "filcnaplo_mobile_ui", - "rootUri": "../../filcnaplo_mobile_ui", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "file", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "file_picker", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "file_selector_linux", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "file_selector_macos", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "file_selector_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "file_selector_windows", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "fl_chart", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter", - "rootUri": "file:///Users/kima/src/flutter/packages/flutter", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "flutter_acrylic", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_custom_tabs", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_custom_tabs_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_custom_tabs_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_displaymode", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_expandable_fab", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "flutter_feather_icons", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_image_compress", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_image_compress_common", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_image_compress_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_image_compress_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1", - "packageUri": "lib/", - "languageVersion": "2.16" - }, - { - "name": "flutter_linkify", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_lints", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_local_notifications", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "flutter_local_notifications_linux", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "flutter_local_notifications_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "flutter_localizations", - "rootUri": "file:///Users/kima/src/flutter/packages/flutter_localizations", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "flutter_markdown", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "flutter_material_color_picker", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "flutter_native_image", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_plugin_android_lifecycle", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "flutter_staggered_grid_view", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "flutter_svg", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "flutter_test", - "rootUri": "file:///Users/kima/src/flutter/packages/flutter_test", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "flutter_web_plugins", - "rootUri": "file:///Users/kima/src/flutter/packages/flutter_web_plugins", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "frontend_server_client", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "glob", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "go_router", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "graphs", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "home_widget", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "html", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "http", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "http_multi_server", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "http_parser", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "i18n_extension", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_crop", - "rootUri": "file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "image_gallery_saver", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "image_picker", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "image_picker_android", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_picker_for_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "image_picker_ios", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_picker_linux", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_picker_macos", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_picker_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "image_picker_windows", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "intl", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "io", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "js", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "linkify", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "lints", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "live_activities", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "logging", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "lottie", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "macos_window_utils", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "markdown", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "matcher", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "material_color_utilities", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "meta", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "mime", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "nested", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "nm", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "node_preamble", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "open_file", - "rootUri": "file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "package_config", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "package_info_plus", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "package_info_plus_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "path", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "path_drawing", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "path_parsing", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "path_provider", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "path_provider_android", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "path_provider_foundation", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "path_provider_linux", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "path_provider_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "path_provider_windows", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "permission_handler", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5", - "packageUri": "lib/", - "languageVersion": "2.15" - }, - { - "name": "permission_handler_android", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6", - "packageUri": "lib/", - "languageVersion": "2.15" - }, - { - "name": "permission_handler_apple", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4", - "packageUri": "lib/", - "languageVersion": "2.15" - }, - { - "name": "permission_handler_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0", - "packageUri": "lib/", - "languageVersion": "2.14" - }, - { - "name": "permission_handler_windows", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "petitparser", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "photo_view", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "platform", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "plugin_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "pointycastle", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3", - "packageUri": "lib/", - "languageVersion": "2.14" - }, - { - "name": "pool", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "process_run", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "provider", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "pub_semver", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "quick_actions", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "quick_actions_android", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "quick_actions_ios", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "quick_actions_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "rive", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "rounded_expansion_tile", - "rootUri": "file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "screenshot", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "share_plus", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "share_plus_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "shelf", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "shelf_packages_handler", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "shelf_static", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "shelf_web_socket", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "sky_engine", - "rootUri": "file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "source_map_stack_trace", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "source_maps", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "source_span", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "sprintf", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "sqflite", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "sqflite_common", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "sqflite_common_ffi", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "sqflite_common_ffi_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "sqlite3", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "stack_trace", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "stream_channel", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1", - "packageUri": "lib/", - "languageVersion": "2.14" - }, - { - "name": "string_scanner", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "synchronized", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "term_glyph", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "test", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "test_api", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "test_core", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3", - "packageUri": "lib/", - "languageVersion": "2.18" - }, - { - "name": "timezone", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "typed_data", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "uni_links", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "uni_links_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "uni_links_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "url_launcher", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "url_launcher_android", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "url_launcher_ios", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "url_launcher_linux", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "url_launcher_macos", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "url_launcher_platform_interface", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "url_launcher_web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20", - "packageUri": "lib/", - "languageVersion": "3.1" - }, - { - "name": "url_launcher_windows", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "uuid", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7", - "packageUri": "lib/", - "languageVersion": "2.12" - }, - { - "name": "vector_math", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4", - "packageUri": "lib/", - "languageVersion": "2.14" - }, - { - "name": "vm_service", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "watcher", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "web", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta", - "packageUri": "lib/", - "languageVersion": "3.1" - }, - { - "name": "web_socket_channel", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0", - "packageUri": "lib/", - "languageVersion": "2.15" - }, - { - "name": "webkit_inspection_protocol", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "win32", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9", - "packageUri": "lib/", - "languageVersion": "3.0" - }, - { - "name": "workmanager", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2", - "packageUri": "lib/", - "languageVersion": "3.1" - }, - { - "name": "wtf_sliding_sheet", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2", - "packageUri": "lib/", - "languageVersion": "2.17" - }, - { - "name": "xdg_directories", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "xml", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "yaml", - "rootUri": "file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2", - "packageUri": "lib/", - "languageVersion": "2.19" - }, - { - "name": "filcnaplo_premium", - "rootUri": "../", - "packageUri": "lib/", - "languageVersion": "2.17" - } - ], - "generated": "2023-10-15T18:32:39.904170Z", - "generator": "pub", - "generatorVersion": "3.1.3" -} diff --git a/filcnaplo_premium_old/.dart_tool/package_config_subset b/filcnaplo_premium_old/.dart_tool/package_config_subset deleted file mode 100644 index a51dd1e..0000000 --- a/filcnaplo_premium_old/.dart_tool/package_config_subset +++ /dev/null @@ -1,777 +0,0 @@ -image_crop -2.17 -file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/ -file:///Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/lib/ -open_file -2.17 -file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/ -file:///Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/lib/ -rounded_expansion_tile -2.12 -file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/ -file:///Users/kima/.pub-cache/git/rounded_expansion_tile-aa1074fde76312befe9618ee958e5b9a1aad66d0/lib/ -_fe_analyzer_shared -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-61.0.0/lib/ -analyzer -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/analyzer-5.13.0/lib/ -animated_background -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_background-2.0.0/lib/ -animated_flip_counter -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.6/lib/ -animated_list_plus -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.2/lib/ -animations -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8/ -file:///Users/kima/.pub-cache/hosted/pub.dev/animations-2.0.8/lib/ -app_group_directory -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/lib/ -archive -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/archive-3.4.6/lib/ -args -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/args-2.4.2/lib/ -async -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/async-2.11.0/lib/ -auto_size_text -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/lib/ -background_fetch -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/lib/ -boolean_selector -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/ -characters -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/characters-1.3.0/lib/ -charcode -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/charcode-1.3.1/lib/ -clock -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/ -collection -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/collection-1.17.2/lib/ -confetti -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/confetti-0.6.0/lib/ -connectivity_plus -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/lib/ -connectivity_plus_platform_interface -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/lib/ -convert -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/convert-3.1.1/lib/ -coverage -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/coverage-1.6.4/lib/ -cross_file -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/cross_file-0.3.3+6/lib/ -crypto -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/crypto-3.0.3/lib/ -csslib -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/csslib-1.0.0/lib/ -cupertino_icons -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.6/lib/ -dbus -2.15 -file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8/ -file:///Users/kima/.pub-cache/hosted/pub.dev/dbus-0.7.8/lib/ -dev_test -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/dev_test-0.16.1+4/lib/ -dotted_border -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/lib/ -dropdown_button2 -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/lib/ -dynamic_color -2.16 -file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/ -file:///Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/lib/ -elegant_notification -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/elegant_notification-1.11.2/lib/ -equatable -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/equatable-2.0.5/lib/ -fake_async -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/ -ffi -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/ffi-2.1.0/lib/ -file -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file-7.0.0/lib/ -file_picker -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/lib/ -file_selector_linux -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/lib/ -file_selector_macos -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/lib/ -file_selector_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.1/lib/ -file_selector_windows -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/lib/ -fl_chart -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/lib/ -flutter_acrylic -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/lib/ -flutter_custom_tabs -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/lib/ -flutter_custom_tabs_platform_interface -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.2.0/lib/ -flutter_custom_tabs_web -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/lib/ -flutter_displaymode -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/lib/ -flutter_expandable_fab -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/lib/ -flutter_feather_icons -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/lib/ -flutter_image_compress -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/lib/ -flutter_image_compress_common -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/lib/ -flutter_image_compress_platform_interface -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_platform_interface-1.0.2/lib/ -flutter_image_compress_web -2.16 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/lib/ -flutter_linkify -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/lib/ -flutter_lints -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/lib/ -flutter_local_notifications -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/lib/ -flutter_local_notifications_linux -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/lib/ -flutter_local_notifications_platform_interface -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/lib/ -flutter_markdown -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.18/lib/ -flutter_material_color_picker -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.2.0/lib/ -flutter_native_image -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/lib/ -flutter_plugin_android_lifecycle -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/lib/ -flutter_staggered_grid_view -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_staggered_grid_view-0.7.0/lib/ -flutter_svg -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/lib/ -frontend_server_client -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/frontend_server_client-3.2.0/lib/ -glob -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/glob-2.1.2/lib/ -go_router -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/go_router-10.2.0/lib/ -graphs -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/graphs-2.3.1/lib/ -home_widget -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/lib/ -html -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/html-0.15.4/lib/ -http -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/http-0.13.6/lib/ -http_multi_server -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/lib/ -http_parser -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/ -i18n_extension -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/i18n_extension-9.0.2/lib/ -image_gallery_saver -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/lib/ -image_picker -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/lib/ -image_picker_android -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/lib/ -image_picker_for_web -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/lib/ -image_picker_ios -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/lib/ -image_picker_linux -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/lib/ -image_picker_macos -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/lib/ -image_picker_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.9.1/lib/ -image_picker_windows -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/lib/ -intl -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/intl-0.18.1/lib/ -io -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/io-1.0.4/lib/ -js -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7/ -file:///Users/kima/.pub-cache/hosted/pub.dev/js-0.6.7/lib/ -linkify -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/linkify-4.1.0/lib/ -lints -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/lints-1.0.1/lib/ -live_activities -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/lib/ -logging -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/logging-1.2.0/lib/ -lottie -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/lottie-1.4.3/lib/ -macos_window_utils -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/lib/ -markdown -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/markdown-7.1.1/lib/ -matcher -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16/ -file:///Users/kima/.pub-cache/hosted/pub.dev/matcher-0.12.16/lib/ -material_color_utilities -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/material_color_utilities-0.5.0/lib/ -meta -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/meta-1.9.1/lib/ -mime -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/mime-1.0.4/lib/ -nested -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/nested-1.0.0/lib/ -nm -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/ -node_preamble -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/node_preamble-2.0.2/lib/ -package_config -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/package_config-2.1.0/lib/ -package_info_plus -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/lib/ -package_info_plus_platform_interface -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib/ -path -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path-1.8.3/lib/ -path_drawing -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib/ -path_parsing -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/lib/ -path_provider -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/lib/ -path_provider_android -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/lib/ -path_provider_foundation -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/lib/ -path_provider_linux -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/ -path_provider_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.1/lib/ -path_provider_windows -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/lib/ -permission_handler -2.15 -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/lib/ -permission_handler_android -2.15 -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/lib/ -permission_handler_apple -2.15 -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/lib/ -permission_handler_platform_interface -2.14 -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.12.0/lib/ -permission_handler_windows -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/lib/ -petitparser -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib/ -photo_view -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib/ -platform -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/platform-3.1.3/lib/ -plugin_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.6/lib/ -pointycastle -2.14 -file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib/ -pool -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/ -process_run -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/process_run-0.13.1/lib/ -provider -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/provider-5.0.0/lib/ -pub_semver -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/pub_semver-2.1.4/lib/ -quick_actions -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/lib/ -quick_actions_android -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/ -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/lib/ -quick_actions_ios -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/ -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/lib/ -quick_actions_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.5/lib/ -rive -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/rive-0.9.1/lib/ -screenshot -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/screenshot-2.1.0/lib/ -share_plus -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/lib/ -share_plus_platform_interface -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.3.0/lib/ -shelf -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf-1.4.1/lib/ -shelf_packages_handler -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_packages_handler-3.0.2/lib/ -shelf_static -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_static-1.1.2/lib/ -shelf_web_socket -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.4/lib/ -source_map_stack_trace -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/source_map_stack_trace-2.1.1/lib/ -source_maps -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12/ -file:///Users/kima/.pub-cache/hosted/pub.dev/source_maps-0.10.12/lib/ -source_span -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/ -sprintf -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib/ -sqflite -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/lib/ -sqflite_common -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common-2.5.0/lib/ -sqflite_common_ffi -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.3.0+2/lib/ -sqflite_common_ffi_web -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sqflite_common_ffi_web-0.4.0/lib/ -sqlite3 -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/sqlite3-2.1.0/lib/ -stack_trace -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/ -stream_channel -2.14 -file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/ -string_scanner -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/ -synchronized -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/synchronized-3.1.0/lib/ -term_glyph -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/ -test -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/test-1.24.3/lib/ -test_api -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/test_api-0.6.0/lib/ -test_core -2.18 -file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/test_core-0.5.3/lib/ -timezone -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/timezone-0.9.2/lib/ -typed_data -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/ -uni_links -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/lib/ -uni_links_platform_interface -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/lib/ -uni_links_web -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/lib/ -url_launcher -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/lib/ -url_launcher_android -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/lib/ -url_launcher_ios -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/lib/ -url_launcher_linux -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/lib/ -url_launcher_macos -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/lib/ -url_launcher_platform_interface -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.5/lib/ -url_launcher_web -3.1 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/lib/ -url_launcher_windows -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/ -file:///Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/lib/ -uuid -2.12 -file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7/ -file:///Users/kima/.pub-cache/hosted/pub.dev/uuid-3.0.7/lib/ -vector_math -2.14 -file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4/ -file:///Users/kima/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/ -vm_service -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/vm_service-11.10.0/lib/ -watcher -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/watcher-1.1.0/lib/ -web -3.1 -file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta/ -file:///Users/kima/.pub-cache/hosted/pub.dev/web-0.1.4-beta/lib/ -web_socket_channel -2.15 -file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/web_socket_channel-2.4.0/lib/ -webkit_inspection_protocol -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1/ -file:///Users/kima/.pub-cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1/lib/ -win32 -3.0 -file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9/ -file:///Users/kima/.pub-cache/hosted/pub.dev/win32-5.0.9/lib/ -workmanager -3.1 -file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/lib/ -wtf_sliding_sheet -2.17 -file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.1.2/lib/ -xdg_directories -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3/ -file:///Users/kima/.pub-cache/hosted/pub.dev/xdg_directories-1.0.3/lib/ -xml -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0/ -file:///Users/kima/.pub-cache/hosted/pub.dev/xml-6.3.0/lib/ -yaml -2.19 -file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2/ -file:///Users/kima/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib/ -filcnaplo -2.17 -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo/ -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo/lib/ -filcnaplo_desktop_ui -2.17 -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_desktop_ui/ -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_desktop_ui/lib/ -filcnaplo_kreta_api -2.17 -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_kreta_api/ -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_kreta_api/lib/ -filcnaplo_mobile_ui -2.17 -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_mobile_ui/ -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_mobile_ui/lib/ -filcnaplo_premium -2.17 -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_premium/ -file:///Users/kima/Documents/refilc/app/latest/naplo/filcnaplo_premium/lib/ -sky_engine -3.0 -file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine/ -file:///Users/kima/src/flutter/bin/cache/pkg/sky_engine/lib/ -flutter -3.0 -file:///Users/kima/src/flutter/packages/flutter/ -file:///Users/kima/src/flutter/packages/flutter/lib/ -flutter_localizations -3.0 -file:///Users/kima/src/flutter/packages/flutter_localizations/ -file:///Users/kima/src/flutter/packages/flutter_localizations/lib/ -flutter_test -3.0 -file:///Users/kima/src/flutter/packages/flutter_test/ -file:///Users/kima/src/flutter/packages/flutter_test/lib/ -flutter_web_plugins -3.0 -file:///Users/kima/src/flutter/packages/flutter_web_plugins/ -file:///Users/kima/src/flutter/packages/flutter_web_plugins/lib/ -2 diff --git a/filcnaplo_premium_old/.dart_tool/version b/filcnaplo_premium_old/.dart_tool/version deleted file mode 100644 index 78472f9..0000000 --- a/filcnaplo_premium_old/.dart_tool/version +++ /dev/null @@ -1 +0,0 @@ -3.13.6 \ No newline at end of file diff --git a/filcnaplo_premium_old/.flutter-plugins b/filcnaplo_premium_old/.flutter-plugins deleted file mode 100644 index c611b12..0000000 --- a/filcnaplo_premium_old/.flutter-plugins +++ /dev/null @@ -1,57 +0,0 @@ -# This is a generated file; do not edit or check into version control. -app_group_directory=/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/ -background_fetch=/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/ -connectivity_plus=/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/ -dynamic_color=/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/ -file_picker=/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/ -file_selector_linux=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/ -file_selector_macos=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/ -file_selector_windows=/Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/ -flutter_acrylic=/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/ -flutter_custom_tabs=/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/ -flutter_custom_tabs_web=/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/ -flutter_displaymode=/Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/ -flutter_image_compress=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress-2.0.4/ -flutter_image_compress_common=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/ -flutter_image_compress_web=/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/ -flutter_local_notifications=/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/ -flutter_native_image=/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/ -flutter_plugin_android_lifecycle=/Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/ -home_widget=/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/ -image_crop=/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/ -image_gallery_saver=/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/ -image_picker=/Users/kima/.pub-cache/hosted/pub.dev/image_picker-0.8.9/ -image_picker_android=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/ -image_picker_for_web=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/ -image_picker_ios=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/ -image_picker_linux=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ -image_picker_macos=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/ -image_picker_windows=/Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ -live_activities=/Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/ -macos_window_utils=/Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/ -open_file=/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/ -package_info_plus=/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/ -path_provider=/Users/kima/.pub-cache/hosted/pub.dev/path_provider-2.1.1/ -path_provider_android=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/ -path_provider_foundation=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/ -path_provider_linux=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ -path_provider_windows=/Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ -permission_handler=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler-10.4.5/ -permission_handler_android=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/ -permission_handler_apple=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/ -permission_handler_windows=/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/ -quick_actions=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions-1.0.6/ -quick_actions_android=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/ -quick_actions_ios=/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/ -share_plus=/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/ -sqflite=/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/ -uni_links=/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/ -uni_links_web=/Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/ -url_launcher=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/ -url_launcher_android=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/ -url_launcher_ios=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/ -url_launcher_linux=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/ -url_launcher_macos=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/ -url_launcher_web=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/ -url_launcher_windows=/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/ -workmanager=/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/ diff --git a/filcnaplo_premium_old/.flutter-plugins-dependencies b/filcnaplo_premium_old/.flutter-plugins-dependencies deleted file mode 100644 index 9de477a..0000000 --- a/filcnaplo_premium_old/.flutter-plugins-dependencies +++ /dev/null @@ -1 +0,0 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"app_group_directory","path":"/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/","native_build":true,"dependencies":[]},{"name":"background_fetch","path":"/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/","native_build":true,"dependencies":[]},{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","native_build":true,"dependencies":[]},{"name":"flutter_custom_tabs","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/","native_build":true,"dependencies":[]},{"name":"flutter_image_compress_common","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"flutter_native_image","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/","native_build":true,"dependencies":[]},{"name":"home_widget","path":"/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/","native_build":true,"dependencies":[]},{"name":"image_crop","path":"/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/","native_build":true,"dependencies":[]},{"name":"image_gallery_saver","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8+2/","native_build":true,"dependencies":[]},{"name":"live_activities","path":"/Users/kima/.pub-cache/hosted/pub.dev/live_activities-1.7.5/","native_build":true,"dependencies":["app_group_directory","flutter_native_image"]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_apple-9.1.4/","native_build":true,"dependencies":[]},{"name":"quick_actions_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.7/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"uni_links","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/","native_build":true,"dependencies":[]},{"name":"workmanager","path":"/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/","native_build":true,"dependencies":[]}],"android":[{"name":"app_group_directory","path":"/Users/kima/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/","native_build":true,"dependencies":[]},{"name":"background_fetch","path":"/Users/kima/.pub-cache/hosted/pub.dev/background_fetch-1.2.1/","native_build":true,"dependencies":[]},{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_custom_tabs","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.2.1/","native_build":true,"dependencies":[]},{"name":"flutter_displaymode","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/","native_build":true,"dependencies":[]},{"name":"flutter_image_compress_common","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_common-1.0.2/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"flutter_native_image","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/","native_build":true,"dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/","native_build":true,"dependencies":[]},{"name":"home_widget","path":"/Users/kima/.pub-cache/hosted/pub.dev/home_widget-0.1.6/","native_build":true,"dependencies":[]},{"name":"image_crop","path":"/Users/kima/.pub-cache/git/image_crop-5e98cdd539a47861c1f81e230344b7fd338dde4f/","native_build":true,"dependencies":[]},{"name":"image_gallery_saver","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_gallery_saver-2.0.3/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_android-0.8.8+1/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_android-10.3.6/","native_build":true,"dependencies":[]},{"name":"quick_actions_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.8/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"uni_links","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links-0.5.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/","native_build":true,"dependencies":[]},{"name":"workmanager","path":"/Users/kima/.pub-cache/hosted/pub.dev/workmanager-0.5.2/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"flutter_local_notifications","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.4/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"macos_window_utils","path":"/Users/kima/.pub-cache/hosted/pub.dev/macos_window_utils-1.4.0/","native_build":true,"dependencies":[]},{"name":"open_file","path":"/Users/kima/.pub-cache/git/open_file-69268cb6e3ce422cc493788088317cb82313ecea/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/kima/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":false,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/","native_build":true,"dependencies":[]},{"name":"flutter_acrylic","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"url_launcher_linux","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/","native_build":true,"dependencies":[]}],"windows":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","native_build":true,"dependencies":[]},{"name":"dynamic_color","path":"/Users/kima/.pub-cache/hosted/pub.dev/dynamic_color-1.6.7/","native_build":true,"dependencies":[]},{"name":"file_selector_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"flutter_acrylic","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.3/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"url_launcher_windows","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/","native_build":true,"dependencies":[]}],"web":[{"name":"connectivity_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.2/","dependencies":[]},{"name":"file_picker","path":"/Users/kima/.pub-cache/hosted/pub.dev/file_picker-5.5.0/","dependencies":[]},{"name":"flutter_custom_tabs_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.1.0/","dependencies":["url_launcher_web"]},{"name":"flutter_image_compress_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/flutter_image_compress_web-0.1.3+1/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/","dependencies":[]},{"name":"package_info_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/package_info_plus-4.1.0/","dependencies":[]},{"name":"share_plus","path":"/Users/kima/.pub-cache/hosted/pub.dev/share_plus-7.1.0/","dependencies":["url_launcher_web"]},{"name":"uni_links_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/kima/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.20/","dependencies":[]}]},"dependencyGraph":[{"name":"app_group_directory","dependencies":[]},{"name":"background_fetch","dependencies":[]},{"name":"connectivity_plus","dependencies":[]},{"name":"dynamic_color","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_acrylic","dependencies":["macos_window_utils"]},{"name":"flutter_custom_tabs","dependencies":["flutter_custom_tabs_web"]},{"name":"flutter_custom_tabs_web","dependencies":["url_launcher_web"]},{"name":"flutter_displaymode","dependencies":[]},{"name":"flutter_image_compress","dependencies":["flutter_image_compress_common","flutter_image_compress_web"]},{"name":"flutter_image_compress_common","dependencies":[]},{"name":"flutter_image_compress_web","dependencies":[]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_native_image","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"home_widget","dependencies":[]},{"name":"image_crop","dependencies":[]},{"name":"image_gallery_saver","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"live_activities","dependencies":["app_group_directory","flutter_image_compress","path_provider","flutter_native_image"]},{"name":"macos_window_utils","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"quick_actions","dependencies":["quick_actions_android","quick_actions_ios"]},{"name":"quick_actions_android","dependencies":[]},{"name":"quick_actions_ios","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":["uni_links_web"]},{"name":"uni_links_web","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"workmanager","dependencies":[]}],"date_created":"2023-10-15 20:32:40.202130","version":"3.13.6"} \ No newline at end of file diff --git a/filcnaplo_premium_old/README.md b/filcnaplo_premium_old/README.md deleted file mode 100644 index c7f8a35..0000000 --- a/filcnaplo_premium_old/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Premium ✨ - -A collection of features only accessible for premium subscribers. diff --git a/filcnaplo_premium_old/analysis_options.yaml b/filcnaplo_premium_old/analysis_options.yaml deleted file mode 100644 index 16f5f56..0000000 --- a/filcnaplo_premium_old/analysis_options.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/filcnaplo_premium_old/lib/api/auth.dart b/filcnaplo_premium_old/lib/api/auth.dart deleted file mode 100644 index 45ddf5c..0000000 --- a/filcnaplo_premium_old/lib/api/auth.dart +++ /dev/null @@ -1,124 +0,0 @@ -import 'dart:async'; -import 'dart:developer'; -import 'dart:io'; - -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_premium/models/premium_scopes.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:home_widget/home_widget.dart'; - -class PremiumAuth { - final SettingsProvider _settings; - - PremiumAuth({required SettingsProvider settings}) : _settings = settings; - - initAuth() { - finishAuth("igen"); - // try { - // _sub ??= uriLinkStream.listen( - // (Uri? uri) { - // if (uri != null) { - // final accessToken = uri.queryParameters['access_token']; - // if (accessToken != null) { - // finishAuth(accessToken); - // } - // } - // }, - // onError: (err) { - // log("ERROR: initAuth: $err"); - // }, - // ); - - // launchUrl( - // Uri.parse("https://api.filcnaplo.hu/oauth"), - // mode: LaunchMode.externalApplication, - // ); - // } catch (err, sta) { - // log("ERROR: initAuth: $err\n$sta"); - // } - } - - Future finishAuth(String accessToken) async { - try { - // final res = await http.get(Uri.parse("${FilcAPI.premiumScopesApi}?access_token=${Uri.encodeComponent(accessToken)}")); - // final scopes = ((jsonDecode(res.body) as Map)["scopes"] as List).cast(); - // log("[INFO] Premium auth finish: ${scopes.join(',')}"); - await _settings.update(premiumAccessToken: accessToken); - final result = await refreshAuth(); - if (Platform.isAndroid) updateWidget(); - return result; - } catch (err, sta) { - log("[ERROR] Premium auth failed: $err\n$sta"); - } - - await _settings.update(premiumAccessToken: "", premiumScopes: []); - if (Platform.isAndroid) updateWidget(); - return false; - } - - Future updateWidget() async { - try { - return HomeWidget.updateWidget(name: 'widget_timetable.WidgetTimetable'); - } on PlatformException catch (exception) { - if (kDebugMode) { - print('Error Updating Widget After Auth. $exception'); - } - } - return false; - } - - Future refreshAuth({bool removePremium = false}) async { - await _settings.update( - premiumAccessToken: "igen", - premiumScopes: [PremiumScopes.all], - premiumLogin: "igen", - ); - return true; - //if (!removePremium) { - //if (_settings.premiumAccessToken == "") { - // await _settings.update(premiumScopes: [], premiumLogin: ""); - // return false; - //} - - // Skip premium check when disconnected - // try { - // final status = await InternetAddress.lookup('github.com'); - // if (status.isEmpty) return false; - // } on SocketException catch (_) { - // return false; - // } - - //for (int tries = 0; tries < 3; tries++) { - // try { - // final res = await http.post(Uri.parse(FilcAPI.premiumApi), body: { - // "access_token": _settings.premiumAccessToken, - // }); -// - // if (res.body == "") throw "empty body"; - - // final premium = PremiumResult.fromJson(jsonDecode(res.body) as Map); - // Activation succeeded - // log("[INFO] Premium activated: ${premium.scopes.join(',')}"); - // await _settings.update( - // premiumAccessToken: premium.accessToken, - // premiumScopes: premium.scopes, - // premiumLogin: premium.login, - // ); - // return true; - // } catch (err, sta) { - // log("[ERROR] Premium activation failed: $err\n$sta"); - // } - - // await Future.delayed(const Duration(seconds: 1)); - // - //} - - // Activation failed - //await _settings.update( - // premiumAccessToken: "igen", - // premiumScopes: [PremiumScopes.all], - // premiumLogin: "igen"); - //return false; - } -} diff --git a/filcnaplo_premium_old/lib/models/premium_result.dart b/filcnaplo_premium_old/lib/models/premium_result.dart deleted file mode 100644 index 41270ea..0000000 --- a/filcnaplo_premium_old/lib/models/premium_result.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:filcnaplo_premium/models/premium_scopes.dart'; - -class PremiumResult { - final String accessToken; - final List scopes; - final String login; - - PremiumResult({ - required this.accessToken, - required this.scopes, - required this.login, - }); - - factory PremiumResult.fromJson(Map json) { - return PremiumResult( - accessToken: json["access_token"] ?? "igen", - scopes: (json["scopes"] ?? [PremiumScopes.all]).cast(), - login: json["login"] ?? "igen", - ); - } -} diff --git a/filcnaplo_premium_old/lib/models/premium_scopes.dart b/filcnaplo_premium_old/lib/models/premium_scopes.dart deleted file mode 100644 index f793723..0000000 --- a/filcnaplo_premium_old/lib/models/premium_scopes.dart +++ /dev/null @@ -1,33 +0,0 @@ -class PremiumScopes { - /// VIP - static const all = "filc.premium.*"; - - /// Kupak - - /// Custom nickname - static const nickname = "filc.premium.NICKNAME"; - - /// Advanced grade statistics - static const gradeStats = "filc.premium.GRADE_STATS"; - - /// Advanced theme customization - static const customColors = "filc.premium.CUSTOM_COLORS"; - - /// Icon pack customization for subjects - static const customIcons = "filc.premium.CUSTOM_ICONS"; - - /// Modify subject names - static const renameSubjects = "filc.premium.RENAME_SUBJECTS"; - static const renameTeachers = "filc.premium.RENAME_TEACHERS"; - - /// Tinta - - /// Timetable homescreen widget - static const timetableWidget = "filc.premium.TIMETALBE_WIDGET"; - - /// Goal Planner - static const goalPlanner = "filc.premium.GOAL_PLANNER"; - - /// Fullscreen weekly timetable view - static const fsTimetable = "filc.premium.FS_TIMETABLE"; -} diff --git a/filcnaplo_premium_old/lib/providers/goal_provider.dart b/filcnaplo_premium_old/lib/providers/goal_provider.dart deleted file mode 100644 index 1529903..0000000 --- a/filcnaplo_premium_old/lib/providers/goal_provider.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:filcnaplo/api/providers/database_provider.dart'; -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo_kreta_api/models/subject.dart'; -import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; -import 'package:flutter/widgets.dart'; - -class GoalProvider extends ChangeNotifier { - final DatabaseProvider _db; - final UserProvider _user; - - late bool _done = false; - late GradeSubject? _doneSubject; - - bool get hasDoneGoals => _done; - GradeSubject? get doneSubject => _doneSubject; - - GoalProvider({ - required DatabaseProvider database, - required UserProvider user, - }) : _db = database, - _user = user; - - Future fetchDone({required GradeProvider gradeProvider}) async { - var goalAvgs = await _db.userQuery.subjectGoalAverages(userId: _user.id!); - var beforeAvgs = await _db.userQuery.subjectGoalBefores(userId: _user.id!); - - List subjects = gradeProvider.grades - .map((e) => e.subject) - .toSet() - .toList() - ..sort((a, b) => a.name.compareTo(b.name)); - - goalAvgs.forEach((k, v) { - if (beforeAvgs[k] == v) { - _done = true; - _doneSubject = subjects.where((e) => e.id == k).toList()[0]; - - notifyListeners(); - } - }); - } - - void lock() { - _done = false; - _doneSubject = null; - } - - Future clearGoal(GradeSubject subject) async { - final goalPlans = await _db.userQuery.subjectGoalPlans(userId: _user.id!); - final goalAvgs = await _db.userQuery.subjectGoalAverages(userId: _user.id!); - final goalBeforeGrades = - await _db.userQuery.subjectGoalBefores(userId: _user.id!); - final goalPinDates = - await _db.userQuery.subjectGoalPinDates(userId: _user.id!); - - goalPlans.remove(subject.id); - goalAvgs.remove(subject.id); - goalBeforeGrades.remove(subject.id); - goalPinDates.remove(subject.id); - - await _db.userStore.storeSubjectGoalPlans(goalPlans, userId: _user.id!); - await _db.userStore.storeSubjectGoalAverages(goalAvgs, userId: _user.id!); - await _db.userStore - .storeSubjectGoalBefores(goalBeforeGrades, userId: _user.id!); - await _db.userStore - .storeSubjectGoalPinDates(goalPinDates, userId: _user.id!); - } -} diff --git a/filcnaplo_premium_old/lib/providers/premium_provider.dart b/filcnaplo_premium_old/lib/providers/premium_provider.dart deleted file mode 100644 index 2f5fdfd..0000000 --- a/filcnaplo_premium_old/lib/providers/premium_provider.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_premium/api/auth.dart'; -import 'package:flutter/widgets.dart'; - -class PremiumProvider extends ChangeNotifier { - final SettingsProvider _settings; - List get scopes => _settings.premiumScopes; - bool hasScope(String scope) => true; - String get accessToken => _settings.premiumAccessToken; - String get login => _settings.premiumLogin; - bool get hasPremium => true; - - late final PremiumAuth _auth; - PremiumAuth get auth => _auth; - - PremiumProvider({required SettingsProvider settings}) : _settings = settings { - _auth = PremiumAuth(settings: _settings); - _settings.addListener(() { - notifyListeners(); - }); - } - - Future activate({bool removePremium = false}) async { - await _auth.refreshAuth(removePremium: removePremium); - notifyListeners(); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart deleted file mode 100644 index cce1654..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_complete_modal.dart +++ /dev/null @@ -1,252 +0,0 @@ -import 'package:filcnaplo/api/providers/database_provider.dart'; -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo_kreta_api/models/subject.dart'; -import 'package:filcnaplo_mobile_ui/common/average_display.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_state_screen.i18n.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; - -class GoalCompleteModal extends StatelessWidget { - const GoalCompleteModal( - this.subject, { - Key? key, - required this.user, - required this.database, - required this.goalAverage, - required this.beforeAverage, - required this.averageDifference, - }) : super(key: key); - - final UserProvider user; - final DatabaseProvider database; - final GradeSubject subject; - - final double goalAverage; - final double beforeAverage; - final double averageDifference; - - @override - Widget build(BuildContext context) { - return Dialog( - elevation: 0, - backgroundColor: Colors.transparent, - child: Container( - padding: const EdgeInsets.all(16.0), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.background, - borderRadius: BorderRadius.circular(20.0), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - Container( - width: double.infinity, - decoration: BoxDecoration( - image: const DecorationImage( - image: AssetImage('assets/images/static_confetti.png'), - fit: BoxFit.fitWidth, - alignment: Alignment.topCenter, - ), - color: Colors.white, - borderRadius: BorderRadius.circular(10.0), - ), - padding: const EdgeInsets.all(6.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - goalAverage.toStringAsFixed(1), - textAlign: TextAlign.center, - style: const TextStyle( - color: Colors.white, - fontSize: 64.0, - fontWeight: FontWeight.w800, - ), - ), - // const SizedBox(width: 10.0), - // Icon( - // SubjectIcon.resolveVariant( - // subject: subject, context: context), - // color: Colors.white, - // size: 64.0, - // ), - ], - ), - ), - const SizedBox(height: 10.0), - Text( - 'congrats_title'.i18n, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 27.0, - fontWeight: FontWeight.w700, - height: 1.2, - color: AppColors.of(context).text, - ), - ), - Text( - 'goal_reached'.i18n.fill(['20']), - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 15.0, - fontWeight: FontWeight.w500, - height: 1.1, - color: AppColors.of(context).text, - ), - ), - const SizedBox(height: 18.0), - Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'started_at'.i18n, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 17.0, - fontWeight: FontWeight.w500, - color: AppColors.of(context).text, - ), - ), - const SizedBox(width: 5.0), - AverageDisplay( - average: beforeAverage, - ), - ], - ), - Text( - 'improved_by'.i18n.fill([ - averageDifference.toStringAsFixed(2) + '%', - ]), - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 17.0, - fontWeight: FontWeight.w500, - color: AppColors.of(context).text, - ), - ), - ], - ), - const SizedBox(height: 20.0), - Column( - children: [ - GestureDetector( - onTap: () { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text("Hamarosan...")), - ); - }, - child: Container( - width: double.infinity, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.0), - gradient: const LinearGradient( - colors: [ - Color(0xFFCAECFA), - Color(0xFFF4D9EE), - Color(0xFFF3EFDA), - ], - stops: [0.0, 0.53, 1.0], - begin: Alignment.topLeft, - end: Alignment.bottomRight, - ), - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: Text( - 'detailed_stats'.i18n, - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 18.0, - fontWeight: FontWeight.w700, - color: Color(0xFF691A9B), - ), - ), - ), - ), - ), - const SizedBox(height: 10.0), - GestureDetector( - onTap: () { - Navigator.of(context).pop(); - }, - child: Container( - width: double.infinity, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.0), - color: const Color.fromARGB(38, 131, 131, 131), - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: Text( - 'later'.i18n, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 18.0, - fontWeight: FontWeight.w700, - color: AppColors.of(context).text, - ), - ), - ), - ), - ), - ], - ), - ], - ), - ), - ); - - // return Padding( - // padding: const EdgeInsets.symmetric(vertical: 100.0, horizontal: 32.0), - // child: Material( - // borderRadius: BorderRadius.circular(12.0), - // child: Padding( - // padding: const EdgeInsets.all(12.0), - // child: Column( - // children: [ - // // content or idk - // ], - // ), - // ), - // ), - // ); - } - - static Future show( - GradeSubject subject, { - required BuildContext context, - }) async { - UserProvider user = Provider.of(context, listen: false); - DatabaseProvider db = Provider.of(context, listen: false); - - var goalAvgRes = await db.userQuery.subjectGoalAverages(userId: user.id!); - var beforeAvgRes = await db.userQuery.subjectGoalBefores(userId: user.id!); - - //DateTime goalPinDate = DateTime.parse((await db.userQuery.subjectGoalPinDates(userId: user.id!))[widget.subject.id]!); - - String? goalAvgStr = goalAvgRes[subject.id]; - String? beforeAvgStr = beforeAvgRes[subject.id]; - double goalAvg = double.parse(goalAvgStr ?? '0.0'); - double beforeAvg = double.parse(beforeAvgStr ?? '0.0'); - - double avgDifference = ((goalAvg - beforeAvg) / beforeAvg.abs()) * 100; - - return showDialog( - context: context, - builder: (context) => GoalCompleteModal( - subject, - user: user, - database: db, - goalAverage: goalAvg, - beforeAverage: beforeAvg, - averageDifference: avgDifference, - ), - barrierDismissible: false, - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart deleted file mode 100644 index 6fdfe54..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_input.dart +++ /dev/null @@ -1,180 +0,0 @@ -import 'package:filcnaplo/models/settings.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:provider/provider.dart'; - -class GoalInput extends StatelessWidget { - const GoalInput( - {Key? key, - required this.currentAverage, - required this.value, - required this.onChanged}) - : super(key: key); - - final double currentAverage; - final double value; - final void Function(double value) onChanged; - - void offsetToValue(Offset offset, Size size) { - double v = ((offset.dx / size.width * 4 + 1) * 10).round() / 10; - v = v.clamp(1.5, 5); - v = v.clamp(((currentAverage * 10).round() / 10), 5); - setValue(v); - } - - void setValue(double v) { - if (v != value) { - HapticFeedback.lightImpact(); - } - onChanged(v); - } - - @override - Widget build(BuildContext context) { - SettingsProvider settings = Provider.of(context); - - List presets = [2, 3, 4, 5]; - presets = presets.where((e) => gradeToAvg(e) > currentAverage).toList(); - - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - LayoutBuilder(builder: (context, size) { - return GestureDetector( - onTapDown: (details) { - offsetToValue(details.localPosition, size.biggest); - }, - onHorizontalDragUpdate: (details) { - offsetToValue(details.localPosition, size.biggest); - }, - child: SizedBox( - height: 32.0, - width: double.infinity, - child: Padding( - padding: const EdgeInsets.only(right: 20.0), - child: CustomPaint( - painter: GoalSliderPainter( - value: (value - 1) / 4, settings: settings), - ), - ), - ), - ); - }), - const SizedBox(height: 12.0), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: presets.map((e) { - final pv = (value * 10).round() / 10; - final selected = gradeToAvg(e) == pv; - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 12.0), - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(99.0), - color: - gradeColor(e, settings).withOpacity(selected ? 1.0 : 0.2), - border: Border.all(color: gradeColor(e, settings), width: 4), - ), - child: Material( - type: MaterialType.transparency, - child: InkWell( - borderRadius: BorderRadius.circular(99.0), - onTap: () => setValue(gradeToAvg(e)), - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 2.0, horizontal: 24.0), - child: Text( - e.toString(), - style: TextStyle( - color: - selected ? Colors.white : gradeColor(e, settings), - fontWeight: FontWeight.bold, - fontSize: 24.0, - ), - ), - ), - ), - ), - ), - ); - }).toList(), - ) - ], - ); - } -} - -class GoalSliderPainter extends CustomPainter { - final double value; - final SettingsProvider settings; - - GoalSliderPainter({required this.value, required this.settings}); - - @override - void paint(Canvas canvas, Size size) { - final radius = size.height / 2; - const cpadding = 4; - final rect = Rect.fromLTWH(0, 0, size.width + radius, size.height); - final vrect = Rect.fromLTWH(0, 0, size.width * value + radius, size.height); - canvas.drawRRect( - RRect.fromRectAndRadius( - rect, - const Radius.circular(99.0), - ), - Paint()..color = Colors.black.withOpacity(.1), - ); - canvas.drawRRect( - RRect.fromRectAndRadius( - vrect, - const Radius.circular(99.0), - ), - Paint() - ..shader = LinearGradient(colors: [ - settings.gradeColors[0], - settings.gradeColors[1], - settings.gradeColors[2], - settings.gradeColors[3], - settings.gradeColors[4], - ]).createShader(rect), - ); - canvas.drawOval( - Rect.fromCircle( - center: Offset(size.width * value, size.height / 2), - radius: radius - cpadding), - Paint()..color = Colors.white, - ); - for (int i = 1; i < 4; i++) { - canvas.drawOval( - Rect.fromCircle( - center: Offset(size.width / 4 * i, size.height / 2), radius: 4), - Paint()..color = Colors.white.withOpacity(.5), - ); - } - } - - @override - bool shouldRepaint(GoalSliderPainter oldDelegate) { - return oldDelegate.value != value; - } -} - -double gradeToAvg(int grade) { - return grade - 0.5; -} - -Color gradeColor(int grade, SettingsProvider settings) { - // return [ - // const Color(0xffFF3B30), - // const Color(0xffFF9F0A), - // const Color(0xffFFD60A), - // const Color(0xff34C759), - // const Color(0xff247665), - // ].elementAt(grade.clamp(1, 5) - 1); - return [ - settings.gradeColors[0], - settings.gradeColors[1], - settings.gradeColors[2], - settings.gradeColors[3], - settings.gradeColors[4], - ].elementAt(grade.clamp(1, 5) - 1); -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart deleted file mode 100644 index 31e445b..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner.dart +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Maintainer: DarK - * Translated from C version - * Minimal Working Fixed @ 2022.12.25 - * ##Please do NOT modify if you don't know whats going on## - * - * Issue: #59 - * - * Future changes / ideas: - * - `best` should be configurable - */ -import 'dart:math'; -import 'package:filcnaplo_kreta_api/models/category.dart'; -import 'package:filcnaplo_kreta_api/models/grade.dart'; -import 'package:filcnaplo_kreta_api/models/subject.dart'; -import 'package:filcnaplo_kreta_api/models/teacher.dart'; -import 'package:flutter/foundation.dart' show listEquals; - -/// Generate list of grades that achieve the wanted goal. -/// After generating possible options, it (when doing so would NOT result in empty list) filters with two criteria: -/// - Plan should not contain more than 15 grades -/// - Plan should not contain only one type of grade -/// -/// **Usage**: -/// -/// ```dart -/// List GoalPlanner(double goal, List grades).solve().plan -/// ``` -class GoalPlanner { - final double goal; - final List grades; - List plans = []; - GoalPlanner(this.goal, this.grades); - - bool _allowed(int grade) => grade > goal; - - void _generate(Generator g) { - // Exit condition 1: Generator has working plan. - if (g.currentAvg.avg >= goal) { - plans.add(Plan(g.plan)); - return; - } - // Exit condition 2: Generator plan will never work. - if (!_allowed(g.gradeToAdd)) { - return; - } - - for (int i = g.max; i >= 0; i--) { - int newGradeToAdd = g.gradeToAdd - 1; - List newPlan = - GoalPlannerHelper._addToList(g.plan, g.gradeToAdd, i); - - Avg newAvg = GoalPlannerHelper._addToAvg(g.currentAvg, g.gradeToAdd, i); - int newN = GoalPlannerHelper.howManyNeeded( - newGradeToAdd, - grades + - newPlan - .map((e) => Grade( - id: '', - date: DateTime(0), - value: GradeValue(e, '', '', 100), - teacher: Teacher.fromString(''), - description: '', - form: '', - groupId: '', - type: GradeType.midYear, - subject: GradeSubject.fromJson({}), - mode: Category.fromJson({}), - seenDate: DateTime(0), - writeDate: DateTime(0), - )) - .toList(), - goal); - - _generate(Generator(newGradeToAdd, newN, newAvg, newPlan)); - } - } - - List solve() { - _generate( - Generator( - 5, - GoalPlannerHelper.howManyNeeded( - 5, - grades, - goal, - ), - Avg(GoalPlannerHelper.averageEvals(grades), - GoalPlannerHelper.weightSum(grades)), - [], - ), - ); - - // Calculate Statistics - for (var e in plans) { - e.sum = e.plan.fold(0, (int a, b) => a + b); - e.avg = e.sum / e.plan.length; - e.sigma = sqrt( - e.plan.map((i) => pow(i - e.avg, 2)).fold(0, (num a, b) => a + b) / - e.plan.length); - } - - // filter without aggression - if (plans.where((e) => e.plan.length < 30).isNotEmpty) { - plans.removeWhere((e) => !(e.plan.length < 30)); - } - if (plans.where((e) => e.sigma > 1).isNotEmpty) { - plans.removeWhere((e) => !(e.sigma > 1)); - } - - return plans; - } -} - -class Avg { - final double avg; - final double n; - - Avg(this.avg, this.n); -} - -class Generator { - final int gradeToAdd; - final int max; - final Avg currentAvg; - final List plan; - - Generator(this.gradeToAdd, this.max, this.currentAvg, this.plan); -} - -class Plan { - final List plan; - int sum = 0; - double avg = 0; - int med = 0; // currently - int mod = 0; // unused - double sigma = 0; - - Plan(this.plan); - - String get dbString { - var finalString = ''; - for (var i in plan) { - finalString += "$i,"; - } - return finalString; - } - - @override - bool operator ==(other) => other is Plan && listEquals(plan, other.plan); - - @override - int get hashCode => Object.hashAll(plan); -} - -class GoalPlannerHelper { - static Avg _addToAvg(Avg base, int grade, int n) => - Avg((base.avg * base.n + grade * n) / (base.n + n), base.n + n); - - static List _addToList(List l, T e, int n) { - if (n == 0) return l; - List tmp = l; - for (int i = 0; i < n; i++) { - tmp = tmp + [e]; - } - return tmp; - } - - static int howManyNeeded(int grade, List base, double goal) { - double avg = averageEvals(base); - double wsum = weightSum(base); - if (avg >= goal) return 0; - if (grade * 1.0 == goal) return -1; - int candidate = (wsum * (avg - goal) / (goal - grade)).floor(); - return (candidate * grade + avg * wsum) / (candidate + wsum) < goal - ? candidate + 1 - : candidate; - } - - static double averageEvals(List grades, {bool finalAvg = false}) { - double average = grades - .map((e) => e.value.value * e.value.weight / 100.0) - .fold(0.0, (double a, double b) => a + b) / - weightSum(grades, finalAvg: finalAvg); - return average.isNaN ? 0.0 : average; - } - - static double weightSum(List grades, {bool finalAvg = false}) => grades - .map((e) => finalAvg ? 1 : e.value.weight / 100) - .fold(0, (a, b) => a + b); -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart deleted file mode 100644 index 258a0f1..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.dart +++ /dev/null @@ -1,429 +0,0 @@ -import 'package:filcnaplo/api/providers/database_provider.dart'; -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/helpers/average_helper.dart'; -import 'package:filcnaplo/helpers/subject.dart'; -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_kreta_api/models/grade.dart'; -import 'package:filcnaplo_kreta_api/models/group_average.dart'; -import 'package:filcnaplo_kreta_api/models/subject.dart'; -import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; -import 'package:filcnaplo_mobile_ui/common/average_display.dart'; -import 'package:filcnaplo_mobile_ui/common/round_border_icon.dart'; -import 'package:filcnaplo_mobile_ui/pages/grades/calculator/grade_calculator_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_input.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_planner.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_planner_screen.i18n.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/route_option.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; - -enum PlanResult { - available, // There are possible solutions - unreachable, // The solutions are too hard don't even try - unsolvable, // There are no solutions - reached, // Goal already reached -} - -class GoalPlannerScreen extends StatefulWidget { - final GradeSubject subject; - - const GoalPlannerScreen({Key? key, required this.subject}) : super(key: key); - - @override - State createState() => _GoalPlannerScreenState(); -} - -class _GoalPlannerScreenState extends State { - late GradeProvider gradeProvider; - late GradeCalculatorProvider calculatorProvider; - late SettingsProvider settingsProvider; - late DatabaseProvider dbProvider; - late UserProvider user; - - bool gradeCalcMode = false; - - List getSubjectGrades(GradeSubject subject) => !gradeCalcMode - ? gradeProvider.grades.where((e) => e.subject == subject).toList() - : calculatorProvider.grades.where((e) => e.subject == subject).toList(); - - double goalValue = 4.0; - List grades = []; - - Plan? recommended; - Plan? fastest; - Plan? selectedRoute; - List otherPlans = []; - - @override - void initState() { - super.initState(); - user = Provider.of(context, listen: false); - dbProvider = Provider.of(context, listen: false); - } - - Future> fetchGoalPlans() async { - return await dbProvider.userQuery.subjectGoalPlans(userId: user.id!); - } - - Future> fetchGoalAverages() async { - return await dbProvider.userQuery.subjectGoalAverages(userId: user.id!); - } - - // haha bees lol - Future> fetchGoalBees() async { - return await dbProvider.userQuery.subjectGoalBefores(userId: user.id!); - } - - Future> fetchGoalPinDates() async { - return await dbProvider.userQuery.subjectGoalPinDates(userId: user.id!); - } - - PlanResult getResult() { - final currentAvg = GoalPlannerHelper.averageEvals(grades); - - recommended = null; - fastest = null; - otherPlans = []; - - if (currentAvg >= goalValue) return PlanResult.reached; - - final planner = GoalPlanner(goalValue, grades); - final plans = planner.solve(); - - plans.sort((a, b) => (a.avg - (2 * goalValue + 5) / 3) - .abs() - .compareTo(b.avg - (2 * goalValue + 5) / 3)); - - try { - final singleSolution = plans.every((e) => e.sigma == 0); - recommended = - plans.where((e) => singleSolution ? true : e.sigma > 0).first; - plans.removeWhere((e) => e == recommended); - } catch (_) {} - - plans.sort((a, b) => a.plan.length.compareTo(b.plan.length)); - - try { - fastest = plans.removeAt(0); - } catch (_) {} - - if ((recommended?.plan.length ?? 0) - (fastest?.plan.length ?? 0) >= 3) { - recommended = fastest; - } - - if (recommended == null) { - recommended = null; - fastest = null; - otherPlans = []; - selectedRoute = null; - return PlanResult.unsolvable; - } - - if (recommended!.plan.length > 10) { - recommended = null; - fastest = null; - otherPlans = []; - selectedRoute = null; - return PlanResult.unreachable; - } - - otherPlans = List.from(plans); - - return PlanResult.available; - } - - void getGrades() { - grades = getSubjectGrades(widget.subject).toList(); - } - - @override - Widget build(BuildContext context) { - gradeProvider = Provider.of(context); - calculatorProvider = Provider.of(context); - settingsProvider = Provider.of(context); - - getGrades(); - - final currentAvg = GoalPlannerHelper.averageEvals(grades); - - final result = getResult(); - - List subjectGrades = getSubjectGrades(widget.subject); - - double avg = AverageHelper.averageEvals(subjectGrades); - - var nullavg = GroupAverage(average: 0.0, subject: widget.subject, uid: "0"); - double groupAverage = gradeProvider.groupAverages - .firstWhere((e) => e.subject == widget.subject, orElse: () => nullavg) - .average; - - return Scaffold( - body: SafeArea( - child: ListView( - padding: const EdgeInsets.only( - top: 5.0, - bottom: 220.0, - right: 15.0, - left: 2.0, - ), - children: [ - // Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - // children: [ - // const BackButton(), - // Padding( - // padding: const EdgeInsets.only(right: 15.0), - // child: Row( - // children: [ - // Text( - // 'goal_planner_title'.i18n, - // style: const TextStyle( - // fontWeight: FontWeight.w500, fontSize: 18.0), - // ), - // const SizedBox( - // width: 5, - // ), - // const BetaChip(), - // ], - // ), - // ), - // ], - // ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Row( - children: [ - const BackButton(), - RoundBorderIcon( - icon: Icon( - SubjectIcon.resolveVariant( - context: context, - subject: widget.subject, - ), - size: 18, - weight: 1.5, - ), - ), - const SizedBox( - width: 5.0, - ), - Text( - (widget.subject.isRenamed - ? widget.subject.renamedTo - : widget.subject.name) ?? - 'goal_planner_title'.i18n, - style: const TextStyle( - fontSize: 20.0, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - Row( - children: [ - if (groupAverage != 0) - AverageDisplay(average: groupAverage, border: true), - const SizedBox(width: 6.0), - AverageDisplay(average: avg), - ], - ), - ], - ), - const SizedBox(height: 12.0), - Padding( - padding: const EdgeInsets.only(left: 22.0, right: 22.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "set_a_goal".i18n, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 20.0, - ), - ), - const SizedBox(height: 4.0), - Text( - goalValue.toString(), - style: TextStyle( - fontWeight: FontWeight.w900, - fontSize: 48.0, - color: gradeColor(goalValue.round(), settingsProvider), - ), - ), - // Column( - // mainAxisAlignment: MainAxisAlignment.center, - // children: [ - // Text( - // "select_subject".i18n, - // style: const TextStyle( - // fontWeight: FontWeight.bold, - // fontSize: 20.0, - // ), - // ), - // const SizedBox(height: 4.0), - // Column( - // children: [ - // Icon( - // SubjectIcon.resolveVariant( - // context: context, - // subject: widget.subject, - // ), - // size: 48.0, - // ), - // Text( - // (widget.subject.isRenamed - // ? widget.subject.renamedTo - // : widget.subject.name) ?? - // '', - // style: const TextStyle( - // fontSize: 17.0, - // fontWeight: FontWeight.w500, - // ), - // ) - // ], - // ) - // ], - // ) - const SizedBox(height: 24.0), - Text( - "pick_route".i18n, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 20.0, - ), - ), - const SizedBox(height: 12.0), - if (recommended != null) - RouteOption( - plan: recommended!, - mark: RouteMark.recommended, - selected: selectedRoute == recommended!, - onSelected: () => setState(() { - selectedRoute = recommended; - }), - ), - if (fastest != null && fastest != recommended) - RouteOption( - plan: fastest!, - mark: RouteMark.fastest, - selected: selectedRoute == fastest!, - onSelected: () => setState(() { - selectedRoute = fastest; - }), - ), - ...otherPlans.map((e) => RouteOption( - plan: e, - selected: selectedRoute == e, - onSelected: () => setState(() { - selectedRoute = e; - }), - )), - if (result != PlanResult.available) Text(result.name.i18n), - ], - ), - ), - ], - ), - ), - bottomSheet: MediaQuery.removePadding( - context: context, - removeBottom: false, - removeTop: true, - child: Container( - color: Theme.of(context).scaffoldBackgroundColor, - child: Container( - padding: const EdgeInsets.only(top: 24.0), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.background, - borderRadius: - const BorderRadius.vertical(top: Radius.circular(24.0)), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(.1), - blurRadius: 8.0, - ) - ]), - child: SafeArea( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20.0), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - GoalInput( - value: goalValue, - currentAverage: currentAvg, - onChanged: (v) => setState(() { - selectedRoute = null; - goalValue = v; - }), - ), - const SizedBox(height: 24.0), - SizedBox( - width: double.infinity, - child: RawMaterialButton( - onPressed: () async { - if (selectedRoute == null) { - ScaffoldMessenger.of(context).showSnackBar(SnackBar( - content: Text('${"pick_route".i18n}...'))); - } - - final goalPlans = await fetchGoalPlans(); - final goalAvgs = await fetchGoalAverages(); - final goalBeforeGrades = await fetchGoalBees(); - final goalPinDates = await fetchGoalPinDates(); - - goalPlans[widget.subject.id] = - selectedRoute!.dbString; - goalAvgs[widget.subject.id] = - goalValue.toStringAsFixed(2); - goalBeforeGrades[widget.subject.id] = - avg.toStringAsFixed(2); - goalPinDates[widget.subject.id] = - DateTime.now().toIso8601String(); - // goalPlans[widget.subject.id] = '1,2,3,4,5,'; - // goalAvgs[widget.subject.id] = '3.69'; - // goalBeforeGrades[widget.subject.id] = '3.69'; - // goalPinDates[widget.subject.id] = - // DateTime.now().toIso8601String(); - - await dbProvider.userStore.storeSubjectGoalPlans( - goalPlans, - userId: user.id!); - await dbProvider.userStore.storeSubjectGoalAverages( - goalAvgs, - userId: user.id!); - await dbProvider.userStore.storeSubjectGoalBefores( - goalBeforeGrades, - userId: user.id!); - await dbProvider.userStore.storeSubjectGoalPinDates( - goalPinDates, - userId: user.id!); - - Navigator.of(context).pop(); - }, - fillColor: Theme.of(context).colorScheme.primary, - shape: const StadiumBorder(), - padding: const EdgeInsets.symmetric(vertical: 8.0), - child: Text( - "track_it".i18n, - style: const TextStyle( - color: Colors.white, - fontSize: 20.0, - fontWeight: FontWeight.w600, - ), - ), - ), - ) - ], - ), - ), - ), - ), - ), - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart deleted file mode 100644 index 0e99214..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_planner_screen.i18n.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:i18n_extension/i18n_extension.dart'; - -extension Localization on String { - static final _t = Translations.byLocale("hu_hu") + - { - "en_en": { - "goal_planner_title": "Goal Planning", - "set_a_goal": "Your Goal", - "select_subject": "Subject", - "pick_route": "Pick a Route", - "track_it": "Track it!", - "recommended": "Recommended", - "fastest": "Fastest", - "unsolvable": "Unsolvable :(", - "unreachable": "Unreachable :(", - }, - "hu_hu": { - "goal_planner_title": "Cél követés", - "set_a_goal": "Kitűzött cél", - "select_subject": "Tantárgy", - "pick_route": "Válassz egy utat", - "track_it": "Követés!", - "recommended": "Ajánlott", - "fastest": "Leggyorsabb", - "unsolvable": "Megoldhatatlan :(", - "unreachable": "Elérhetetlen :(", - }, - "de_de": { - "goal_planner_title": "Zielplanung", - "set_a_goal": "Dein Ziel", - "select_subject": "Thema", - "pick_route": "Wähle einen Weg", - "track_it": "Verfolge es!", - "recommended": "Empfohlen", - "fastest": "Am schnellsten", - "unsolvable": "Unlösbar :(", - "unreachable": "Unerreichbar :(", - }, - }; - - String get i18n => localize(this, _t); - String fill(List params) => localizeFill(this, params); - String plural(int value) => localizePlural(value, this, _t); - String version(Object modifier) => localizeVersion(modifier, this, _t); -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart deleted file mode 100644 index ba577c8..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.dart +++ /dev/null @@ -1,469 +0,0 @@ -import 'package:filcnaplo/api/providers/database_provider.dart'; -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/helpers/average_helper.dart'; -import 'package:filcnaplo/helpers/subject.dart'; -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_kreta_api/models/grade.dart'; -import 'package:filcnaplo_kreta_api/models/subject.dart'; -import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; -import 'package:filcnaplo_mobile_ui/common/action_button.dart'; -import 'package:filcnaplo_mobile_ui/common/average_display.dart'; -import 'package:filcnaplo_mobile_ui/common/panel/panel.dart'; -import 'package:filcnaplo_mobile_ui/common/progress_bar.dart'; -import 'package:filcnaplo_mobile_ui/common/round_border_icon.dart'; -import 'package:filcnaplo_premium/providers/goal_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_planner.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_state_screen.i18n.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/route_option.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:provider/provider.dart'; - -import 'goal_planner_screen.dart'; -import 'graph.dart'; - -class GoalStateScreen extends StatefulWidget { - final GradeSubject subject; - - const GoalStateScreen({Key? key, required this.subject}) : super(key: key); - - @override - State createState() => _GoalStateScreenState(); -} - -class _GoalStateScreenState extends State { - late UserProvider user; - late DatabaseProvider db; - late GradeProvider gradeProvider; - late SettingsProvider settingsProvider; - - double currAvg = 0.0; - double goalAvg = 0.0; - double beforeAvg = 0.0; - double afterAvg = 0.0; - double avgDifference = 0; - - Plan? plan; - - late Widget gradeGraph; - - DateTime goalPinDate = DateTime.now(); - - void fetchGoalAverages() async { - var goalAvgRes = await db.userQuery.subjectGoalAverages(userId: user.id!); - var beforeAvgRes = await db.userQuery.subjectGoalBefores(userId: user.id!); - - goalPinDate = DateTime.parse((await db.userQuery - .subjectGoalPinDates(userId: user.id!))[widget.subject.id]!); - - String? goalAvgStr = goalAvgRes[widget.subject.id]; - String? beforeAvgStr = beforeAvgRes[widget.subject.id]; - goalAvg = double.parse(goalAvgStr ?? '0.0'); - beforeAvg = double.parse(beforeAvgStr ?? '0.0'); - - avgDifference = ((goalAvg - beforeAvg) / beforeAvg.abs()) * 100; - - setState(() {}); - } - - void fetchGoalPlan() async { - var planRes = await db.userQuery.subjectGoalPlans(userId: user.id!); - List prePlan = planRes[widget.subject.id]!.split(','); - prePlan.removeLast(); - - plan = Plan( - prePlan.map((e) => int.parse(e)).toList(), - ); - - setState(() {}); - } - - List getSubjectGrades(GradeSubject subject) => - gradeProvider.grades.where((e) => (e.subject == subject)).toList(); - - List getAfterGoalGrades(GradeSubject subject) => gradeProvider.grades - .where((e) => (e.subject == subject && e.date.isAfter(goalPinDate))) - .toList(); - - @override - void initState() { - super.initState(); - user = Provider.of(context, listen: false); - db = Provider.of(context, listen: false); - - WidgetsBinding.instance.addPostFrameCallback((_) { - fetchGoalAverages(); - fetchGoalPlan(); - }); - } - - @override - Widget build(BuildContext context) { - gradeProvider = Provider.of(context); - settingsProvider = Provider.of(context); - - var subjectGrades = getSubjectGrades(widget.subject).toList(); - currAvg = AverageHelper.averageEvals(subjectGrades); - - var afterGoalGrades = getAfterGoalGrades(widget.subject).toList(); - afterAvg = AverageHelper.averageEvals(afterGoalGrades); - - Color averageColor = currAvg >= 1 && currAvg <= 5 - ? ColorTween( - begin: settingsProvider.gradeColors[currAvg.floor() - 1], - end: settingsProvider.gradeColors[currAvg.ceil() - 1]) - .transform(currAvg - currAvg.floor())! - : Theme.of(context).colorScheme.secondary; - - gradeGraph = Padding( - padding: const EdgeInsets.only( - top: 12.0, - bottom: 8.0, - ), - child: Panel( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - padding: const EdgeInsets.only(top: 16.0, right: 12.0), - child: GoalGraph(afterGoalGrades, - dayThreshold: 5, classAvg: goalAvg), - ), - const SizedBox(height: 5.0), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'look_at_graph'.i18n, - style: const TextStyle( - fontWeight: FontWeight.w700, - fontSize: 23.0, - ), - ), - Text( - 'thats_progress'.i18n, - style: const TextStyle( - fontWeight: FontWeight.w400, - fontSize: 20.0, - ), - ), - const SizedBox(height: 15.0), - ProgressBar( - value: currAvg / goalAvg, - backgroundColor: averageColor, - height: 16.0, - ), - const SizedBox(height: 8.0), - ], - ), - ), - ], - ), - ), - ); - - return Scaffold( - body: ListView( - padding: EdgeInsets.zero, - children: [ - Container( - decoration: const BoxDecoration( - // image: DecorationImage( - // image: - // AssetImage('assets/images/subject_covers/math_light.png'), - // fit: BoxFit.fitWidth, - // alignment: Alignment.topCenter, - // ), - ), - child: Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - Theme.of(context).scaffoldBackgroundColor.withOpacity(0.2), - Theme.of(context).scaffoldBackgroundColor, - ], - stops: const [ - 0.1, - 0.22, - ], - ), - ), - child: Padding( - padding: const EdgeInsets.only( - top: 60.0, - left: 2.0, - right: 2.0, - ), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const BackButton(), - IconButton( - onPressed: () { - showDialog( - context: context, - builder: (context) => AlertDialog( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12.0)), - title: Text("attention".i18n), - content: Text("attention_body".i18n), - actions: [ - ActionButton( - label: "delete".i18n, - onTap: () async { - // clear the goal - await Provider.of(context, - listen: false) - .clearGoal(widget.subject); - // close the modal and the goal page - Navigator.of(context).pop(); - Navigator.of(context).pop(); - }, - ), - ], - ), - ); - }, - icon: const Icon(FeatherIcons.x), - ), - ], - ), - const SizedBox(height: 22.0), - Column( - children: [ - RoundBorderIcon( - icon: Icon( - SubjectIcon.resolveVariant( - context: context, - subject: widget.subject, - ), - size: 26.0, - weight: 2.5, - ), - padding: 8.0, - width: 2.5, - ), - const SizedBox( - height: 10.0, - ), - Text( - (widget.subject.isRenamed - ? widget.subject.renamedTo - : widget.subject.name) ?? - 'goal_planner_title'.i18n, - style: const TextStyle( - fontSize: 30.0, - fontWeight: FontWeight.w700, - ), - ), - Text( - 'almost_there'.i18n, - style: const TextStyle( - fontSize: 22.0, - fontWeight: FontWeight.w400, - height: 1.0, - ), - ), - ], - ), - const SizedBox(height: 28.0), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Text( - 'started_with'.i18n, - style: const TextStyle( - fontWeight: FontWeight.w700, - fontSize: 20.0, - ), - ), - const SizedBox(width: 5.0), - AverageDisplay(average: beforeAvg), - ], - ), - Row( - children: [ - Text( - 'current'.i18n, - style: const TextStyle( - fontWeight: FontWeight.w700, - fontSize: 20.0, - ), - ), - const SizedBox(width: 5.0), - AverageDisplay(average: currAvg), - const SizedBox(width: 5.0), - // ide majd kell average difference - ], - ), - ], - ), - ), - const SizedBox(height: 10.0), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 12.0), - child: Panel( - padding: const EdgeInsets.all(18.0), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'your_goal'.i18n, - style: const TextStyle( - fontSize: 23.0, - fontWeight: FontWeight.w700, - ), - ), - RawMaterialButton( - onPressed: () async { - Navigator.of(context).push( - CupertinoPageRoute( - builder: (context) => - GoalPlannerScreen( - subject: widget.subject))); - }, - fillColor: Colors.black, - shape: const StadiumBorder(), - padding: const EdgeInsets.symmetric( - horizontal: 18.0), - child: Text( - "change_it".i18n, - style: const TextStyle( - height: 1.0, - color: Colors.white, - fontSize: 14.0, - fontWeight: FontWeight.w600, - ), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - goalAvg.toString(), - style: const TextStyle( - height: 1.1, - fontSize: 42.0, - fontWeight: FontWeight.w800, - ), - ), - const SizedBox(width: 10.0), - Center( - child: Container( - padding: const EdgeInsets.symmetric( - vertical: 5.0, - horizontal: 8.0, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(45.0), - color: avgDifference.isNegative - ? Colors.redAccent.shade400 - .withOpacity(.15) - : Colors.greenAccent.shade700 - .withOpacity(.15), - ), - child: Row( - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - Icon( - avgDifference.isNegative - ? FeatherIcons.chevronDown - : FeatherIcons.chevronUp, - color: avgDifference.isNegative - ? Colors.redAccent.shade400 - : Colors.greenAccent.shade700, - size: 18.0, - ), - const SizedBox(width: 5.0), - Text( - avgDifference.toStringAsFixed(2) + - '%', - textAlign: TextAlign.center, - style: TextStyle( - color: avgDifference.isNegative - ? Colors.redAccent.shade400 - : Colors.greenAccent.shade700, - fontSize: 22.0, - height: 0.8, - fontWeight: FontWeight.w500, - ), - ), - ], - ), - ), - ), - ], - ), - ], - ), - ), - ), - const SizedBox(height: 5.0), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 12.0), - child: gradeGraph, - ), - const SizedBox(height: 5.0), - Padding( - padding: const EdgeInsets.only( - left: 12.0, - right: 12.0, - top: 5.0, - bottom: 8.0, - ), - child: Panel( - padding: const EdgeInsets.all(18.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'you_need'.i18n, - style: const TextStyle( - fontSize: 23.0, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - const SizedBox(height: 8.0), - plan != null - ? RouteOptionRow( - plan: plan!, - ) - : const Text(''), - ], - ), - ), - ), - ], - ), - ), - ), - ), - ], - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart deleted file mode 100644 index 19c56ed..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/goal_state_screen.i18n.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:i18n_extension/i18n_extension.dart'; - -extension Localization on String { - static final _t = Translations.byLocale("hu_hu") + - { - "en_en": { - // base page - "goal_planner_title": "Goal Planning", - "almost_there": "Almost there! Keep going!", - "started_with": "Started with:", - "current": "Current:", - "your_goal": "Your goal:", - "change_it": "Change it", - "look_at_graph": "Look at this graph!", - "thats_progress": - "Now that's what I call progress! Push a little more, you're almost there..", - "you_need": "You need:", - // done modal - "congrats_title": "🎉 Congratulations!", - "goal_reached": "You reached your goal after %s days!", - "started_at": "You started at", - "improved_by": "and improved your grade by %s", - "detailed_stats": "See my detailed stats", - "later": "Yay! I'll see my stats later.", - // sure delete modal - "delete": "Delete", - "attention": "Attention!", - "attention_body": - "Your goal and progress will be lost forever and cannot be restored.", - }, - "hu_hu": { - // base page - "goal_planner_title": "Cél követés", - "almost_there": "Majdnem megvan! Így tovább!", - "started_with": "Így kezdődött:", - "current": "Jelenlegi:", - "your_goal": "Célod:", - "change_it": "Megváltoztatás", - "look_at_graph": "Nézd meg ezt a grafikont!", - "thats_progress": - "Ezt nevezem haladásnak! Hajts még egy kicsit, már majdnem kész..", - "you_need": "Szükséges:", - // done modal - "congrats_title": "🎉 Gratulálunk!", - "goal_reached": "%s nap után érted el a célod!", - "started_at": "Átlagod kezdéskor:", - "improved_by": "%s-os javulást értél el!", - "detailed_stats": "Részletes statisztikám", - "later": "Hurrá! Megnézem máskor.", - // sure delete modal - "delete": "Törlés", - "attention": "Figyelem!", - "attention_body": - "A kitűzött célod és haladásod örökre elveszik és nem lesz visszaállítható.", - }, - "de_de": { - // base page - "goal_planner_title": "Zielplanung", - "almost_there": "Fast dort! Weitermachen!", - "started_with": "Begann mit:", - "current": "Aktuell:", - "your_goal": "Dein Ziel:", - "change_it": "Ändern Sie es", - "look_at_graph": "Schauen Sie sich diese Grafik an!", - "thats_progress": - "Das nenne ich Fortschritt! Drücken Sie noch ein wenig, Sie haben es fast geschafft..", - "you_need": "Du brauchst:", - // done modal - "congrats_title": "🎉 Glückwunsch!", - "goal_reached": "Du hast dein Ziel nach %s Tagen erreicht!", - "started_at": "Gesamtbewertung:", - "improved_by": "Sie haben %s Verbesserung erreicht!", - "detailed_stats": "Detaillierte Statistiken", - "later": "Hurra! Ich schaue später nach.", - // sure delete modal - "delete": "Löschen", - "attention": "Achtung!", - "attention_body": - "Ihr Ziel und Ihr Fortschritt gehen für immer verloren und können nicht wiederhergestellt werden.", - }, - }; - - String get i18n => localize(this, _t); - String fill(List params) => localizeFill(this, params); - String plural(int value) => localizePlural(value, this, _t); - String version(Object modifier) => localizeVersion(modifier, this, _t); -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart deleted file mode 100644 index 1a1142a..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/grade_display.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_input.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; - -class GradeDisplay extends StatelessWidget { - const GradeDisplay({Key? key, required this.grade}) : super(key: key); - - final int grade; - - @override - Widget build(BuildContext context) { - SettingsProvider settings = Provider.of(context); - - return Container( - width: 36, - height: 36, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: gradeColor(grade, settings).withOpacity(.3), - ), - child: Center( - child: Text( - grade.toInt().toString(), - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 22.0, - color: gradeColor(grade, settings), - ), - ), - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart deleted file mode 100644 index 724b84a..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.dart +++ /dev/null @@ -1,249 +0,0 @@ -import 'dart:math'; - -import 'package:filcnaplo/helpers/average_helper.dart'; -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo_kreta_api/models/grade.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/graph.i18n.dart'; -import 'package:flutter/material.dart'; -import 'package:fl_chart/fl_chart.dart'; -import 'package:provider/provider.dart'; - -class GoalGraph extends StatefulWidget { - const GoalGraph(this.data, {Key? key, this.dayThreshold = 7, this.classAvg}) - : super(key: key); - - final List data; - final int dayThreshold; - final double? classAvg; - - @override - _GoalGraphState createState() => _GoalGraphState(); -} - -class _GoalGraphState extends State { - late SettingsProvider settings; - - List getSpots(List data) { - List subjectData = []; - List> sortedData = [[]]; - - // Sort by date descending - data.sort((a, b) => -a.writeDate.compareTo(b.writeDate)); - - // Sort data to points by treshold - for (var element in data) { - if (sortedData.last.isNotEmpty && - sortedData.last.last.writeDate.difference(element.writeDate).inDays > - widget.dayThreshold) { - sortedData.add([]); - } - for (var dataList in sortedData) { - dataList.add(element); - } - } - - // Create FlSpots from points - for (var dataList in sortedData) { - double average = AverageHelper.averageEvals(dataList); - - if (dataList.isNotEmpty) { - subjectData.add(FlSpot( - dataList[0].writeDate.month + - (dataList[0].writeDate.day / 31) + - ((dataList[0].writeDate.year - data.last.writeDate.year) * 12), - double.parse(average.toStringAsFixed(2)), - )); - } - } - - return subjectData; - } - - @override - Widget build(BuildContext context) { - settings = Provider.of(context); - - List subjectSpots = []; - List ghostSpots = []; - List extraLinesV = []; - List extraLinesH = []; - - // Filter data - List data = widget.data - .where((e) => e.value.weight != 0) - .where((e) => e.type == GradeType.midYear) - .where((e) => e.gradeType?.name == "Osztalyzat") - .toList(); - - // Filter ghost data - List ghostData = widget.data - .where((e) => e.value.weight != 0) - .where((e) => e.type == GradeType.ghost) - .toList(); - - // Calculate average - double average = AverageHelper.averageEvals(data); - - // Calculate graph color - Color averageColor = average >= 1 && average <= 5 - ? ColorTween( - begin: settings.gradeColors[average.floor() - 1], - end: settings.gradeColors[average.ceil() - 1]) - .transform(average - average.floor())! - : Theme.of(context).colorScheme.secondary; - - subjectSpots = getSpots(data); - - // naplo/#73 - if (subjectSpots.isNotEmpty) { - ghostSpots = getSpots(data + ghostData); - - // hax - ghostSpots = ghostSpots - .where((e) => e.x >= subjectSpots.map((f) => f.x).reduce(max)) - .toList(); - ghostSpots = ghostSpots.map((e) => FlSpot(e.x + 0.1, e.y)).toList(); - ghostSpots.add(subjectSpots.firstWhere( - (e) => e.x >= subjectSpots.map((f) => f.x).reduce(max), - orElse: () => const FlSpot(-1, -1))); - ghostSpots.removeWhere( - (element) => element.x == -1 && element.y == -1); // naplo/#74 - } - - // Horizontal line displaying the class average - if (widget.classAvg != null && - widget.classAvg! > 0.0 && - settings.graphClassAvg) { - extraLinesH.add(HorizontalLine( - y: widget.classAvg!, - color: AppColors.of(context).text.withOpacity(.75), - )); - } - - // LineChart is really cute because it tries to render it's contents outside of it's rect. - return widget.data.length <= 2 - ? SizedBox( - height: 150, - child: Center( - child: Text( - "not_enough_grades".i18n, - textAlign: TextAlign.center, - style: const TextStyle(fontWeight: FontWeight.bold), - ), - ), - ) - : ClipRect( - child: SizedBox( - child: subjectSpots.length > 1 - ? Padding( - padding: const EdgeInsets.only(top: 8.0, right: 8.0), - child: LineChart( - LineChartData( - extraLinesData: ExtraLinesData( - verticalLines: extraLinesV, - horizontalLines: extraLinesH), - lineBarsData: [ - LineChartBarData( - preventCurveOverShooting: true, - spots: subjectSpots, - isCurved: true, - colors: [averageColor], - barWidth: 8, - isStrokeCapRound: true, - dotData: FlDotData(show: false), - belowBarData: BarAreaData( - show: true, - colors: [ - averageColor.withOpacity(0.7), - averageColor.withOpacity(0.3), - averageColor.withOpacity(0.2), - averageColor.withOpacity(0.1), - ], - gradientColorStops: [0.1, 0.6, 0.8, 1], - gradientFrom: const Offset(0, 0), - gradientTo: const Offset(0, 1), - ), - ), - if (ghostData.isNotEmpty && ghostSpots.isNotEmpty) - LineChartBarData( - preventCurveOverShooting: true, - spots: ghostSpots, - isCurved: true, - colors: [AppColors.of(context).text], - barWidth: 8, - isStrokeCapRound: true, - dotData: FlDotData(show: false), - belowBarData: BarAreaData( - show: true, - colors: [ - AppColors.of(context).text.withOpacity(0.7), - AppColors.of(context).text.withOpacity(0.3), - AppColors.of(context).text.withOpacity(0.2), - AppColors.of(context).text.withOpacity(0.1), - ], - gradientColorStops: [0.1, 0.6, 0.8, 1], - gradientFrom: const Offset(0, 0), - gradientTo: const Offset(0, 1), - ), - ), - ], - minY: 1, - maxY: 5, - gridData: FlGridData( - show: true, - horizontalInterval: 1, - // checkToShowVerticalLine: (_) => false, - // getDrawingHorizontalLine: (_) => FlLine( - // color: AppColors.of(context).text.withOpacity(.15), - // strokeWidth: 2, - // ), - // getDrawingVerticalLine: (_) => FlLine( - // color: AppColors.of(context).text.withOpacity(.25), - // strokeWidth: 2, - // ), - ), - lineTouchData: LineTouchData( - touchTooltipData: LineTouchTooltipData( - tooltipBgColor: Colors.grey.shade800, - fitInsideVertically: true, - fitInsideHorizontally: true, - ), - handleBuiltInTouches: true, - touchSpotThreshold: 20.0, - getTouchedSpotIndicator: (_, spots) { - return List.generate( - spots.length, - (index) => TouchedSpotIndicatorData( - FlLine( - color: Colors.grey.shade900, - strokeWidth: 3.5, - ), - FlDotData( - getDotPainter: (a, b, c, d) => - FlDotCirclePainter( - strokeWidth: 0, - color: Colors.grey.shade900, - radius: 10.0, - ), - ), - ), - ); - }, - ), - borderData: FlBorderData( - show: false, - border: Border.all( - color: Theme.of(context).scaffoldBackgroundColor, - width: 4, - ), - ), - ), - ), - ) - : null, - height: 158, - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart deleted file mode 100644 index 50e2ea8..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/graph.i18n.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:i18n_extension/i18n_extension.dart'; - -extension Localization on String { - static final _t = Translations.byLocale("hu_hu") + - { - "en_en": { - "not_enough_grades": "Not enough data to show a graph here.", - }, - "hu_hu": { - "not_enough_grades": "Nem szereztél még elég jegyet grafikon mutatáshoz.", - }, - "de_de": { - "not_enough_grades": "Noch nicht genug Noten, um die Grafik zu zeigen.", - }, - }; - - String get i18n => localize(this, _t); - String fill(List params) => localizeFill(this, params); - String plural(int value) => localizePlural(value, this, _t); - String version(Object modifier) => localizeVersion(modifier, this, _t); -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart b/filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart deleted file mode 100644 index dfc4b8b..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/goal_planner/route_option.dart +++ /dev/null @@ -1,202 +0,0 @@ -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_planner.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/goal_planner_screen.i18n.dart'; -import 'package:filcnaplo_premium/ui/mobile/goal_planner/grade_display.dart'; -import 'package:flutter/material.dart'; - -enum RouteMark { recommended, fastest } - -class RouteOption extends StatelessWidget { - const RouteOption( - {Key? key, - required this.plan, - this.mark, - this.selected = false, - required this.onSelected}) - : super(key: key); - - final Plan plan; - final RouteMark? mark; - final bool selected; - final void Function() onSelected; - - Widget markLabel() { - const style = TextStyle(fontWeight: FontWeight.bold); - - switch (mark!) { - case RouteMark.recommended: - return Text("recommended".i18n, style: style); - case RouteMark.fastest: - return Text("fastest".i18n, style: style); - } - } - - Color markColor(BuildContext context) { - switch (mark) { - case RouteMark.recommended: - return const Color.fromARGB(255, 104, 93, 255); - case RouteMark.fastest: - return const Color.fromARGB(255, 255, 91, 146); - default: - return Theme.of(context).colorScheme.primary; - } - } - - @override - Widget build(BuildContext context) { - List gradeWidgets = []; - - for (int i = 5; i > 1; i--) { - final count = plan.plan.where((e) => e == i).length; - - if (count > 4) { - gradeWidgets.add(Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - "${count}x", - style: TextStyle( - fontSize: 22.0, - fontWeight: FontWeight.w500, - color: AppColors.of(context).text.withOpacity(.7), - ), - ), - const SizedBox(width: 4.0), - GradeDisplay(grade: i), - ], - )); - } else { - gradeWidgets - .addAll(List.generate(count, (_) => GradeDisplay(grade: i))); - } - - if (count > 0) { - gradeWidgets.add(SizedBox( - height: 36.0, - width: 32.0, - child: Center( - child: Icon(Icons.add, - color: AppColors.of(context).text.withOpacity(.5))), - )); - } - } - - gradeWidgets.removeLast(); - - return Padding( - padding: const EdgeInsets.only(bottom: 12.0), - child: SizedBox( - width: double.infinity, - child: Card( - surfaceTintColor: - selected ? markColor(context).withOpacity(.2) : Colors.white, - margin: EdgeInsets.zero, - elevation: 5, - shadowColor: Colors.transparent, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16.0), - side: selected - ? BorderSide(color: markColor(context), width: 4.0) - : BorderSide.none, - ), - child: InkWell( - borderRadius: BorderRadius.circular(16.0), - onTap: onSelected, - child: Padding( - padding: const EdgeInsets.only( - top: 16.0, bottom: 16.0, left: 20.0, right: 12.0), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (mark != null) ...[ - Chip( - label: markLabel(), - visualDensity: VisualDensity.compact, - backgroundColor: - selected ? markColor(context) : Colors.transparent, - labelPadding: const EdgeInsets.symmetric(horizontal: 8.0), - labelStyle: - TextStyle(color: selected ? Colors.white : null), - shape: StadiumBorder( - side: BorderSide( - color: markColor(context), - width: 3.0, - ), - ), - ), - const SizedBox(height: 6.0), - ], - Wrap( - spacing: 4.0, - runSpacing: 8.0, - children: gradeWidgets, - ), - ], - ), - ), - ), - ), - ), - ); - } -} - -class RouteOptionRow extends StatelessWidget { - const RouteOptionRow({ - Key? key, - required this.plan, - this.mark, - }) : super(key: key); - - final Plan plan; - final RouteMark? mark; - - @override - Widget build(BuildContext context) { - List gradeWidgets = []; - - for (int i = 5; i > 1; i--) { - final count = plan.plan.where((e) => e == i).length; - - if (count > 4) { - gradeWidgets.add(Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - "${count}x", - style: TextStyle( - fontSize: 22.0, - fontWeight: FontWeight.w500, - color: AppColors.of(context).text.withOpacity(.7), - ), - ), - const SizedBox(width: 4.0), - GradeDisplay(grade: i), - ], - )); - } else { - gradeWidgets - .addAll(List.generate(count, (_) => GradeDisplay(grade: i))); - } - - if (count > 0) { - gradeWidgets.add(SizedBox( - height: 36.0, - width: 32.0, - child: Center( - child: Icon(Icons.add, - color: AppColors.of(context).text.withOpacity(.5))), - )); - } - } - - gradeWidgets.removeLast(); - - return Wrap( - spacing: 4.0, - runSpacing: 8.0, - children: gradeWidgets, - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart deleted file mode 100644 index 7d6448f..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_dashboard.dart +++ /dev/null @@ -1,197 +0,0 @@ -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:flutter_svg/svg.dart'; -import 'package:flutter/services.dart'; -import 'package:provider/provider.dart'; - -class ActivationDashboard extends StatefulWidget { - const ActivationDashboard({super.key}); - - @override - State createState() => _ActivationDashboardState(); -} - -class _ActivationDashboardState extends State { - bool manualActivationLoading = false; - - Future onManualActivation() async { - final data = await Clipboard.getData("text/plain"); - if (data == null || data.text == null || data.text == "") { - return; - } - setState(() { - manualActivationLoading = true; - }); - final result = - await context.read().auth.finishAuth(data.text!); - setState(() { - manualActivationLoading = false; - }); - - if (!result && mounted) { - ScaffoldMessenger.of(context).showSnackBar(const SnackBar( - content: Text( - "Sikertelen aktiválás. Kérlek próbáld újra később!", - style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), - ), - backgroundColor: Colors.red, - )); - } - } - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Spacer(), - Center( - child: SvgPicture.asset( - "assets/images/github.svg", - height: 64.0, - ), - ), - const SizedBox(height: 32.0), - const Text( - "Jelentkezz be a GitHub felületén és adj hozzáférést a Filcnek, hogy aktiváld a Premiumot.", - textAlign: TextAlign.center, - style: TextStyle(fontWeight: FontWeight.w700, fontSize: 18.0), - ), - const SizedBox(height: 12.0), - Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(14.0)), - child: const Padding( - padding: EdgeInsets.all(20.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Icon(FeatherIcons.alertTriangle, - size: 20.0, color: Colors.orange), - SizedBox(width: 12.0), - Text( - "Figyelem!", - style: TextStyle( - fontSize: 18.0, fontWeight: FontWeight.bold), - ), - ], - ), - SizedBox(height: 6.0), - Text( - "Csak akkor érzékeli a Filc a támogatói státuszod, ha nem állítod privátra!", - style: TextStyle(fontSize: 16.0), - ), - ], - ), - ), - ), - const SizedBox(height: 12.0), - Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(14.0)), - child: const Padding( - padding: EdgeInsets.all(20.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Icon(FeatherIcons.alertTriangle, - size: 20.0, color: Colors.orange), - SizedBox(width: 12.0), - Text( - "Figyelem!", - style: TextStyle( - fontSize: 18.0, fontWeight: FontWeight.bold), - ), - ], - ), - SizedBox(height: 6.0), - Text( - "Ha friss támogató vagy, 5-10 percbe telhet az aktiválás. Kérlek gyere vissza később, és próbáld újra!", - style: TextStyle(fontSize: 16.0), - ), - ], - ), - ), - ), - const SizedBox(height: 12.0), - Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(14.0)), - child: Padding( - padding: const EdgeInsets.all(20.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text( - "Ha bejelentkezés után nem lép vissza az alkalmazásba automatikusan, aktiváld a támogatásod manuálisan", - style: - TextStyle(fontSize: 15.0, fontWeight: FontWeight.w500), - ), - const SizedBox(height: 6.0), - Center( - child: TextButton.icon( - onPressed: onManualActivation, - style: ButtonStyle( - foregroundColor: MaterialStatePropertyAll( - Theme.of(context).colorScheme.secondary), - overlayColor: MaterialStatePropertyAll(Theme.of(context) - .colorScheme - .secondary - .withOpacity(.1)), - ), - icon: manualActivationLoading - ? const SizedBox( - child: CircularProgressIndicator(), - height: 16.0, - width: 16.0, - ) - : const Icon(FeatherIcons.key, size: 20.0), - label: const Padding( - padding: EdgeInsets.only(left: 8.0), - child: Text( - "Aktiválás tokennel", - style: TextStyle(fontSize: 16.0), - ), - ), - ), - ), - ], - ), - ), - ), - const Spacer(), - Padding( - padding: const EdgeInsets.only(bottom: 24.0), - child: Center( - child: TextButton.icon( - onPressed: () { - Navigator.of(context).pop(); - }, - style: ButtonStyle( - foregroundColor: - MaterialStatePropertyAll(AppColors.of(context).text), - overlayColor: MaterialStatePropertyAll( - AppColors.of(context).text.withOpacity(.1)), - ), - icon: const Icon(FeatherIcons.arrowLeft, size: 20.0), - label: const Text( - "Vissza", - style: TextStyle(fontSize: 16.0), - ), - ), - ), - ), - ], - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart deleted file mode 100644 index c0ee3fa..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/premium/activation_view/activation_view.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:animations/animations.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/premium/activation_view/activation_dashboard.dart'; -import 'package:flutter/material.dart'; -import 'package:lottie/lottie.dart'; -import 'package:provider/provider.dart'; - -class PremiumActivationView extends StatefulWidget { - const PremiumActivationView({super.key}); - - @override - State createState() => _PremiumActivationViewState(); -} - -class _PremiumActivationViewState extends State with SingleTickerProviderStateMixin { - late AnimationController animation; - bool activated = false; - - @override - void initState() { - super.initState(); - context.read().auth.initAuth(); - - animation = AnimationController(vsync: this, duration: const Duration(seconds: 2)); - } - - @override - void dispose() { - animation.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final premium = context.watch(); - - if (premium.hasPremium && !activated) { - activated = true; - animation.forward(); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - Future.delayed(const Duration(seconds: 2)).then((value) { - if (mounted) Navigator.of(context).pop(); - }); - }); - } - - return Scaffold( - body: PageTransitionSwitcher( - transitionBuilder: (child, primaryAnimation, secondaryAnimation) => SharedAxisTransition( - animation: primaryAnimation, - secondaryAnimation: secondaryAnimation, - transitionType: SharedAxisTransitionType.horizontal, - fillColor: Colors.transparent, - child: child, - ), - child: premium.hasPremium - ? Center( - child: SizedBox( - width: 400, - child: Lottie.network("https://assets2.lottiefiles.com/packages/lf20_wkebwzpz.json", controller: animation), - ), - ) - : const SafeArea(child: ActivationDashboard()), - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart deleted file mode 100644 index 07d0285..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/premium/premium_inline.dart +++ /dev/null @@ -1,66 +0,0 @@ -import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; -import 'package:flutter/material.dart'; - -enum PremiumInlineFeature { nickname, theme, widget, goal, stats } - -const Map _featureAssets = { - PremiumInlineFeature.nickname: "assets/images/premium_nickname_inline_showcase.png", - PremiumInlineFeature.theme: "assets/images/premium_theme_inline_showcase.png", - PremiumInlineFeature.widget: "assets/images/premium_widget_inline_showcase.png", - PremiumInlineFeature.goal: "assets/images/premium_goal_inline_showcase.png", - PremiumInlineFeature.stats: "assets/images/premium_stats_inline_showcase.png", -}; - -const Map _featuresInline = { - PremiumInlineFeature.nickname: PremiumFeature.profile, - PremiumInlineFeature.theme: PremiumFeature.customcolors, - PremiumInlineFeature.widget: PremiumFeature.widget, - PremiumInlineFeature.goal: PremiumFeature.goalplanner, - PremiumInlineFeature.stats: PremiumFeature.gradestats, -}; - -class PremiumInline extends StatelessWidget { - const PremiumInline({super.key, required this.features}); - - final List features; - - String _getAsset() { - for (int i = 0; i < features.length; i++) { - if (DateTime.now().day % features.length == i) { - return _featureAssets[features[i]]!; - } - } - - return _featureAssets[features[0]]!; - } - - PremiumFeature _getFeature() { - for (int i = 0; i < features.length; i++) { - if (DateTime.now().day % features.length == i) { - return _featuresInline[features[i]]!; - } - } - - return _featuresInline[features[0]]!; - } - - @override - Widget build(BuildContext context) { - return Stack( - children: [ - Image.asset(_getAsset()), - Positioned.fill( - child: Material( - type: MaterialType.transparency, - child: InkWell( - borderRadius: BorderRadius.circular(16.0), - onTap: () { - PremiumLockedFeatureUpsell.show(context: context, feature: _getFeature()); - }, - ), - ), - ), - ], - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart b/filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart deleted file mode 100644 index 701791d..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/premium/upsell.dart +++ /dev/null @@ -1,183 +0,0 @@ -import 'package:filcnaplo/icons/filc_icons.dart'; -import 'package:filcnaplo_mobile_ui/premium/premium_screen.dart'; -import 'package:flutter/material.dart'; - -enum PremiumFeature { - gradestats, - customcolors, - profile, - iconpack, - subjectrename, - teacherrename, - weeklytimetable, - goalplanner, - widget, -} - -enum PremiumFeatureLevel { kupak, tinta } - -const Map _featureLevels = { - PremiumFeature.gradestats: PremiumFeatureLevel.kupak, - PremiumFeature.customcolors: PremiumFeatureLevel.kupak, - PremiumFeature.profile: PremiumFeatureLevel.kupak, - PremiumFeature.iconpack: PremiumFeatureLevel.kupak, - PremiumFeature.subjectrename: PremiumFeatureLevel.kupak, - PremiumFeature.weeklytimetable: PremiumFeatureLevel.tinta, - PremiumFeature.goalplanner: PremiumFeatureLevel.tinta, - PremiumFeature.widget: PremiumFeatureLevel.tinta, -}; - -const Map _featureAssets = { - PremiumFeature.gradestats: "assets/images/premium_stats_showcase.png", - PremiumFeature.customcolors: "assets/images/premium_theme_showcase.png", - PremiumFeature.profile: "assets/images/premium_nickname_showcase.png", - PremiumFeature.weeklytimetable: - "assets/images/premium_timetable_showcase.png", - PremiumFeature.goalplanner: "assets/images/premium_goal_showcase.png", - PremiumFeature.widget: "assets/images/premium_widget_showcase.png", -}; - -const Map _featureTitles = { - PremiumFeature.gradestats: "Találtál egy prémium funkciót.", - PremiumFeature.customcolors: "Több személyre szabás kell?", - PremiumFeature.profile: "Nem tetszik a neved?", - PremiumFeature.iconpack: "Jobban tetszettek a régi ikonok?", - PremiumFeature.subjectrename: - "Sokáig tart elolvasni, hogy \"Földrajz természettudomány\"?", - PremiumFeature.weeklytimetable: "Szeretnéd egyszerre az egész hetet látni?", - PremiumFeature.goalplanner: "Kövesd a céljaidat, sok-sok statisztikával.", - PremiumFeature.widget: "Órák a kezdőképernyőd kényelméből.", -}; - -const Map _featureDescriptions = { - PremiumFeature.gradestats: - "Támogass Kupak szinten, hogy több statisztikát láthass. ", - PremiumFeature.customcolors: - "Támogass Kupak szinten, és szabd személyre az elemek, a háttér, és a panelek színeit.", - PremiumFeature.profile: - "Kupak szinten változtathatod a nevedet, sőt, akár a profilképedet is.", - PremiumFeature.iconpack: - "Támogass Kupak szinten, hogy ikon témát választhass.", - PremiumFeature.subjectrename: - "Támogass Kupak szinten, hogy átnevezhesd Föcire.", - PremiumFeature.weeklytimetable: - "Támogass Tinta szinten a heti órarend funkcióért.", - PremiumFeature.goalplanner: "A célkövetéshez támogass Tinta szinten.", - PremiumFeature.widget: - "Támogass Tinta szinten, és helyezz egy widgetet a kezdőképernyődre.", -}; - -class PremiumLockedFeatureUpsell extends StatelessWidget { - const PremiumLockedFeatureUpsell({super.key, required this.feature}); - - static void show( - {required BuildContext context, required PremiumFeature feature}) => - showDialog( - context: context, - builder: (context) => PremiumLockedFeatureUpsell(feature: feature)); - - final PremiumFeature feature; - - IconData _getIcon() => _featureLevels[feature] == PremiumFeatureLevel.kupak - ? FilcIcons.kupak - : FilcIcons.tinta; - Color _getColor(BuildContext context) => - _featureLevels[feature] == PremiumFeatureLevel.kupak - ? const Color(0xffC8A708) - : Theme.of(context).brightness == Brightness.light - ? const Color(0xff691A9B) - : const Color(0xffA66FC8); - String? _getAsset() => _featureAssets[feature]; - String _getTitle() => _featureTitles[feature]!; - String _getDescription() => _featureDescriptions[feature]!; - - @override - Widget build(BuildContext context) { - final Color color = _getColor(context); - - return Dialog( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 16.0), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // Title Bar - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Icon(_getIcon()), - ), - IconButton( - onPressed: () => Navigator.of(context).pop(), - icon: const Icon(Icons.close), - ), - ], - ), - - // Image showcase - if (_getAsset() != null) - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Image.asset(_getAsset()!), - ), - - // Dialog title - Padding( - padding: const EdgeInsets.only(top: 12.0), - child: Text( - _getTitle(), - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 20.0, - ), - ), - ), - - // Dialog description - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text( - _getDescription(), - style: const TextStyle( - fontSize: 16.0, - ), - ), - ), - - // CTA button - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: SizedBox( - width: double.infinity, - child: TextButton( - style: ButtonStyle( - backgroundColor: - MaterialStatePropertyAll(color.withOpacity(.25)), - foregroundColor: MaterialStatePropertyAll(color), - overlayColor: - MaterialStatePropertyAll(color.withOpacity(.1))), - onPressed: () { - Navigator.of(context, rootNavigator: true) - .push(MaterialPageRoute(builder: (context) { - return const PremiumScreen(); - })); - }, - child: const Text( - "Vigyél oda!", - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18.0, - ), - ), - ), - ), - ), - ], - ), - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart deleted file mode 100644 index b9e8a28..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/settings/modify_teacher_names.dart +++ /dev/null @@ -1,436 +0,0 @@ -import 'package:dropdown_button2/dropdown_button2.dart'; -import 'package:filcnaplo/api/providers/database_provider.dart'; -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo/theme/colors/colors.dart'; -import 'package:filcnaplo/utils/format.dart'; -import 'package:filcnaplo_kreta_api/models/teacher.dart'; -import 'package:filcnaplo_kreta_api/providers/absence_provider.dart'; -import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; -import 'package:filcnaplo_kreta_api/providers/timetable_provider.dart'; -import 'package:filcnaplo_mobile_ui/common/panel/panel.dart'; -import 'package:filcnaplo_mobile_ui/common/panel/panel_button.dart'; -import 'package:filcnaplo_premium/models/premium_scopes.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:provider/provider.dart'; -import 'package:filcnaplo_mobile_ui/screens/settings/modify_names.i18n.dart'; - -class MenuRenamedTeachers extends StatelessWidget { - const MenuRenamedTeachers({Key? key, required this.settings}) - : super(key: key); - - final SettingsProvider settings; - - @override - Widget build(BuildContext context) { - return PanelButton( - padding: const EdgeInsets.only(left: 14.0), - onPressed: () { - if (!Provider.of(context, listen: false) - .hasScope(PremiumScopes.renameTeachers)) { - PremiumLockedFeatureUpsell.show( - context: context, feature: PremiumFeature.teacherrename); - return; - } - - Navigator.of(context, rootNavigator: true).push( - CupertinoPageRoute(builder: (context) => const ModifyTeacherNames()), - ); - }, - title: Text( - "rename_teachers".i18n, - style: TextStyle( - color: AppColors.of(context) - .text - .withOpacity(settings.renamedTeachersEnabled ? 1.0 : .5)), - ), - leading: settings.renamedTeachersEnabled - ? const Icon(FeatherIcons.users) - : Icon(FeatherIcons.users, - color: AppColors.of(context).text.withOpacity(.25)), - trailingDivider: true, - trailing: Switch( - onChanged: (v) async { - if (!Provider.of(context, listen: false) - .hasScope(PremiumScopes.renameTeachers)) { - PremiumLockedFeatureUpsell.show( - context: context, feature: PremiumFeature.teacherrename); - return; - } - - settings.update(renamedTeachersEnabled: v); - await Provider.of(context, listen: false) - .convertBySettings(); - await Provider.of(context, listen: false) - .convertBySettings(); - await Provider.of(context, listen: false) - .convertBySettings(); - }, - value: settings.renamedTeachersEnabled, - activeColor: Theme.of(context).colorScheme.secondary, - ), - ); - } -} - -class ModifyTeacherNames extends StatefulWidget { - const ModifyTeacherNames({Key? key}) : super(key: key); - - @override - State createState() => _ModifyTeacherNamesState(); -} - -class _ModifyTeacherNamesState extends State { - final GlobalKey _scaffoldKey = GlobalKey(); - final _teacherName = TextEditingController(); - String? selectedTeacherId; - - late List teachers; - late UserProvider user; - late DatabaseProvider dbProvider; - late SettingsProvider settings; - - @override - void initState() { - super.initState(); - teachers = (Provider.of(context, listen: false) - .grades - .map((e) => e.teacher) - .toSet() - .toList() - ..sort((a, b) => a.name.compareTo(b.name))); - user = Provider.of(context, listen: false); - dbProvider = Provider.of(context, listen: false); - } - - Future> fetchRenamedTeachers() async { - return await dbProvider.userQuery.renamedTeachers(userId: user.id!); - } - - void showRenameDialog() { - showDialog( - context: context, - builder: (context) => StatefulBuilder(builder: (context, setS) { - return AlertDialog( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(14.0))), - title: Text("rename_teacher".i18n), - content: Column( - mainAxisSize: MainAxisSize.min, - children: [ - DropdownButton2( - items: teachers - .map((item) => DropdownMenuItem( - value: item.id, - child: Text( - item.name, - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.bold, - color: AppColors.of(context).text, - ), - overflow: TextOverflow.ellipsis, - ), - )) - .toList(), - onChanged: (String? v) async { - final renamedSubs = await fetchRenamedTeachers(); - - setS(() { - selectedTeacherId = v; - - if (renamedSubs.containsKey(selectedTeacherId)) { - _teacherName.text = renamedSubs[selectedTeacherId]!; - } else { - _teacherName.text = ""; - } - }); - }, - iconSize: 14, - iconEnabledColor: AppColors.of(context).text, - iconDisabledColor: AppColors.of(context).text, - underline: const SizedBox(), - itemHeight: 40, - itemPadding: const EdgeInsets.only(left: 14, right: 14), - buttonWidth: 50, - dropdownWidth: 300, - dropdownPadding: null, - buttonDecoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), - ), - dropdownDecoration: BoxDecoration( - borderRadius: BorderRadius.circular(14), - ), - dropdownElevation: 8, - scrollbarRadius: const Radius.circular(40), - scrollbarThickness: 6, - scrollbarAlwaysShow: true, - offset: const Offset(-10, -10), - buttonSplashColor: Colors.transparent, - customButton: Container( - width: double.infinity, - decoration: BoxDecoration( - border: Border.all(color: Colors.grey, width: 2), - borderRadius: BorderRadius.circular(12.0), - ), - padding: const EdgeInsets.symmetric( - vertical: 12.0, horizontal: 8.0), - child: Text( - selectedTeacherId == null - ? "select_teacher".i18n - : teachers - .firstWhere( - (element) => element.id == selectedTeacherId) - .name, - style: Theme.of(context).textTheme.titleSmall!.copyWith( - fontWeight: FontWeight.w700, - color: AppColors.of(context).text.withOpacity(0.75)), - overflow: TextOverflow.ellipsis, - maxLines: 2, - textAlign: TextAlign.center, - ), - ), - ), - const Padding( - padding: EdgeInsets.symmetric(vertical: 8.0), - child: Icon(FeatherIcons.arrowDown, size: 32), - ), - TextField( - controller: _teacherName, - decoration: InputDecoration( - border: OutlineInputBorder( - borderSide: - const BorderSide(color: Colors.grey, width: 1.5), - borderRadius: BorderRadius.circular(12.0), - ), - focusedBorder: OutlineInputBorder( - borderSide: - const BorderSide(color: Colors.grey, width: 1.5), - borderRadius: BorderRadius.circular(12.0), - ), - contentPadding: const EdgeInsets.symmetric(horizontal: 12.0), - hintText: "modified_name".i18n, - suffixIcon: IconButton( - icon: const Icon( - FeatherIcons.x, - color: Colors.grey, - ), - onPressed: () { - setState(() { - _teacherName.text = ""; - }); - }, - ), - ), - ), - ], - ), - actions: [ - TextButton( - child: Text( - "cancel".i18n, - style: const TextStyle(fontWeight: FontWeight.w500), - ), - onPressed: () { - Navigator.of(context).maybePop(); - }, - ), - TextButton( - child: Text( - "done".i18n, - style: const TextStyle(fontWeight: FontWeight.w500), - ), - onPressed: () async { - if (selectedTeacherId != null) { - final renamedSubs = await fetchRenamedTeachers(); - - renamedSubs[selectedTeacherId!] = _teacherName.text; - await dbProvider.userStore - .storeRenamedTeachers(renamedSubs, userId: user.id!); - await Provider.of(context, listen: false) - .convertBySettings(); - await Provider.of(context, listen: false) - .convertBySettings(); - await Provider.of(context, listen: false) - .convertBySettings(); - } - Navigator.of(context).pop(true); - setState(() {}); - }, - ), - ], - ); - }), - ).then((val) { - _teacherName.text = ""; - selectedTeacherId = null; - }); - } - - @override - Widget build(BuildContext context) { - settings = Provider.of(context); - return Scaffold( - key: _scaffoldKey, - appBar: AppBar( - surfaceTintColor: Theme.of(context).scaffoldBackgroundColor, - leading: BackButton(color: AppColors.of(context).text), - title: Text( - "modify_teachers".i18n, - style: TextStyle(color: AppColors.of(context).text), - ), - ), - body: Padding( - padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0), - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // Panel( - // child: SwitchListTile( - - // title: Text("italics_toggle".i18n), - // onChanged: (value) => - // settings.update(renamedTeachersItalics: value), - // value: settings.renamedTeachersItalics, - // ), - // ), - // const SizedBox( - // height: 20, - // ), - InkWell( - onTap: showRenameDialog, - borderRadius: BorderRadius.circular(12.0), - child: Container( - width: double.infinity, - decoration: BoxDecoration( - border: Border.all(color: Colors.grey, width: 2), - borderRadius: BorderRadius.circular(12.0), - ), - padding: const EdgeInsets.symmetric( - vertical: 18.0, horizontal: 12.0), - child: Center( - child: Text( - "rename_new_teacher".i18n, - style: TextStyle( - fontWeight: FontWeight.w600, - fontSize: 18, - color: AppColors.of(context).text.withOpacity(.85), - ), - ), - ), - ), - ), - const SizedBox( - height: 30, - ), - FutureBuilder>( - future: fetchRenamedTeachers(), - builder: (context, snapshot) { - if (!snapshot.hasData || snapshot.data!.isEmpty) { - return Container(); - } - - return Panel( - title: Text("renamed_teachers".i18n), - child: Column( - children: snapshot.data!.keys.map( - (key) { - Teacher? teacher = teachers - .firstWhere((element) => key == element.id); - String renameTo = snapshot.data![key]!; - return RenamedTeacherItem( - teacher: teacher, - renamedTo: renameTo, - modifyCallback: () { - setState(() { - selectedTeacherId = teacher.id; - _teacherName.text = renameTo; - }); - showRenameDialog(); - }, - removeCallback: () { - setState(() { - Map subs = - Map.from(snapshot.data!); - subs.remove(key); - dbProvider.userStore.storeRenamedTeachers( - subs, - userId: user.id!); - }); - }, - ); - }, - ).toList(), - ), - ); - }, - ), - ], - ), - ), - )); - } -} - -class RenamedTeacherItem extends StatelessWidget { - const RenamedTeacherItem({ - Key? key, - required this.teacher, - required this.renamedTo, - required this.modifyCallback, - required this.removeCallback, - }) : super(key: key); - - final Teacher teacher; - final String renamedTo; - final void Function() modifyCallback; - final void Function() removeCallback; - - @override - Widget build(BuildContext context) { - return ListTile( - minLeadingWidth: 32.0, - dense: true, - contentPadding: - const EdgeInsets.symmetric(horizontal: 16.0, vertical: 6.0), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8.0)), - visualDensity: VisualDensity.compact, - onTap: () {}, - leading: Icon(FeatherIcons.user, - color: AppColors.of(context).text.withOpacity(.75)), - title: InkWell( - onTap: modifyCallback, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - teacher.name.capital(), - style: TextStyle( - fontWeight: FontWeight.w500, - fontSize: 14, - color: AppColors.of(context).text.withOpacity(.75)), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - Text( - renamedTo, - style: const TextStyle(fontWeight: FontWeight.w500, fontSize: 16), - maxLines: 2, - overflow: TextOverflow.ellipsis, - ), - ], - ), - ), - trailing: InkWell( - onTap: removeCallback, - child: Icon(FeatherIcons.trash, - color: AppColors.of(context).red.withOpacity(.75)), - ), - ); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart deleted file mode 100644 index cbbe917..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/settings/share_theme.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:filcnaplo/models/settings.dart'; -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; - -class PremiumShareTheme extends StatefulWidget { - const PremiumShareTheme({Key? key}) : super(key: key); - - @override - State createState() => _PremiumShareThemeState(); -} - -class _PremiumShareThemeState extends State - with TickerProviderStateMixin { - late final SettingsProvider settingsProvider; - - @override - void initState() { - super.initState(); - settingsProvider = Provider.of(context, listen: false); - } - - @override - Widget build(BuildContext context) { - return const Scaffold(); - } -} diff --git a/filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart b/filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart deleted file mode 100644 index 456510d..0000000 --- a/filcnaplo_premium_old/lib/ui/mobile/settings/welcome_message.dart +++ /dev/null @@ -1,146 +0,0 @@ -import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_mobile_ui/common/panel/panel_button.dart'; -import 'package:filcnaplo_premium/models/premium_scopes.dart'; -import 'package:filcnaplo_premium/providers/premium_provider.dart'; -import 'package:filcnaplo_premium/ui/mobile/premium/upsell.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart'; -import 'package:provider/provider.dart'; -import 'package:i18n_extension/i18n_extension.dart'; - -// ignore: must_be_immutable -class WelcomeMessagePanelButton extends StatelessWidget { - late SettingsProvider settingsProvider; - late UserProvider user; - - WelcomeMessagePanelButton(this.settingsProvider, this.user, {Key? key}) - : super(key: key); - - @override - Widget build(BuildContext context) { - String finalName = ((user.nickname ?? '') != '' - ? user.nickname - : (user.displayName ?? '') != '' - ? user.displayName - : 'János') ?? - 'János'; - - return PanelButton( - onPressed: () { - if (!Provider.of(context, listen: false) - .hasScope(PremiumScopes.all)) { - PremiumLockedFeatureUpsell.show( - context: context, feature: PremiumFeature.profile); - return; - } - showDialog( - context: context, - builder: (context) => WelcomeMessageEditor(settingsProvider)); - }, - title: Text("welcome_msg".i18n), - leading: const Icon(FeatherIcons.smile), - trailing: Container( - constraints: const BoxConstraints(maxWidth: 100), - child: Text( - settingsProvider.welcomeMessage.replaceAll(' ', '') != '' - ? localizeFill( - settingsProvider.welcomeMessage, - [finalName], - ) - : 'default'.i18n, - style: const TextStyle(fontSize: 14.0), - textAlign: TextAlign.end, - softWrap: true, - overflow: TextOverflow.ellipsis, - ), - ), - ); - } -} - -// ignore: must_be_immutable -class WelcomeMessageEditor extends StatefulWidget { - late SettingsProvider settingsProvider; - - WelcomeMessageEditor(this.settingsProvider, {Key? key}) : super(key: key); - - @override - State createState() => _WelcomeMessageEditorState(); -} - -class _WelcomeMessageEditorState extends State { - final _welcomeMsg = TextEditingController(); - - @override - void initState() { - super.initState(); - _welcomeMsg.text = - widget.settingsProvider.welcomeMessage.replaceAll('%s', '%name%'); - } - - @override - Widget build(BuildContext context) { - return AlertDialog( - title: Text("edit_welcome_msg".i18n), - content: TextField( - controller: _welcomeMsg, - autofocus: true, - decoration: InputDecoration( - border: const OutlineInputBorder(), - label: Text('welcome_msg'.i18n), - suffixIcon: IconButton( - icon: const Icon(FeatherIcons.x), - onPressed: () { - setState(() { - _welcomeMsg.text = ""; - }); - }, - ), - ), - ), - actions: [ - TextButton( - child: Text( - "cancel".i18n, - style: const TextStyle(fontWeight: FontWeight.w500), - ), - onPressed: () { - Navigator.of(context).maybePop(); - }, - ), - TextButton( - child: Text( - "done".i18n, - style: const TextStyle(fontWeight: FontWeight.w500), - ), - onPressed: () { - // var trimmed = _welcomeMsg.text.trim(); - - // var defLen = trimmed.length; - // var replacedLen = trimmed.replaceAll('%s', '').length; - - // if (defLen - 2 > replacedLen) { - // print('fuck yourself rn'); - // } - var finalText = _welcomeMsg.text - .trim() - .replaceFirst('%name%', '\$s') - .replaceFirst('%user%', '\$s') - .replaceFirst('%username%', '\$s') - .replaceFirst('%me%', '\$s') - .replaceFirst('%profile%', '\$s') - .replaceAll('%', '') - .replaceFirst('\$s', '%s'); - // .replaceAll('\$s', 's'); - - widget.settingsProvider - .update(welcomeMessage: finalText, store: true); - Navigator.of(context).pop(true); - }, - ), - ], - ); - } -} diff --git a/filcnaplo_premium_old/pubspec.lock b/filcnaplo_premium_old/pubspec.lock deleted file mode 100644 index 2f248d5..0000000 --- a/filcnaplo_premium_old/pubspec.lock +++ /dev/null @@ -1,1534 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a - url: "https://pub.dev" - source: hosted - version: "61.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 - url: "https://pub.dev" - source: hosted - version: "5.13.0" - animated_background: - dependency: transitive - description: - name: animated_background - sha256: "24b05a6dca2cb0231b011f9e8fd2e9d8060faac08a78cf0643915bb7d6e9b03b" - url: "https://pub.dev" - source: hosted - version: "2.0.0" - animated_flip_counter: - dependency: transitive - description: - name: animated_flip_counter - sha256: "2c25ace054ac3932a3f203875a90ddae760ba7016cb9233573067a12ae51e3c6" - url: "https://pub.dev" - source: hosted - version: "0.2.6" - animated_list_plus: - dependency: transitive - description: - name: animated_list_plus - sha256: fb3d7f1fbaf5af84907f3c739236bacda8bf32cbe1f118dd51510752883ff50c - url: "https://pub.dev" - source: hosted - version: "0.5.2" - animations: - dependency: "direct main" - description: - name: animations - sha256: ef57563eed3620bd5d75ad96189846aca1e033c0c45fc9a7d26e80ab02b88a70 - url: "https://pub.dev" - source: hosted - version: "2.0.8" - app_group_directory: - dependency: transitive - description: - name: app_group_directory - sha256: ad89800fd55133b46e1f6940ac6b974562f7fb6394c662c0f4422b90167f2416 - url: "https://pub.dev" - source: hosted - version: "2.0.0" - archive: - dependency: transitive - description: - name: archive - sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03" - url: "https://pub.dev" - source: hosted - version: "3.4.6" - args: - dependency: transitive - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - auto_size_text: - dependency: transitive - description: - name: auto_size_text - sha256: "3f5261cd3fb5f2a9ab4e2fc3fba84fd9fcaac8821f20a1d4e71f557521b22599" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - background_fetch: - dependency: transitive - description: - name: background_fetch - sha256: f70b28a0f7a3156195e9742229696f004ea3bf10f74039b7bf4c78a74fbda8a4 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - charcode: - dependency: transitive - description: - name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 - url: "https://pub.dev" - source: hosted - version: "1.3.1" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 - url: "https://pub.dev" - source: hosted - version: "1.17.2" - confetti: - dependency: transitive - description: - name: confetti - sha256: "8690fb3f138ff42958d419ef7dd0f0bb192895bea3c921214cb5c3fa82e597b1" - url: "https://pub.dev" - source: hosted - version: "0.6.0" - connectivity_plus: - dependency: transitive - description: - name: connectivity_plus - sha256: "77a180d6938f78ca7d2382d2240eb626c0f6a735d0bfdce227d8ffb80f95c48b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - connectivity_plus_platform_interface: - dependency: transitive - description: - name: connectivity_plus_platform_interface - sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a - url: "https://pub.dev" - source: hosted - version: "1.2.4" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb" - url: "https://pub.dev" - source: hosted - version: "1.6.4" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" - url: "https://pub.dev" - source: hosted - version: "0.3.3+6" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - csslib: - dependency: transitive - description: - name: csslib - sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d - url: "https://pub.dev" - source: hosted - version: "1.0.6" - dbus: - dependency: transitive - description: - name: dbus - sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" - url: "https://pub.dev" - source: hosted - version: "0.7.8" - dev_test: - dependency: transitive - description: - name: dev_test - sha256: "0d49b920844062a518edb79fc1dbf9ff6d9bf3c9ab600e3847b7502c27c0caab" - url: "https://pub.dev" - source: hosted - version: "0.16.1+4" - dotted_border: - dependency: transitive - description: - name: dotted_border - sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - dropdown_button2: - dependency: "direct main" - description: - name: dropdown_button2 - sha256: "604b87283e251e0e4a0cb1d0fdfa91fd527702b06e80999c4054cecc603e10e7" - url: "https://pub.dev" - source: hosted - version: "1.9.4" - dynamic_color: - dependency: transitive - description: - name: dynamic_color - sha256: "96bff3df72e3d428bda2b874c7a521e8c86f592cae626ea594922fcc8d166e0c" - url: "https://pub.dev" - source: hosted - version: "1.6.7" - elegant_notification: - dependency: transitive - description: - name: elegant_notification - sha256: f3b8aad4f8eb0df10d06deceb9a2b64b8c450ec7a1f896281d3563b6434f0574 - url: "https://pub.dev" - source: hosted - version: "1.11.2" - equatable: - dependency: transitive - description: - name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.dev" - source: hosted - version: "2.0.5" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - filcnaplo: - dependency: "direct main" - description: - path: "../filcnaplo" - relative: true - source: path - version: "4.4.0+232" - filcnaplo_desktop_ui: - dependency: transitive - description: - path: "../filcnaplo_desktop_ui" - relative: true - source: path - version: "0.0.0" - filcnaplo_kreta_api: - dependency: "direct main" - description: - path: "../filcnaplo_kreta_api" - relative: true - source: path - version: "0.0.0" - filcnaplo_mobile_ui: - dependency: "direct main" - description: - path: "../filcnaplo_mobile_ui" - relative: true - source: path - version: "0.0.0" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - file_picker: - dependency: transitive - description: - name: file_picker - sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030 - url: "https://pub.dev" - source: hosted - version: "5.5.0" - file_selector_linux: - dependency: transitive - description: - name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" - url: "https://pub.dev" - source: hosted - version: "0.9.2+1" - file_selector_macos: - dependency: transitive - description: - name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 - url: "https://pub.dev" - source: hosted - version: "0.9.3+3" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface - sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" - url: "https://pub.dev" - source: hosted - version: "2.6.1" - file_selector_windows: - dependency: transitive - description: - name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 - url: "https://pub.dev" - source: hosted - version: "0.9.3+1" - fl_chart: - dependency: transitive - description: - name: fl_chart - sha256: "23dde7308d28c535d653a37d532dde5ee36e977abe1def370416f90eb69c1f57" - url: "https://pub.dev" - source: hosted - version: "0.45.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_acrylic: - dependency: transitive - description: - name: flutter_acrylic - sha256: a9a1fdf91ff1fb47858fd82507f57e255a132a5d355056694fdb9fd303633b18 - url: "https://pub.dev" - source: hosted - version: "1.1.3" - flutter_custom_tabs: - dependency: transitive - description: - name: flutter_custom_tabs - sha256: e90e5b7cad5648aeb0e1ed04aa3c0cada62d86f3b5d4aaef488ab7de61ec2a9f - url: "https://pub.dev" - source: hosted - version: "1.2.1" - flutter_custom_tabs_platform_interface: - dependency: transitive - description: - name: flutter_custom_tabs_platform_interface - sha256: "1d6b9eb6c5671b21511fdb47babf18aa65982784373986c003aaf67ca78798ad" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - flutter_custom_tabs_web: - dependency: transitive - description: - name: flutter_custom_tabs_web - sha256: dbb5689a97c2398aa5dbcfc9cd59cffea5518ec815e9d23def448dc143cb02be - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter_displaymode: - dependency: transitive - description: - name: flutter_displaymode - sha256: "42c5e9abd13d28ed74f701b60529d7f8416947e58256e6659c5550db719c57ef" - url: "https://pub.dev" - source: hosted - version: "0.6.0" - flutter_expandable_fab: - dependency: transitive - description: - name: flutter_expandable_fab - sha256: "43147571b147e80511d7f9bd143300f4b1b881e2beaf7f83f0eccb5d88a4112b" - url: "https://pub.dev" - source: hosted - version: "1.8.1" - flutter_feather_icons: - dependency: "direct main" - description: - name: flutter_feather_icons - sha256: b33b9c276fc8108254632da6644cf01f71af6c17fbfb26e136a86945f5ff9b67 - url: "https://pub.dev" - source: hosted - version: "2.0.0+1" - flutter_image_compress: - dependency: transitive - description: - name: flutter_image_compress - sha256: "2725cce5c58fdeaf1db8f4203688228bb67e3523a66305ccaa6f99071beb6dc2" - url: "https://pub.dev" - source: hosted - version: "2.0.4" - flutter_image_compress_common: - dependency: transitive - description: - name: flutter_image_compress_common - sha256: "8e7299afe109dc4b97fda34bf0f4967cc1fc10bc8050c374d449cab262d095b3" - url: "https://pub.dev" - source: hosted - version: "1.0.2" - flutter_image_compress_platform_interface: - dependency: transitive - description: - name: flutter_image_compress_platform_interface - sha256: "3c7e86da7540b1adfa919b461885a41a018d4a26544d0fcbeaa769f6542e603d" - url: "https://pub.dev" - source: hosted - version: "1.0.2" - flutter_image_compress_web: - dependency: transitive - description: - name: flutter_image_compress_web - sha256: e879189dc7f246dcf8f06c07ee849231341508bf51e8ed7d5dcbe778ddde0e81 - url: "https://pub.dev" - source: hosted - version: "0.1.3+1" - flutter_linkify: - dependency: transitive - description: - name: flutter_linkify - sha256: c89fe74de985ec22f23d3538d2249add085a4f37ac1c29fd79e1a207efb81d63 - url: "https://pub.dev" - source: hosted - version: "5.0.2" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: b543301ad291598523947dc534aaddc5aaad597b709d2426d3a0e0d44c5cb493 - url: "https://pub.dev" - source: hosted - version: "1.0.4" - flutter_local_notifications: - dependency: transitive - description: - name: flutter_local_notifications - sha256: "53c332ecee8e4d723269c1c2d0cdf7cbbff0a66cc0554d230a6f38cae81760d1" - url: "https://pub.dev" - source: hosted - version: "14.1.4" - flutter_local_notifications_linux: - dependency: transitive - description: - name: flutter_local_notifications_linux - sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" - url: "https://pub.dev" - source: hosted - version: "4.0.0+1" - flutter_local_notifications_platform_interface: - dependency: transitive - description: - name: flutter_local_notifications_platform_interface - sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" - url: "https://pub.dev" - source: hosted - version: "7.0.0+1" - flutter_localizations: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_markdown: - dependency: transitive - description: - name: flutter_markdown - sha256: "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619" - url: "https://pub.dev" - source: hosted - version: "0.6.18" - flutter_material_color_picker: - dependency: transitive - description: - name: flutter_material_color_picker - sha256: ca1e7749d228c9155ea24bce98e647cdbffa350e6f334f6c001f841cd3d9c987 - url: "https://pub.dev" - source: hosted - version: "1.2.0" - flutter_native_image: - dependency: transitive - description: - name: flutter_native_image - sha256: "0ff23d6222064259df8f85ea56925627ea1ec8658814672c5b6c23fc9174c65e" - url: "https://pub.dev" - source: hosted - version: "0.0.6+1" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c - url: "https://pub.dev" - source: hosted - version: "2.0.16" - flutter_staggered_grid_view: - dependency: transitive - description: - name: flutter_staggered_grid_view - sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395" - url: "https://pub.dev" - source: hosted - version: "0.7.0" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2" - url: "https://pub.dev" - source: hosted - version: "1.1.6" - flutter_test: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - go_router: - dependency: transitive - description: - name: go_router - sha256: e1a30a66d734f9e498b1b6522d6a75ded28242bad2359a9158df38a1c30bcf1f - url: "https://pub.dev" - source: hosted - version: "10.2.0" - graphs: - dependency: transitive - description: - name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - home_widget: - dependency: "direct main" - description: - name: home_widget - sha256: "9514c47422d511e87a3923ffed3fc4eb82540e168d7715d1560ceb1f02d5ec80" - url: "https://pub.dev" - source: hosted - version: "0.1.6" - html: - dependency: transitive - description: - name: html - sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" - url: "https://pub.dev" - source: hosted - version: "0.15.4" - http: - dependency: transitive - description: - name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" - url: "https://pub.dev" - source: hosted - version: "0.13.6" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - i18n_extension: - dependency: transitive - description: - name: i18n_extension - sha256: db45cd88cf3114f5b9368d975aebebe4ac37fa634fbc5643634289cdfd4d3631 - url: "https://pub.dev" - source: hosted - version: "9.0.2" - image_crop: - dependency: "direct main" - description: - path: "." - ref: HEAD - resolved-ref: "5e98cdd539a47861c1f81e230344b7fd338dde4f" - url: "https://github.com/kimaah/image_crop.git" - source: git - version: "0.4.1" - image_gallery_saver: - dependency: transitive - description: - name: image_gallery_saver - sha256: "0aba74216a4d9b0561510cb968015d56b701ba1bd94aace26aacdd8ae5761816" - url: "https://pub.dev" - source: hosted - version: "2.0.3" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c - url: "https://pub.dev" - source: hosted - version: "0.8.9" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: "0c7b83bbe2980c8a8e36e974f055e11e51675784e13a4762889feed0f3937ff2" - url: "https://pub.dev" - source: hosted - version: "0.8.8+1" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497 - url: "https://pub.dev" - source: hosted - version: "0.8.8+2" - image_picker_linux: - dependency: transitive - description: - name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_macos: - dependency: transitive - description: - name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 - url: "https://pub.dev" - source: hosted - version: "2.9.1" - image_picker_windows: - dependency: transitive - description: - name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - intl: - dependency: transitive - description: - name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.dev" - source: hosted - version: "0.18.1" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - linkify: - dependency: transitive - description: - name: linkify - sha256: bdfbdafec6cdc9cd0ebb333a868cafc046714ad508e48be8095208c54691d959 - url: "https://pub.dev" - source: hosted - version: "4.1.0" - lints: - dependency: transitive - description: - name: lints - sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c - url: "https://pub.dev" - source: hosted - version: "1.0.1" - live_activities: - dependency: transitive - description: - name: live_activities - sha256: acc8f7817d2a2db2da58ff662dad15e8bd638f946d7f6748d2615727cfc4d71e - url: "https://pub.dev" - source: hosted - version: "1.7.5" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - lottie: - dependency: "direct main" - description: - name: lottie - sha256: "893da7a0022ec2fcaa616f34529a081f617e86cc501105b856e5a3184c58c7c2" - url: "https://pub.dev" - source: hosted - version: "1.4.3" - macos_window_utils: - dependency: transitive - description: - name: macos_window_utils - sha256: b3dfd47bbc605f0e315af684b50370a8f84932267aaa542098063fa384d593bd - url: "https://pub.dev" - source: hosted - version: "1.4.0" - markdown: - dependency: transitive - description: - name: markdown - sha256: acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd - url: "https://pub.dev" - source: hosted - version: "7.1.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" - url: "https://pub.dev" - source: hosted - version: "0.12.16" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" - url: "https://pub.dev" - source: hosted - version: "0.5.0" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - nested: - dependency: transitive - description: - name: nested - sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - nm: - dependency: transitive - description: - name: nm - sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" - url: "https://pub.dev" - source: hosted - version: "0.5.0" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - url: "https://pub.dev" - source: hosted - version: "2.0.2" - open_file: - dependency: transitive - description: - path: "." - ref: master - resolved-ref: "69268cb6e3ce422cc493788088317cb82313ecea" - url: "https://github.com/crazecoder/open_file" - source: git - version: "3.3.2" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - package_info_plus: - dependency: transitive - description: - name: package_info_plus - sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a" - url: "https://pub.dev" - source: hosted - version: "4.1.0" - package_info_plus_platform_interface: - dependency: transitive - description: - name: package_info_plus_platform_interface - sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" - url: "https://pub.dev" - source: hosted - version: "2.0.1" - path: - dependency: transitive - description: - name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" - url: "https://pub.dev" - source: hosted - version: "1.8.3" - path_drawing: - dependency: transitive - description: - name: path_drawing - sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 - url: "https://pub.dev" - source: hosted - version: "1.0.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf - url: "https://pub.dev" - source: hosted - version: "1.0.1" - path_provider: - dependency: transitive - description: - name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa - url: "https://pub.dev" - source: hosted - version: "2.1.1" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" - url: "https://pub.dev" - source: hosted - version: "2.3.1" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" - url: "https://pub.dev" - source: hosted - version: "2.2.1" - permission_handler: - dependency: transitive - description: - name: permission_handler - sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5 - url: "https://pub.dev" - source: hosted - version: "10.4.5" - permission_handler_android: - dependency: transitive - description: - name: permission_handler_android - sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47" - url: "https://pub.dev" - source: hosted - version: "10.3.6" - permission_handler_apple: - dependency: transitive - description: - name: permission_handler_apple - sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" - url: "https://pub.dev" - source: hosted - version: "9.1.4" - permission_handler_platform_interface: - dependency: transitive - description: - name: permission_handler_platform_interface - sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" - url: "https://pub.dev" - source: hosted - version: "3.12.0" - permission_handler_windows: - dependency: transitive - description: - name: permission_handler_windows - sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 - url: "https://pub.dev" - source: hosted - version: "0.1.3" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 - url: "https://pub.dev" - source: hosted - version: "5.4.0" - photo_view: - dependency: transitive - description: - name: photo_view - sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb" - url: "https://pub.dev" - source: hosted - version: "0.14.0" - platform: - dependency: transitive - description: - name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" - url: "https://pub.dev" - source: hosted - version: "3.1.3" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d - url: "https://pub.dev" - source: hosted - version: "2.1.6" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - process_run: - dependency: transitive - description: - name: process_run - sha256: ceacfac6d566a36c895d64edc7e429efb2d6b6303b5e28d5c13bc59fe6e8974e - url: "https://pub.dev" - source: hosted - version: "0.13.1" - provider: - dependency: "direct main" - description: - name: provider - sha256: "59471e0a4595e264625d3496af567ac85bdae1148ec985aff1e0555786f53ecf" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - quick_actions: - dependency: transitive - description: - name: quick_actions - sha256: "3930e1cf78a0574495b4ea741ee197323c4a9081321d6ae384b3bfcd84c7ea83" - url: "https://pub.dev" - source: hosted - version: "1.0.6" - quick_actions_android: - dependency: transitive - description: - name: quick_actions_android - sha256: f2ddc2c0cc5c001e87e62f6de06da18ebc75c6a06d26750f6f12276841c1585c - url: "https://pub.dev" - source: hosted - version: "1.0.8" - quick_actions_ios: - dependency: transitive - description: - name: quick_actions_ios - sha256: f086cf98884421188c7c5c13f61b62aeb5b6fb88f197a0601db45108b1444ea6 - url: "https://pub.dev" - source: hosted - version: "1.0.7" - quick_actions_platform_interface: - dependency: transitive - description: - name: quick_actions_platform_interface - sha256: d2a8566b56eec49f93934528b62033906199c60f4ffaef0cba9ef02fcfed8a81 - url: "https://pub.dev" - source: hosted - version: "1.0.5" - rive: - dependency: transitive - description: - name: rive - sha256: "22e3755b75f4ea4492d2fecf4fc2acf1c8d0073df39781d290a20cbfe74c3760" - url: "https://pub.dev" - source: hosted - version: "0.9.1" - rounded_expansion_tile: - dependency: transitive - description: - path: "." - ref: HEAD - resolved-ref: aa1074fde76312befe9618ee958e5b9a1aad66d0 - url: "https://github.com/kimaah/rounded_expansion_tile.git" - source: git - version: "0.0.13" - screenshot: - dependency: transitive - description: - name: screenshot - sha256: "455284ff1f5b911d94a43c25e1385485cf6b4f288293eba68f15dad711c7b81c" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - share_plus: - dependency: transitive - description: - name: share_plus - sha256: "6cec740fa0943a826951223e76218df002804adb588235a8910dc3d6b0654e11" - url: "https://pub.dev" - source: hosted - version: "7.1.0" - share_plus_platform_interface: - dependency: transitive - description: - name: share_plus_platform_interface - sha256: "357412af4178d8e11d14f41723f80f12caea54cf0d5cd29af9dcdab85d58aea7" - url: "https://pub.dev" - source: hosted - version: "3.3.0" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" - url: "https://pub.dev" - source: hosted - version: "0.10.12" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - sqflite: - dependency: transitive - description: - name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" - url: "https://pub.dev" - source: hosted - version: "2.3.0" - sqflite_common: - dependency: transitive - description: - name: sqflite_common - sha256: "1b92f368f44b0dee2425bb861cfa17b6f6cf3961f762ff6f941d20b33355660a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" - sqflite_common_ffi: - dependency: transitive - description: - name: sqflite_common_ffi - sha256: "0d5cc1be2eb18400ac6701c31211d44164393aa75886093002ecdd947be04f93" - url: "https://pub.dev" - source: hosted - version: "2.3.0+2" - sqflite_common_ffi_web: - dependency: transitive - description: - name: sqflite_common_ffi_web - sha256: db9a7ef6adcfb6c9b4115f628c1d3efe3774b385309a80e75c1bafb97da2c9d1 - url: "https://pub.dev" - source: hosted - version: "0.4.0" - sqlite3: - dependency: transitive - description: - name: sqlite3 - sha256: db65233e6b99e99b2548932f55a987961bc06d82a31a0665451fa0b4fff4c3fb - url: "https://pub.dev" - source: hosted - version: "2.1.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - synchronized: - dependency: transitive - description: - name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" - url: "https://pub.dev" - source: hosted - version: "3.1.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test: - dependency: transitive - description: - name: test - sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46" - url: "https://pub.dev" - source: hosted - version: "1.24.3" - test_api: - dependency: transitive - description: - name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" - url: "https://pub.dev" - source: hosted - version: "0.6.0" - test_core: - dependency: transitive - description: - name: test_core - sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e" - url: "https://pub.dev" - source: hosted - version: "0.5.3" - timezone: - dependency: transitive - description: - name: timezone - sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" - url: "https://pub.dev" - source: hosted - version: "0.9.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - uni_links: - dependency: "direct main" - description: - name: uni_links - sha256: "051098acfc9e26a9fde03b487bef5d3d228ca8f67693480c6f33fd4fbb8e2b6e" - url: "https://pub.dev" - source: hosted - version: "0.5.1" - uni_links_platform_interface: - dependency: transitive - description: - name: uni_links_platform_interface - sha256: "929cf1a71b59e3b7c2d8a2605a9cf7e0b125b13bc858e55083d88c62722d4507" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - uni_links_web: - dependency: transitive - description: - name: uni_links_web - sha256: "7539db908e25f67de2438e33cc1020b30ab94e66720b5677ba6763b25f6394df" - url: "https://pub.dev" - source: hosted - version: "0.1.0" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27" - url: "https://pub.dev" - source: hosted - version: "6.1.14" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - sha256: b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330 - url: "https://pub.dev" - source: hosted - version: "6.1.0" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - sha256: "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f" - url: "https://pub.dev" - source: hosted - version: "6.1.5" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - sha256: b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e - url: "https://pub.dev" - source: hosted - version: "3.0.6" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - sha256: b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88 - url: "https://pub.dev" - source: hosted - version: "3.0.7" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - sha256: "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618" - url: "https://pub.dev" - source: hosted - version: "2.1.5" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - sha256: "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5" - url: "https://pub.dev" - source: hosted - version: "2.0.20" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - sha256: "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069" - url: "https://pub.dev" - source: hosted - version: "3.0.8" - uuid: - dependency: transitive - description: - name: uuid - sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" - url: "https://pub.dev" - source: hosted - version: "3.0.7" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 - url: "https://pub.dev" - source: hosted - version: "11.10.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 - url: "https://pub.dev" - source: hosted - version: "0.1.4-beta" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.dev" - source: hosted - version: "2.4.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - win32: - dependency: transitive - description: - name: win32 - sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" - url: "https://pub.dev" - source: hosted - version: "5.0.9" - workmanager: - dependency: transitive - description: - name: workmanager - sha256: ed13530cccd28c5c9959ad42d657cd0666274ca74c56dea0ca183ddd527d3a00 - url: "https://pub.dev" - source: hosted - version: "0.5.2" - wtf_sliding_sheet: - dependency: transitive - description: - name: wtf_sliding_sheet - sha256: fbce1d6b08bb8c5f6c4381346120b2e476600a236e0501552adfa47751f9ac61 - url: "https://pub.dev" - source: hosted - version: "1.1.2" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" - url: "https://pub.dev" - source: hosted - version: "1.0.3" - xml: - dependency: transitive - description: - name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" - url: "https://pub.dev" - source: hosted - version: "6.3.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.1.2 <4.0.0" - flutter: ">=3.13.0" diff --git a/filcnaplo_premium_old/pubspec.yaml b/filcnaplo_premium_old/pubspec.yaml deleted file mode 100644 index 1244ef7..0000000 --- a/filcnaplo_premium_old/pubspec.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: filcnaplo_premium -publish_to: "none" - -environment: - sdk: ">=2.17.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - cupertino_icons: ^1.0.2 - - # Filcnaplo main dep - filcnaplo: - path: ../filcnaplo/ - filcnaplo_kreta_api: - path: ../filcnaplo_kreta_api/ - filcnaplo_mobile_ui: - path: "../filcnaplo_mobile_ui/" - - provider: ^5.0.0 - flutter_feather_icons: ^2.0.0+1 - uni_links: ^0.5.1 - url_launcher: ^6.1.6 - dropdown_button2: ^1.8.9 - home_widget: ^0.1.6 - image_picker: ^0.8.6 - image_crop: - git: - url: https://github.com/kimaah/image_crop.git - lottie: ^1.4.3 - animations: ^2.0.1 - flutter_svg: ^1.1.6 - -dev_dependencies: - flutter_lints: ^1.0.0 - -flutter: - uses-material-design: true From af87e5ed363e58d2f1fa96c7b892b5fbccd62eba Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:33:58 +0200 Subject: [PATCH 06/65] smth --- filcnaplo_premium | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filcnaplo_premium b/filcnaplo_premium index 3e12ef4..f761563 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit 3e12ef4cc2e375b3fb2a9182bbfe42b0f90e9116 +Subproject commit f7615630e5a754e2ff8eee8c0b911d6183548a22 From 41fe5a3d05063def72f863dc25c11582d4ac1a49 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 21:39:02 +0200 Subject: [PATCH 07/65] csinaltam ezt meg azt pusz --- filcnaplo_premium | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filcnaplo_premium b/filcnaplo_premium index f761563..8f5fdb8 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit f7615630e5a754e2ff8eee8c0b911d6183548a22 +Subproject commit 8f5fdb8d381203469fed6733de6f91cae360f1d6 From 3f5b8ab607e2569443b1020134a53c1720a862e9 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 22:20:16 +0200 Subject: [PATCH 08/65] started doing app icon change --- .../components/active_sponsor_card.dart | 47 +++++++++++++------ .../lib/premium/premium_screen.dart | 4 +- filcnaplo_premium | 2 +- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/filcnaplo_mobile_ui/lib/premium/components/active_sponsor_card.dart b/filcnaplo_mobile_ui/lib/premium/components/active_sponsor_card.dart index abbdee1..c047b08 100755 --- a/filcnaplo_mobile_ui/lib/premium/components/active_sponsor_card.dart +++ b/filcnaplo_mobile_ui/lib/premium/components/active_sponsor_card.dart @@ -12,23 +12,29 @@ class ActiveSponsorCard extends StatelessWidget { static PremiumFeatureLevel? estimateLevel(List scopes) { if (scopes.contains(PremiumScopes.all)) { - return PremiumFeatureLevel.tinta; + return PremiumFeatureLevel.ink; } - if (scopes.contains(PremiumScopes.timetableWidget) || scopes.contains(PremiumScopes.goalPlanner)) { - return PremiumFeatureLevel.tinta; + if (scopes.contains(PremiumScopes.timetableWidget) || + scopes.contains(PremiumScopes.goalPlanner)) { + return PremiumFeatureLevel.ink; } - if (scopes.contains(PremiumScopes.customColors) || scopes.contains(PremiumScopes.nickname)) { - return PremiumFeatureLevel.kupak; + if (scopes.contains(PremiumScopes.customColors) || + scopes.contains(PremiumScopes.nickname)) { + return PremiumFeatureLevel.cap; } return null; } IconData _levelIcon(PremiumFeatureLevel level) { switch (level) { - case PremiumFeatureLevel.kupak: + case PremiumFeatureLevel.cap: return FilcIcons.kupak; - case PremiumFeatureLevel.tinta: + case PremiumFeatureLevel.ink: return FilcIcons.tinta; + case PremiumFeatureLevel.old: + return FilcIcons.kupak; + case PremiumFeatureLevel.sponge: + return FilcIcons.kupak; } } @@ -44,12 +50,18 @@ class ActiveSponsorCard extends StatelessWidget { Color glow; switch (level) { - case PremiumFeatureLevel.kupak: + case PremiumFeatureLevel.cap: glow = Colors.lightGreen; break; - case PremiumFeatureLevel.tinta: + case PremiumFeatureLevel.ink: glow = Colors.purple; break; + case PremiumFeatureLevel.old: + glow = Colors.red; + break; + case PremiumFeatureLevel.sponge: + glow = Colors.red; + break; } return Container( @@ -66,12 +78,14 @@ class ActiveSponsorCard extends StatelessWidget { margin: EdgeInsets.zero, elevation: 0, color: const Color(0xff2B2B2B), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(14.0)), + shape: + RoundedRectangleBorder(borderRadius: BorderRadius.circular(14.0)), child: InkWell( borderRadius: BorderRadius.circular(14.0), splashColor: glow.withOpacity(.2), onTap: () { - Navigator.of(context, rootNavigator: true).push(MaterialPageRoute(builder: (context) { + Navigator.of(context, rootNavigator: true) + .push(MaterialPageRoute(builder: (context) { return const PremiumScreen(); })); }, @@ -84,8 +98,10 @@ class ActiveSponsorCard extends StatelessWidget { child: Stack( children: [ CircleAvatar( - backgroundColor: Theme.of(context).colorScheme.secondary, - backgroundImage: NetworkImage("https://github.com/${premium.login}.png?size=128"), + backgroundColor: + Theme.of(context).colorScheme.secondary, + backgroundImage: NetworkImage( + "https://github.com/${premium.login}.png?size=128"), ), Positioned.fill( child: Align( @@ -122,7 +138,10 @@ class ActiveSponsorCard extends StatelessWidget { child: Text( premium.login, overflow: TextOverflow.ellipsis, - style: const TextStyle(fontWeight: FontWeight.w600, fontSize: 20, color: Colors.white), + style: const TextStyle( + fontWeight: FontWeight.w600, + fontSize: 20, + color: Colors.white), ), ), Padding( diff --git a/filcnaplo_mobile_ui/lib/premium/premium_screen.dart b/filcnaplo_mobile_ui/lib/premium/premium_screen.dart index c710a23..72baed1 100755 --- a/filcnaplo_mobile_ui/lib/premium/premium_screen.dart +++ b/filcnaplo_mobile_ui/lib/premium/premium_screen.dart @@ -139,7 +139,7 @@ class PremiumScreen extends StatelessWidget { "https://github.com/sponsors/filc/sponsorships?tier_id=238453&preview=true", active: ActiveSponsorCard.estimateLevel( context.watch().scopes) == - PremiumFeatureLevel.kupak, + PremiumFeatureLevel.cap, ), const SizedBox(height: 8.0), PremiumPlanCard( @@ -155,7 +155,7 @@ class PremiumScreen extends StatelessWidget { "https://github.com/sponsors/filc/sponsorships?tier_id=238454&preview=true", active: ActiveSponsorCard.estimateLevel( context.watch().scopes) == - PremiumFeatureLevel.tinta, + PremiumFeatureLevel.ink, ), const SizedBox(height: 12.0), PremiumGoalCard( diff --git a/filcnaplo_premium b/filcnaplo_premium index 8f5fdb8..ea512de 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit 8f5fdb8d381203469fed6733de6f91cae360f1d6 +Subproject commit ea512dea1c420539c0dd21603f7a7f449df84c1d From 7840a07c9557d8d506cad52bca99bbd70cc09e3c Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 22:33:21 +0200 Subject: [PATCH 09/65] added gitignore to rfplus --- filcnaplo_premium | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filcnaplo_premium b/filcnaplo_premium index ea512de..b7d15b7 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit ea512dea1c420539c0dd21603f7a7f449df84c1d +Subproject commit b7d15b7e5ff31da4455f11108920ec054b67f26e From 1ac618c29fd7519bcdf9510ad0736c66003ffba0 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 21 Oct 2023 23:49:21 +0200 Subject: [PATCH 10/65] some progress in custom app icon thingie --- .../assets/launch_icons/refilc_default.png | Bin 0 -> 1194594 bytes filcnaplo/pubspec.yaml | 1 + .../lib/common/filter_bar.dart | 31 +++++++++++------- .../lib/screens/settings/settings_screen.dart | 25 +++++++------- filcnaplo_premium | 2 +- 5 files changed, 35 insertions(+), 24 deletions(-) create mode 100644 filcnaplo/assets/launch_icons/refilc_default.png diff --git a/filcnaplo/assets/launch_icons/refilc_default.png b/filcnaplo/assets/launch_icons/refilc_default.png new file mode 100644 index 0000000000000000000000000000000000000000..ab54f58f5aba5343b073fb90bc1b5ad48740d862 GIT binary patch literal 1194594 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

Q)+SsX62Ob~mYUf@a^=DVngi?!2>G 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 Cbz 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