diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.metadata b/.metadata old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 39e38e6..5f881ce --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ # Asal -![Asal beta](screenshots/ss1.png) - -Asal (Asal means honey in Arabic), is a Flutter application that aims to show and follow up pray times easily. It has a simple and plain UI and it's easy to use. +Asal, is a Flutter application that aims to show and follow up pray times easily. ## Compile -I think you don't need something else. You can compile and run the source code by typing `flutter run` on the terminal. If you encounter an error, please open an issue. +You can compile and run the source code by typing `flutter run` on the terminal. If you encounter an error, please open an issue. diff --git a/analysis_options.yaml b/analysis_options.yaml old mode 100644 new mode 100755 diff --git a/android/.gitignore b/android/.gitignore old mode 100644 new mode 100755 diff --git a/android/app/build.gradle b/android/app/build.gradle old mode 100644 new mode 100755 diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml old mode 100644 new mode 100755 index bbb75bd..1f22a0e --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,34 +1,35 @@ - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/android/app/src/main/kotlin/com/example/asel/MainActivity.kt b/android/app/src/main/kotlin/com/example/asel/MainActivity.kt old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png new file mode 100644 index 0000000..195e363 Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png new file mode 100644 index 0000000..c0f110c Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png new file mode 100644 index 0000000..225b22c Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png new file mode 100644 index 0000000..bc3e198 Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png new file mode 100644 index 0000000..6b0f1df Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml old mode 100644 new mode 100755 diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml old mode 100644 new mode 100755 diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/android/build.gradle b/android/build.gradle old mode 100644 new mode 100755 index 58a8c74..713d7f6 --- a/android/build.gradle +++ b/android/build.gradle @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/android/gradle.properties b/android/gradle.properties old mode 100644 new mode 100755 diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 diff --git a/android/settings.gradle b/android/settings.gradle old mode 100644 new mode 100755 diff --git a/assets/google_fonts/RobotoCondensed-Bold.ttf b/assets/google_fonts/RobotoCondensed-Bold.ttf new file mode 100644 index 0000000..c807004 Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-Bold.ttf differ diff --git a/assets/google_fonts/RobotoCondensed-BoldItalic.ttf b/assets/google_fonts/RobotoCondensed-BoldItalic.ttf new file mode 100644 index 0000000..6d3e4fb Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-BoldItalic.ttf differ diff --git a/assets/google_fonts/RobotoCondensed-Italic.ttf b/assets/google_fonts/RobotoCondensed-Italic.ttf new file mode 100644 index 0000000..0668a58 Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-Italic.ttf differ diff --git a/assets/google_fonts/RobotoCondensed-Light.ttf b/assets/google_fonts/RobotoCondensed-Light.ttf new file mode 100644 index 0000000..9418633 Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-Light.ttf differ diff --git a/assets/google_fonts/RobotoCondensed-LightItalic.ttf b/assets/google_fonts/RobotoCondensed-LightItalic.ttf new file mode 100644 index 0000000..24737d7 Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-LightItalic.ttf differ diff --git a/assets/google_fonts/RobotoCondensed-Regular.ttf b/assets/google_fonts/RobotoCondensed-Regular.ttf new file mode 100644 index 0000000..17e8ea5 Binary files /dev/null and b/assets/google_fonts/RobotoCondensed-Regular.ttf differ diff --git a/assets/icons/icon.ico b/assets/icons/icon.ico new file mode 100755 index 0000000..4b97f54 Binary files /dev/null and b/assets/icons/icon.ico differ diff --git a/assets/icons/icon.png b/assets/icons/icon.png new file mode 100644 index 0000000..24b6e63 Binary files /dev/null and b/assets/icons/icon.png differ diff --git a/assets/images/background.jpg b/assets/images/background.jpg old mode 100644 new mode 100755 diff --git a/assets/images/evening.jpg b/assets/images/evening.jpg new file mode 100644 index 0000000..10683b9 Binary files /dev/null and b/assets/images/evening.jpg differ diff --git a/assets/images/morning.jpg b/assets/images/morning.jpg new file mode 100644 index 0000000..3ff13b0 Binary files /dev/null and b/assets/images/morning.jpg differ diff --git a/assets/images/night.jpg b/assets/images/night.jpg new file mode 100644 index 0000000..4bb2770 Binary files /dev/null and b/assets/images/night.jpg differ diff --git a/assets/images/noon.jpg b/assets/images/noon.jpg new file mode 100644 index 0000000..877f0d0 Binary files /dev/null and b/assets/images/noon.jpg differ diff --git a/ios/.gitignore b/ios/.gitignore old mode 100644 new mode 100755 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist old mode 100644 new mode 100755 diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig old mode 100644 new mode 100755 diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig old mode 100644 new mode 100755 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist old mode 100644 new mode 100755 diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings old mode 100644 new mode 100755 diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme old mode 100644 new mode 100755 diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist old mode 100644 new mode 100755 diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings old mode 100644 new mode 100755 diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png old mode 100644 new mode 100755 index dc9ada4..a1b5675 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png old mode 100644 new mode 100755 index 7353c41..718ca28 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png old mode 100644 new mode 100755 index 797d452..b1d065c Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png old mode 100644 new mode 100755 index 6ed2d93..e23a0dc Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png old mode 100644 new mode 100755 index 4cd7b00..6a012ef Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png old mode 100644 new mode 100755 index fe73094..1aad3af Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png old mode 100644 new mode 100755 index 321773c..230f7af Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png old mode 100644 new mode 100755 index 797d452..b1d065c Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png old mode 100644 new mode 100755 index 502f463..a2a41c4 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png old mode 100644 new mode 100755 index 0ec3034..cfb01f1 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000..ce3bf78 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000..7d0e71c Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000..55d79d4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000..ef93241 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png old mode 100644 new mode 100755 index 0ec3034..cfb01f1 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png old mode 100644 new mode 100755 index e9f5fea..b5f958e Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000..195e363 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 0000000..bc3e198 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png old mode 100644 new mode 100755 index 84ac32a..0ce655e Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png old mode 100644 new mode 100755 index 8953cba..9649f14 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png old mode 100644 new mode 100755 index 0467bf1..15ee8d2 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png old mode 100644 new mode 100755 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md old mode 100644 new mode 100755 diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard old mode 100644 new mode 100755 diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard old mode 100644 new mode 100755 diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist old mode 100644 new mode 100755 diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h old mode 100644 new mode 100755 diff --git a/lib/dialogs/update_times/update_times_cubit.dart b/lib/dialogs/update_times/update_times_cubit.dart old mode 100644 new mode 100755 diff --git a/lib/dialogs/update_times/update_times_view.dart b/lib/dialogs/update_times/update_times_view.dart old mode 100644 new mode 100755 diff --git a/lib/extensions/date_extensions.dart b/lib/extensions/date_extensions.dart old mode 100644 new mode 100755 index e8dbb3e..4539731 --- a/lib/extensions/date_extensions.dart +++ b/lib/extensions/date_extensions.dart @@ -2,4 +2,20 @@ extension DateExtensions on DateTime { bool isBetween(DateTime a, DateTime b) { return isAfter(a) && isBefore(b); } + + get timeInSeconds { + return (hour * 60 * 60) + (minute * 60) + second; + } + + String toDifferenceString(DateTime b) { + if (b.timeInSeconds < timeInSeconds) { + b = b.add(const Duration(days: 1)); + } + Duration diff = difference(b); + String hours = diff.inHours.abs().toString().padLeft(2, '0'); + String minutes = (diff.inMinutes - (diff.inHours * 60)).abs().toString().padLeft(2, '0'); + String seconds = (diff.inSeconds - diff.inMinutes * 60).abs().toString().padLeft(2, '0'); + + return "$hours:$minutes:$seconds"; + } } diff --git a/lib/main.dart b/lib/main.dart old mode 100644 new mode 100755 index d6c4fba..aad2f76 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,15 +3,24 @@ import 'dart:io'; import 'package:asal/router/routes.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:window_manager/window_manager.dart'; Future main() async { + GoogleFonts.config.allowRuntimeFetching = false; WidgetsFlutterBinding.ensureInitialized(); EasyLoading.instance.userInteractions = false; if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { windowManager.setTitle("Asal"); - windowManager.setMaximumSize(const Size(300, 700)); + windowManager.setMaximumSize(const Size(400, 700)); + windowManager.setMinimumSize(const Size(400, 700)); + + if (Platform.isWindows) { + windowManager.setIcon("assets/icons/icon.ico"); + } else { + windowManager.setIcon("assets/icons/icon.png"); + } } runApp(const AsalApp()); diff --git a/lib/models/calendar_model.dart b/lib/models/calendar_model.dart old mode 100644 new mode 100755 index eb9d903..238eb7c --- a/lib/models/calendar_model.dart +++ b/lib/models/calendar_model.dart @@ -16,9 +16,9 @@ class CalendarModel { DayModel today() { DateTime now = DateTime.now(); return days.firstWhere((element) { - return element.date.day == now.day && - element.date.month == now.month && - element.date.year == now.year; + return element.date.value.day == now.day && + element.date.value.month == now.month && + element.date.value.year == now.year; }); } } diff --git a/lib/models/day_model.dart b/lib/models/day_model.dart old mode 100644 new mode 100755 index 4529ea8..3b408ee --- a/lib/models/day_model.dart +++ b/lib/models/day_model.dart @@ -1,3 +1,4 @@ +import 'package:asal/models/time_model.dart'; import 'package:intl/intl.dart'; String _parseTime(String time) { @@ -13,36 +14,40 @@ DateTime _parseWithDate(String time) { } class DayModel { - final DateTime date; - final DateTime fajr; - final DateTime sunrise; - final DateTime dhuhr; - final DateTime asr; - final DateTime maghrib; - final DateTime isha; - - DayModel(this.date, this.fajr, this.sunrise, this.dhuhr, this.asr, this.maghrib, this.isha); - - DayModel.fromJson(Map json) - : date = DateFormat("dd-MM-yyyy").parse(json["date"]["gregorian"]["date"]), - fajr = _parseWithDate(_parseTime(json["timings"]["Fajr"])), - sunrise = _parseWithDate(_parseTime(json["timings"]["Sunrise"])), - dhuhr = _parseWithDate(_parseTime(json["timings"]["Dhuhr"])), - asr = _parseWithDate(_parseTime(json["timings"]["Asr"])), - maghrib = _parseWithDate(_parseTime(json["timings"]["Maghrib"])), - isha = _parseWithDate(_parseTime(json["timings"]["Isha"])); + final TimeModel date = TimeModel(DateTime.now(), "Tarih"); + final TimeModel fajr = TimeModel(DateTime.now(), "İmsak", image: "assets/images/evening.jpg"); + final TimeModel sunrise = TimeModel(DateTime.now(), "Güneş", image: "assets/images/morning.jpg"); + final TimeModel dhuhr = TimeModel(DateTime.now(), "Öğle", image: "assets/images/noon.jpg"); + final TimeModel asr = TimeModel(DateTime.now(), "İkindi", image: "assets/images/morning.jpg"); + final TimeModel maghrib = TimeModel(DateTime.now(), "Akşam", image: "assets/images/evening.jpg"); + final TimeModel isha = TimeModel(DateTime.now(), "Yatsı", image: "assets/images/night.jpg"); + + DayModel(); + + factory DayModel.fromJson(Map json) { + DayModel day = DayModel(); + + day.date.value = DateFormat("dd-MM-yyyy").parse(json["date"]["gregorian"]["date"]); + day.fajr.value = _parseWithDate(_parseTime(json["timings"]["Fajr"])); + day.sunrise.value = _parseWithDate(_parseTime(json["timings"]["Sunrise"])); + day.dhuhr.value = _parseWithDate(_parseTime(json["timings"]["Dhuhr"])); + day.asr.value = _parseWithDate(_parseTime(json["timings"]["Asr"])); + day.maghrib.value = _parseWithDate(_parseTime(json["timings"]["Maghrib"])); + day.isha.value = _parseWithDate(_parseTime(json["timings"]["Isha"])); + return day; + } Map toJson() => { "date": { - "gregorian": {"date": DateFormat("dd-MM-yyyy").format(date)} + "gregorian": {"date": DateFormat("dd-MM-yyyy").format(date.value)} }, "timings": { - "Fajr": _timeFormat.format(fajr), - "Sunrise": _timeFormat.format(sunrise), - "Dhuhr": _timeFormat.format(dhuhr), - "Asr": _timeFormat.format(asr), - "Maghrib": _timeFormat.format(maghrib), - "Isha": _timeFormat.format(isha), + "Fajr": _timeFormat.format(fajr.value), + "Sunrise": _timeFormat.format(sunrise.value), + "Dhuhr": _timeFormat.format(dhuhr.value), + "Asr": _timeFormat.format(asr.value), + "Maghrib": _timeFormat.format(maghrib.value), + "Isha": _timeFormat.format(isha.value), } }; } diff --git a/lib/models/time_model.dart b/lib/models/time_model.dart new file mode 100644 index 0000000..7d4ff50 --- /dev/null +++ b/lib/models/time_model.dart @@ -0,0 +1,7 @@ +class TimeModel { + final String name; + DateTime value; + String image = ""; + + TimeModel(this.value, this.name, {this.image = ""}); +} diff --git a/lib/pages/homepage/homepage_cubit.dart b/lib/pages/homepage/homepage_cubit.dart old mode 100644 new mode 100755 index 9eb8546..ccb416b --- a/lib/pages/homepage/homepage_cubit.dart +++ b/lib/pages/homepage/homepage_cubit.dart @@ -4,19 +4,31 @@ import 'package:asal/dialogs/update_times/update_times_view.dart'; import 'package:asal/extensions/date_extensions.dart'; import 'package:asal/models/calendar_model.dart'; import 'package:asal/models/day_model.dart'; +import 'package:asal/models/time_model.dart'; import 'package:asal/services/config_service.dart'; -import 'package:asal/services/praytimes_service.dart'; +import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:intl/intl.dart'; class HomepageCubit extends Cubit { HomepageCubit(this.context) : super(HomepageLoading()) { _loadCalendar(); } + int cardIndex = 0; + int nextTimeIndex = 0; + TimeModel nextTime = TimeModel(DateTime.now(), "Vakit"); + DayModel today = DayModel(); BuildContext context; CalendarModel? calendar; + List prayTimes = []; + CarouselController carouselController = CarouselController(); late Timer timer; + late TimeModel lastTime; + + void onCardChanged(int index, CarouselPageChangedReason reason) { + cardIndex = index; + emit(HomepageLoaded()); + } Future showUpdateTimesDialog() async { return showDialog(context: context, builder: (context) => UpdateTimesDialog); @@ -31,35 +43,57 @@ class HomepageCubit extends Cubit { } while (updated != null && !updated); calendar = await ConfigService.loadCalendar(); } + + today = calendar!.today(); + findNextTime(); + lastTime = nextTime; + cardIndex = nextTimeIndex; + emit(HomepageLoaded()); + timer = Timer.periodic(const Duration(seconds: 1), (Timer _) { + checkToday(); + findNextTime(); + checkTimeChange(); emit(HomepageLoaded()); }); } String get timeLeft { - Duration difference = nextTime.difference(DateTime.now()); - String hours = difference.inHours.toString().padLeft(2, '0'); - String minutes = (difference.inMinutes - (difference.inHours * 60)).toString().padLeft(2, '0'); - String seconds = (difference.inSeconds - difference.inMinutes * 60).toString().padLeft(2, '0'); + if (prayTimes.isEmpty) { + return "00:00:00"; + } - return "$hours:$minutes:$seconds"; + return DateTime.now().toDifferenceString(prayTimes[cardIndex].value); } - DateTime get nextTime { + void checkTimeChange() { + if (lastTime.name != nextTime.name) { + lastTime = nextTime; + cardIndex = nextTimeIndex; + carouselController.animateToPage(cardIndex, + duration: const Duration(seconds: 1), curve: Curves.easeInOut); + } + } + + void findNextTime() { + prayTimes = [today.fajr, today.sunrise, today.dhuhr, today.asr, today.maghrib, today.isha]; DateTime now = DateTime.now(); - DayModel today = calendar!.today(); - if (now.isBetween(today.fajr, today.sunrise)) { - return today.sunrise; - } else if (now.isBetween(today.sunrise, today.dhuhr)) { - return today.dhuhr; - } else if (now.isBetween(today.dhuhr, today.asr)) { - return today.asr; - } else if (now.isBetween(today.asr, today.maghrib)) { - return today.maghrib; - } else if (now.isBetween(today.maghrib, today.isha)) { - return today.isha; - } else /*if (now.isBetween(today.isha, today.fajr)) */ { - return today.fajr; + + for (int i = 1; i < prayTimes.length; i++) { + if (now.isBetween(prayTimes[i - 1].value, prayTimes[i].value)) { + nextTime = prayTimes[i]; + nextTimeIndex = i; + return; + } + } + + nextTime = prayTimes[0]; + nextTimeIndex = 0; + } + + void checkToday() { + if (DateTime.now().day != today.date.value.day) { + today = calendar!.today(); } } } diff --git a/lib/pages/homepage/homepage_view.dart b/lib/pages/homepage/homepage_view.dart old mode 100644 new mode 100755 index 7bc6992..f96cb45 --- a/lib/pages/homepage/homepage_view.dart +++ b/lib/pages/homepage/homepage_view.dart @@ -1,8 +1,13 @@ import 'package:asal/dialogs/update_times/update_times_view.dart'; +import 'package:asal/extensions/date_extensions.dart'; +import 'package:asal/models/time_model.dart'; import 'package:asal/pages/homepage/homepage_cubit.dart'; -import 'package:asal/widgets/time_card/time_card_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:intl/intl.dart'; +import 'package:smooth_page_indicator/smooth_page_indicator.dart'; class HomepageView extends StatelessWidget { const HomepageView({super.key}); @@ -18,7 +23,7 @@ class HomepageView extends StatelessWidget { return _buildProgressIndicator(); } else /* if (state is HomepageLoaded) */ { return Stack( - children: [_buildBackground(context), _buildScaffold(context)], + children: [_buildScaffold(context)], ); } }, @@ -51,81 +56,151 @@ class HomepageView extends StatelessWidget { ), backgroundColor: Colors.transparent, body: Column(children: [ - SizedBox( - height: MediaQuery.of(context).size.height / 10, + Center( + child: _buildTimeSlider(context), ), - _buildTimeRow( - context, - TimeCard(title: "İmsak", time: context.read().calendar!.today().fajr), - TimeCard( - title: "Güneş", time: context.read().calendar!.today().sunrise)), - const SizedBox( - height: 30, + Container( + margin: const EdgeInsets.all(10), + child: Text("Vaktin çıkmasına:", style: GoogleFonts.robotoCondensed(fontSize: 30)), ), - _buildTimeRow( - context, - TimeCard(title: "Öğle", time: context.read().calendar!.today().dhuhr), - TimeCard(title: "İkindi", time: context.read().calendar!.today().asr)), - const SizedBox( - height: 30, + Row( + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.all(20), + margin: const EdgeInsets.fromLTRB(30, 0, 30, 0), + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all(Radius.circular(100)), + boxShadow: [ + BoxShadow( + color: Colors.black12, + spreadRadius: 0.2, + blurRadius: 7, + offset: Offset(0, 2)) + ], + ), + child: Center( + child: Text(context.read().timeLeft, + style: + GoogleFonts.robotoCondensed(fontWeight: FontWeight.bold, fontSize: 25)), + ), + ), + ), + ], ), - _buildTimeRow( - context, - TimeCard(title: "Akşam", time: context.read().calendar!.today().maghrib), - TimeCard(title: "Yatsı", time: context.read().calendar!.today().isha)), - const Spacer(), - _buildTimeLeftCard(context), + const Spacer( + flex: 2, + ), + Row( + children: [Expanded(child: _buildTimeTable(context))], + ) ]), ); } - Image _buildBackground(BuildContext context) { - return Image.asset( - "assets/images/background.jpg", - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height, - fit: BoxFit.cover, - ); + DataTable _buildTimeTable(BuildContext context) { + var cubit = context.read(); + + style(String timeName) { + return TextStyle(color: cubit.nextTime.name == timeName ? Colors.white : Colors.black); + } + + return DataTable( + columns: const [DataColumn(label: Text("Vakit")), DataColumn(label: Text("Saat"))], + rows: cubit.prayTimes + .map((e) => DataRow( + cells: [ + DataCell(Text(e.name, style: style(e.name))), + DataCell(Text(DateFormat.Hm().format(e.value), style: style(e.name))), + ], + color: MaterialStateColor.resolveWith((states) { + if (e.name == cubit.nextTime.name) { + return Colors.lightGreen; + } + return Colors.transparent; + }), + )) + .toList()); } - Container _buildTimeLeftCard(BuildContext context) { - return Container( - alignment: Alignment.center, - decoration: BoxDecoration( - boxShadow: const [ - BoxShadow(color: Colors.blueGrey, spreadRadius: 5, blurRadius: 7, offset: Offset(0, 3)) - ], - color: Color.fromARGB(255, 223, 223, 223), - border: Border.all(width: 2, color: const Color.fromARGB(255, 128, 128, 128)), - borderRadius: const BorderRadius.all(Radius.circular(10))), - child: Padding( - padding: const EdgeInsets.all(10), - child: Column( - children: [ - const Text( - "Vaktin Çıkmasına", - style: - TextStyle(fontSize: 20, fontWeight: FontWeight.bold, fontStyle: FontStyle.italic), - ), - const Divider(color: Colors.black, thickness: 1), - Text(context.read().timeLeft, - style: const TextStyle( - fontSize: 23, fontWeight: FontWeight.bold, color: Color.fromARGB(255, 0, 0, 0))) - ], - ), - ), + Widget _buildTimeCard(BuildContext context, TimeModel model) { + var cubit = context.read(); + var image = DecorationImage( + image: AssetImage(model.image.isNotEmpty ? model.image : "assets/images/evening.jpg"), + fit: BoxFit.fill); + + Border? drawBorder() { + if (model.name == cubit.nextTime.name) { + return Border.all( + color: Colors.lightGreen, + style: BorderStyle.solid, + width: 2, + ); + } + return null; + } + + return Stack( + children: [ + Container( + margin: const EdgeInsets.all(10), + decoration: BoxDecoration( + image: image, + border: drawBorder(), + boxShadow: const [ + BoxShadow( + color: Colors.black12, spreadRadius: 0.2, blurRadius: 7, offset: Offset(0, 2)) + ], + borderRadius: const BorderRadius.all(Radius.circular(10))), + child: Container( + padding: const EdgeInsets.all(30), + decoration: BoxDecoration( + color: Colors.black.withOpacity(0.2), + borderRadius: const BorderRadius.all(Radius.circular(10))), + child: Column(children: [ + Row( + children: [ + Text(model.name, + style: const TextStyle( + fontSize: 23, fontWeight: FontWeight.bold, color: Colors.white)), + ], + ), + Row(children: [ + Text(DateFormat.Hm().format(model.value), + style: const TextStyle( + fontSize: 25, fontWeight: FontWeight.bold, color: Colors.white)) + ]), + ]), + )), + ], ); } - Widget _buildTimeRow(BuildContext context, TimeCard left, TimeCard right) { - return Row( - mainAxisAlignment: MainAxisAlignment.center, + Widget _buildTimeSlider(BuildContext context) { + var cubit = context.read(); + + return Column( children: [ - left, - SizedBox( - width: MediaQuery.of(context).size.width / 4, + CarouselSlider( + carouselController: cubit.carouselController, + options: CarouselOptions( + initialPage: context.read().cardIndex, + height: 160, + viewportFraction: 1, + enlargeCenterPage: true, + disableCenter: true, + enlargeFactor: 0, + onPageChanged: context.read().onCardChanged, + ), + items: cubit.prayTimes.map((e) => _buildTimeCard(context, e)).toList(), ), - right, + AnimatedSmoothIndicator( + activeIndex: context.read().cardIndex, + count: cubit.prayTimes.length, + effect: const ExpandingDotsEffect( + dotWidth: 10, dotHeight: 10, activeDotColor: Colors.lightGreen), + ) ], ); } diff --git a/lib/router/routes.dart b/lib/router/routes.dart old mode 100644 new mode 100755 diff --git a/lib/services/address_service.dart b/lib/services/address_service.dart old mode 100644 new mode 100755 diff --git a/lib/services/config_service.dart b/lib/services/config_service.dart old mode 100644 new mode 100755 diff --git a/lib/services/praytimes_service.dart b/lib/services/praytimes_service.dart old mode 100644 new mode 100755 diff --git a/lib/widgets/time_card/time_card_view.dart b/lib/widgets/time_card/time_card_view.dart deleted file mode 100644 index d9d7aad..0000000 --- a/lib/widgets/time_card/time_card_view.dart +++ /dev/null @@ -1,44 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; - -class TimeCard extends StatelessWidget { - final String title; - final DateTime time; - - const TimeCard({super.key, required this.time, required this.title}); - - @override - Widget build(BuildContext context) { - return Container( - width: 100, - alignment: Alignment.center, - decoration: BoxDecoration( - boxShadow: const [ - BoxShadow( - color: Color.fromARGB(255, 90, 90, 90), - spreadRadius: 1, - blurRadius: 15, - offset: Offset(0, 3)) - ], - color: Color.fromARGB(255, 196, 196, 196), - border: Border.all(width: 2, color: Color.fromARGB(255, 182, 182, 182)), - borderRadius: const BorderRadius.all(Radius.circular(10))), - child: Padding( - padding: const EdgeInsets.all(10), - child: Column( - children: [ - Text( - title, - style: const TextStyle( - fontSize: 20, fontWeight: FontWeight.bold, fontStyle: FontStyle.italic), - ), - const Divider(color: Colors.black, thickness: 1), - Text(DateFormat.Hm().format(time), - style: const TextStyle( - fontSize: 23, fontWeight: FontWeight.bold, color: Color.fromARGB(255, 0, 0, 0))) - ], - ), - ), - ); - } -} diff --git a/linux/.gitignore b/linux/.gitignore old mode 100644 new mode 100755 diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/linux/flutter/CMakeLists.txt b/linux/flutter/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc old mode 100644 new mode 100755 diff --git a/linux/flutter/generated_plugin_registrant.h b/linux/flutter/generated_plugin_registrant.h old mode 100644 new mode 100755 diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake old mode 100644 new mode 100755 diff --git a/linux/main.cc b/linux/main.cc old mode 100644 new mode 100755 diff --git a/linux/my_application.cc b/linux/my_application.cc old mode 100644 new mode 100755 diff --git a/linux/my_application.h b/linux/my_application.h old mode 100644 new mode 100755 diff --git a/macos/.gitignore b/macos/.gitignore old mode 100644 new mode 100755 diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift old mode 100644 new mode 100755 index 71238ca..7b133d0 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,11 +5,13 @@ import FlutterMacOS import Foundation +import path_provider_foundation import screen_retriever import shared_preferences_foundation import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj old mode 100644 new mode 100755 diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist old mode 100644 new mode 100755 diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme old mode 100644 new mode 100755 diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist old mode 100644 new mode 100755 diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift old mode 100644 new mode 100755 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json old mode 100644 new mode 100755 index a2ec33f..96d3fee --- a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,68 +1,68 @@ { - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" + "info": { + "version": 1, + "author": "xcode" }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} + "images": [ + { + "size": "16x16", + "idiom": "mac", + "filename": "app_icon_16.png", + "scale": "1x" + }, + { + "size": "16x16", + "idiom": "mac", + "filename": "app_icon_32.png", + "scale": "2x" + }, + { + "size": "32x32", + "idiom": "mac", + "filename": "app_icon_32.png", + "scale": "1x" + }, + { + "size": "32x32", + "idiom": "mac", + "filename": "app_icon_64.png", + "scale": "2x" + }, + { + "size": "128x128", + "idiom": "mac", + "filename": "app_icon_128.png", + "scale": "1x" + }, + { + "size": "128x128", + "idiom": "mac", + "filename": "app_icon_256.png", + "scale": "2x" + }, + { + "size": "256x256", + "idiom": "mac", + "filename": "app_icon_256.png", + "scale": "1x" + }, + { + "size": "256x256", + "idiom": "mac", + "filename": "app_icon_512.png", + "scale": "2x" + }, + { + "size": "512x512", + "idiom": "mac", + "filename": "app_icon_512.png", + "scale": "1x" + }, + { + "size": "512x512", + "idiom": "mac", + "filename": "app_icon_1024.png", + "scale": "2x" + } + ] +} \ No newline at end of file diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png old mode 100644 new mode 100755 index 82b6f9d..a1b5675 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png old mode 100644 new mode 100755 index 13b35eb..eaee790 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png old mode 100644 new mode 100755 index 0a3f5fa..eb95e09 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png old mode 100644 new mode 100755 index bdb5722..82d9d7e Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png old mode 100644 new mode 100755 index f083318..001c248 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png old mode 100644 new mode 100755 index 326c0e7..c72f12b Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png old mode 100644 new mode 100755 index 2f1632c..a81ae78 Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ diff --git a/macos/Runner/Base.lproj/MainMenu.xib b/macos/Runner/Base.lproj/MainMenu.xib old mode 100644 new mode 100755 diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig old mode 100644 new mode 100755 diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements old mode 100644 new mode 100755 diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist old mode 100644 new mode 100755 diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift old mode 100644 new mode 100755 diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements old mode 100644 new mode 100755 diff --git a/pubspec.lock b/pubspec.lock old mode 100644 new mode 100755 index b553fc2..ca49b9f --- a/pubspec.lock +++ b/pubspec.lock @@ -1,22 +1,38 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + 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: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.0" bloc: dependency: transitive description: name: bloc - sha256: "658a5ae59edcf1e58aac98b000a71c762ad8f46f1394c34a52050cafb3e11a80" + sha256: "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49" url: "https://pub.dev" source: hosted - version: "8.1.1" + version: "8.1.2" boolean_selector: dependency: transitive description: @@ -25,14 +41,38 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" + url: "https://pub.dev" + source: hosted + version: "4.2.1" characters: dependency: transitive description: name: characters - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 + url: "https://pub.dev" + source: hosted + version: "0.4.0" clock: dependency: transitive description: @@ -45,26 +85,42 @@ packages: dependency: transitive description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" dio: dependency: "direct main" description: name: dio - sha256: "0894a098594263fe1caaba3520e3016d8a855caeb010a882273189cca10f11e9" + sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "5.3.3" fake_async: dependency: transitive description: @@ -77,10 +133,10 @@ packages: dependency: transitive description: name: ffi - sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.1.0" file: dependency: transitive description: @@ -98,10 +154,10 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: "434951eea948dbe87f737b674281465f610b8259c16c097b8163ce138749a775" + sha256: e74efb89ee6945bcbce74a5b3a5a3376b088e5f21f55c263fc38cbdc6237faae url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.1.3" flutter_easyloading: dependency: "direct main" description: @@ -110,14 +166,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.5" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + url: "https://pub.dev" + source: hosted + version: "0.13.1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" flutter_spinkit: dependency: transitive description: @@ -136,6 +200,22 @@ packages: description: flutter source: sdk version: "0.0.0" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: f0b8d115a13ecf827013ec9fc883390ccc0e87a96ed5347a3114cac177ef18e8 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + http: + dependency: transitive + description: + name: http + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + url: "https://pub.dev" + source: hosted + version: "1.1.0" http_parser: dependency: transitive description: @@ -144,54 +224,70 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + url: "https://pub.dev" + source: hosted + version: "4.1.3" intl: dependency: "direct main" description: name: intl - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" url: "https://pub.dev" source: hosted - version: "0.18.0" + version: "0.18.1" js: dependency: transitive description: name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "4.8.1" lints: dependency: transitive description: name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.1" matcher: dependency: transitive description: name: matcher - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.13" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.1" nested: dependency: transitive description: @@ -204,58 +300,90 @@ packages: dependency: transitive description: name: path - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + 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: "1.8.2" + version: "2.3.1" path_provider_linux: dependency: transitive description: name: path_provider_linux - sha256: "2ae08f2216225427e64ad224a24354221c2c7907e448e6e0e8b57b1eb9f10ad1" + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 url: "https://pub.dev" source: hosted - version: "2.1.10" + version: "2.2.1" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec" + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" url: "https://pub.dev" source: hosted - version: "2.0.6" + version: "2.1.1" path_provider_windows: dependency: transitive description: name: path_provider_windows - sha256: d3f80b32e83ec208ac95253e0cd4d298e104fbc63cb29c5c69edaed43b0c69d6 + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + url: "https://pub.dev" + source: hosted + version: "5.4.0" platform: dependency: transitive description: name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.3" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" + sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d url: "https://pub.dev" source: hosted - version: "2.1.4" - process: + version: "2.1.6" + pointycastle: dependency: transitive description: - name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + name: pointycastle + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "3.7.3" provider: dependency: transitive description: @@ -268,87 +396,95 @@ packages: dependency: transitive description: name: screen_retriever - sha256: "4931f226ca158123ccd765325e9fbf360bfed0af9b460a10f960f9bb13d58323" + sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90" url: "https://pub.dev" source: hosted - version: "0.1.6" + version: "0.1.9" sembast: dependency: "direct main" description: name: sembast - sha256: a784dbcf313ff38a7f57249694c64a6bcf79f704dbec127958459a7737716830 + sha256: "85ff944434f7b566fdc388be4f85b23e954736b7d6e51f965f4f419d966c15b1" url: "https://pub.dev" source: hosted - version: "3.4.4" + version: "3.5.0+1" shared_preferences: dependency: "direct main" description: name: shared_preferences - sha256: "16d3fb6b3692ad244a695c0183fca18cf81fd4b821664394a781de42386bf022" + sha256: b7f41bad7e521d205998772545de63ff4e6c97714775902c199353f8bf1511ac url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.2.1" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "6478c6bbbecfe9aced34c483171e90d7c078f5883558b30ec3163cf18402c749" + sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.1" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: e014107bb79d6d3297196f4f2d0db54b5d1f85b8ea8ff63b8e8b391a02700feb + sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.4" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9d387433ca65717bbf1be88f4d5bb18f10508917a8fa2fb02e0fd0d7479a9afa" + sha256: c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d + sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "74083203a8eae241e0de4a0d597dbedab3b8fef5563f33cf3c12d7e93c655ca5" + sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.1" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "5e588e2efef56916a3b229c3bfe81e6a525665a454519ca51dbcc4236a274173" + sha256: f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" + smooth_page_indicator: + dependency: "direct main" + description: + name: smooth_page_indicator + sha256: "725bc638d5e79df0c84658e1291449996943f93bacbc2cec49963dbbab48d8ae" + url: "https://pub.dev" + source: hosted + version: "1.1.0" source_span: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: @@ -393,18 +529,18 @@ packages: dependency: transitive description: name: test_api - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.6.0" typed_data: dependency: transitive description: name: typed_data - sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.2" vector_math: dependency: transitive description: @@ -413,30 +549,54 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" win32: dependency: transitive description: name: win32 - sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" + sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" url: "https://pub.dev" source: hosted - version: "4.1.4" + version: "5.0.9" window_manager: dependency: "direct main" description: name: window_manager - sha256: "2b2572442b2a5178642730442dc625ac088244f5827b1f0811371b1b7485eb62" + sha256: dcc865277f26a7dad263a47d0e405d77e21f12cb71f30333a52710a408690bd7 url: "https://pub.dev" source: hosted - version: "0.3.2" + version: "0.3.7" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1 + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" url: "https://pub.dev" source: hosted - version: "1.0.0" + 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: ">=2.19.5 <3.0.0" - flutter: ">=3.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" + flutter: ">=3.7.0" diff --git a/pubspec.yaml b/pubspec.yaml old mode 100644 new mode 100755 index 3f49982..c9cfe34 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,13 +17,32 @@ dependencies: shared_preferences: ^2.1.1 flutter_easyloading: ^3.0.5 window_manager: ^0.3.2 + carousel_slider: ^4.2.1 + smooth_page_indicator: ^1.1.0 + google_fonts: ^6.1.0 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 + flutter_launcher_icons: "^0.13.1" + +flutter_launcher_icons: + android: "launcher_icon" + ios: true + image_path: "assets/icons/icon.png" + min_sdk_android: 21 # android min sdk min:16, default 21 + windows: + generate: true + image_path: "assets/icons/icon.png" + icon_size: 48 # min:48, max:256, default: 48 + macos: + generate: true + image_path: "assets/icons/icon.png" flutter: assets: - - assets/images/background.jpg + - assets/images/ + - assets/icons/ + - assets/google_fonts/ uses-material-design: true diff --git a/screenshots/ss1.png b/screenshots/ss1.png deleted file mode 100644 index b685910..0000000 Binary files a/screenshots/ss1.png and /dev/null differ diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index 8acbf8b..0000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:asal/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const AsalApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/web/favicon.png b/web/favicon.png old mode 100644 new mode 100755 diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png old mode 100644 new mode 100755 diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png old mode 100644 new mode 100755 diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png old mode 100644 new mode 100755 diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png old mode 100644 new mode 100755 diff --git a/web/index.html b/web/index.html old mode 100644 new mode 100755 diff --git a/web/manifest.json b/web/manifest.json old mode 100644 new mode 100755 diff --git a/windows/.gitignore b/windows/.gitignore old mode 100644 new mode 100755 diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc old mode 100644 new mode 100755 diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h old mode 100644 new mode 100755 diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake old mode 100644 new mode 100755 diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc old mode 100644 new mode 100755 diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp old mode 100644 new mode 100755 diff --git a/windows/runner/flutter_window.h b/windows/runner/flutter_window.h old mode 100644 new mode 100755 diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp old mode 100644 new mode 100755 diff --git a/windows/runner/resource.h b/windows/runner/resource.h old mode 100644 new mode 100755 diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico old mode 100644 new mode 100755 index c04e20c..4b97f54 Binary files a/windows/runner/resources/app_icon.ico and b/windows/runner/resources/app_icon.ico differ diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest old mode 100644 new mode 100755 diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp old mode 100644 new mode 100755 diff --git a/windows/runner/utils.h b/windows/runner/utils.h old mode 100644 new mode 100755 diff --git a/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp old mode 100644 new mode 100755 diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h old mode 100644 new mode 100755