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