diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist
index 6b4c0f7..8c6e561 100644
--- a/ios/Flutter/AppFrameworkInfo.plist
+++ b/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 8.0
+ 12.0
diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig
index 592ceee..ec97fc6 100644
--- a/ios/Flutter/Debug.xcconfig
+++ b/ios/Flutter/Debug.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig
index 592ceee..c4855bf 100644
--- a/ios/Flutter/Release.xcconfig
+++ b/ios/Flutter/Release.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
diff --git a/ios/Podfile b/ios/Podfile
new file mode 100644
index 0000000..cf675ca
--- /dev/null
+++ b/ios/Podfile
@@ -0,0 +1,40 @@
+# Uncomment this line to define a global platform for your project
+platform :ios, '12.0'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_ios_build_settings(target)
+ end
+end
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 3cd309a..fe42db4 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 46;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -13,6 +13,7 @@
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+ C0DECA5BA451399F3165F34F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB4DBA74762F01067BDEDB63 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -29,9 +30,12 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 09ACCB855FF30CE39100E1CD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
+ 23D7CABC12382DCD62DA70D7 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
+ 6CDB7EEB20FAB0D8ABC7679D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
@@ -42,6 +46,7 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ FB4DBA74762F01067BDEDB63 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -49,12 +54,24 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ C0DECA5BA451399F3165F34F /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 35EFECF1F8768E764D0CF71F /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 6CDB7EEB20FAB0D8ABC7679D /* Pods-Runner.debug.xcconfig */,
+ 23D7CABC12382DCD62DA70D7 /* Pods-Runner.release.xcconfig */,
+ 09ACCB855FF30CE39100E1CD /* Pods-Runner.profile.xcconfig */,
+ );
+ name = Pods;
+ path = Pods;
+ sourceTree = "";
+ };
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
@@ -72,6 +89,8 @@
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
+ 35EFECF1F8768E764D0CF71F /* Pods */,
+ CC7FB01D181526F8324B8F14 /* Frameworks */,
);
sourceTree = "";
};
@@ -98,6 +117,14 @@
path = Runner;
sourceTree = "";
};
+ CC7FB01D181526F8324B8F14 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ FB4DBA74762F01067BDEDB63 /* Pods_Runner.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -105,12 +132,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
+ 34528FFA1564E0C0E902A892 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ C53054EDCD19719AC10BC909 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -127,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1020;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -169,12 +198,36 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 34528FFA1564E0C0E902A892 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -185,6 +238,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@@ -197,6 +251,23 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
+ C53054EDCD19719AC10BC909 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -272,7 +343,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -294,7 +365,10 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@@ -354,7 +428,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -403,7 +477,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -426,7 +500,10 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@@ -453,7 +530,10 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 1d526a1..919434a 100644
--- a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index a28140c..fc5ae03 100644
--- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
@@ -45,11 +46,13 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
+ enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata
index 1d526a1..21a3cc1 100644
--- a/ios/Runner.xcworkspace/contents.xcworkspacedata
+++ b/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -4,4 +4,7 @@
+
+
diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift
index 70693e4..b636303 100644
--- a/ios/Runner/AppDelegate.swift
+++ b/ios/Runner/AppDelegate.swift
@@ -1,7 +1,7 @@
import UIKit
import Flutter
-@UIApplicationMain
+@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 44c5246..83c38ef 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -41,5 +41,9 @@
UIViewControllerBasedStatusBarAppearance
+ CADisableMinimumFrameDurationOnPhone
+
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/lib/animations/fade_animation.dart b/lib/animations/fade_animation.dart
index 84b0ac5..57ed2f5 100644
--- a/lib/animations/fade_animation.dart
+++ b/lib/animations/fade_animation.dart
@@ -1,40 +1,38 @@
import 'package:flutter/material.dart';
import 'package:simple_animations/simple_animations.dart';
-enum AnimationType { opacity, translateX }
+enum AnimationType { opacity, translateY }
class FadeAnimation extends StatelessWidget {
final double delay;
final Widget child;
- FadeAnimation(this.delay, this.child);
+ const FadeAnimation(this.delay, this.child);
@override
Widget build(BuildContext context) {
- // final tween = MultiTrackTween([
- // Track("opacity").add(Duration(milliseconds: 500), Tween(begin: 0.0, end: 1.0)),
- // Track("translateY").add(
- // Duration(milliseconds: 500), Tween(begin: -130.0, end: 0.0),
- // curve: Curves.easeOut)
- // ]);
+ // Define the animation timeline
+ final tween = MovieTween()
+ ..scene(
+ begin: Duration.zero,
+ end: const Duration(milliseconds: 500),
+ ).tween(AnimationType.opacity, Tween(begin: 0.0, end: 1.0)).tween(
+ AnimationType.translateY, Tween(begin: 130.0, end: 0.0),
+ curve: Curves.easeOut);
- final tween = MultiTween()
- ..add(
- AnimationType.opacity,
- Tween(begin: 0.0, end: 1.0),
- Duration(milliseconds: 500),
- )
- ..add(AnimationType.translateX, Tween(begin: -130.0, end: 1.0), Duration(milliseconds: 500), Curves.easeOut);
-
- return PlayAnimation(
+ return PlayAnimationBuilder(
delay: Duration(milliseconds: (500 * delay).round()),
duration: tween.duration,
tween: tween,
- child: child,
- builder: (context, child, dynamic animation) => Opacity(
- opacity: animation["opacity"],
- child: Transform.translate(offset: Offset(0, animation["translateY"]), child: child),
- ),
+ builder: (context, value, _) {
+ return Opacity(
+ opacity: value.get(AnimationType.opacity),
+ child: Transform.translate(
+ offset: Offset(0, value.get(AnimationType.translateY)),
+ child: child,
+ ),
+ );
+ },
);
}
}
diff --git a/lib/contributors.dart b/lib/contributors.dart
index e6a62eb..b9c47ba 100644
--- a/lib/contributors.dart
+++ b/lib/contributors.dart
@@ -7,6 +7,7 @@ class Contributor extends StatelessWidget {
// Add your Full Name in this list
// Please do not remove any other name :)
final contributorsName = [
+ "Hassan Teslim",
'kartikey singh',
'Harsh Soni',
'Luki Sanjaya',
@@ -115,6 +116,7 @@ class Contributor extends StatelessWidget {
];
final gitHubUserName = [
+ "hassanteslim007",
'kartikey4474',
'cscipher',
'lukisanjaya',
@@ -239,10 +241,10 @@ class Contributor extends StatelessWidget {
flexibleSpace: FlexibleSpaceBar(
centerTitle: true,
title: Text(
- "Hacktoberfest Contributors",
+ "Hacktoberfest Contributors (2021 -> 2025)",
style: TextStyle(
color: Color(0xfff74700),
- fontSize: 17.0,
+ fontSize: 14.0,
fontWeight: FontWeight.w600,
),
),
diff --git a/lib/main.dart b/lib/main.dart
index f2db86b..56b407e 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -31,10 +31,10 @@ class MyApp extends StatelessWidget {
return RestartWidget(
child: MaterialApp(
debugShowCheckedModeBanner: false,
- title: 'Hacktoberfest 2021',
+ title: 'Hacktoberfest 2021 -> 2025',
theme: ThemeData(
primaryColor: Color(0xfff74700),
- accentColor: const Color(0xfff74700),
+ hintColor: const Color(0xfff74700),
),
initialRoute: '/',
routes: {
diff --git a/lib/util/themes.dart b/lib/util/themes.dart
index b3e61b8..68667ce 100644
--- a/lib/util/themes.dart
+++ b/lib/util/themes.dart
@@ -18,7 +18,7 @@ bool isDarkMode = false;
class MyTheme {
static ThemeData lightTheme(BuildContext context) => ThemeData(
primarySwatch: colorList[Random().nextInt(colorList.length)],
- accentColor: Colors.white,
+ hintColor: Colors.white,
// splashColor: Colors.transparent,
fontFamily: GoogleFonts.poppins().fontFamily,
canvasColor: Colors.white,
@@ -34,8 +34,7 @@ class MyTheme {
elevation: 2,
iconTheme: IconThemeData(
color: Colors.white,
- ),
- textTheme: Theme.of(context).textTheme),
+ ), toolbarTextStyle: Theme.of(context).textTheme.bodyMedium, titleTextStyle: Theme.of(context).textTheme.headlineMedium),
);
static ThemeData darkTheme(BuildContext context) => ThemeData(
diff --git a/lib/welcome.dart b/lib/welcome.dart
index 8bd5968..7dfadcc 100644
--- a/lib/welcome.dart
+++ b/lib/welcome.dart
@@ -102,7 +102,7 @@ class _WelcomeState extends State with TickerProviderStateMixin {
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(50),
- color: Color(0xfff74700).withOpacity(0.4),
+ color: Color(0xfff74700).withValues(alpha: 0.4),
),
child: InkWell(
onTap: () {
diff --git a/lib/widgets/custom_listTile.dart b/lib/widgets/custom_listTile.dart
index 30c6a3b..558d1d0 100644
--- a/lib/widgets/custom_listTile.dart
+++ b/lib/widgets/custom_listTile.dart
@@ -6,8 +6,7 @@ class CustomListTile extends StatelessWidget {
final String contributorName;
final String contributorGitHubUserName;
CustomListTile(
- {required this.contributorGitHubUserName,
- required this.contributorName});
+ {required this.contributorGitHubUserName, required this.contributorName});
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
@@ -47,8 +46,9 @@ class CustomListTile extends StatelessWidget {
),
const SizedBox(width: 10.0),
InkWell(
- onTap: () =>
- launch('https://github.com/$contributorGitHubUserName'),
+ onTap: () {
+ openContributorProfile(contributorGitHubUserName);
+ },
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Icon(
@@ -83,3 +83,13 @@ class CustomListTile extends StatelessWidget {
);
}
}
+
+Future openContributorProfile(String contributorGitHubUserName) async {
+ final Uri url = Uri.parse('https://github.com/$contributorGitHubUserName');
+
+ if (await canLaunchUrl(url)) {
+ await launchUrl(url, mode: LaunchMode.externalApplication);
+ } else {
+ throw 'Could not launch $url';
+ }
+}
diff --git a/participants/hassanteslim007.md b/participants/hassanteslim007.md
new file mode 100644
index 0000000..d8cb961
--- /dev/null
+++ b/participants/hassanteslim007.md
@@ -0,0 +1,3 @@
+Name: Hassan Teslim
+GitHub: hassanteslim007
+Quote: What is worth doing at all, is worth doing well - My dad
\ No newline at end of file
diff --git a/pubspec.lock b/pubspec.lock
index 6da207a..b2cd6ef 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,91 +5,79 @@ packages:
dependency: transitive
description:
name: async
- url: "https://pub.dartlang.org"
+ sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
+ url: "https://pub.dev"
source: hosted
- version: "2.8.1"
+ version: "2.13.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- url: "https://pub.dartlang.org"
+ sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.2"
characters:
dependency: transitive
description:
name: characters
- url: "https://pub.dartlang.org"
+ sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
- charcode:
- dependency: transitive
- description:
- name: charcode
- url: "https://pub.dartlang.org"
- source: hosted
- version: "1.3.1"
+ version: "1.4.0"
clock:
dependency: transitive
description:
name: clock
- url: "https://pub.dartlang.org"
+ sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
- url: "https://pub.dartlang.org"
+ sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
+ url: "https://pub.dev"
source: hosted
- version: "1.15.0"
+ version: "1.19.1"
crypto:
dependency: transitive
description:
name: crypto
- url: "https://pub.dartlang.org"
+ sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
+ url: "https://pub.dev"
source: hosted
- version: "3.0.1"
+ version: "3.0.6"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- url: "https://pub.dartlang.org"
+ sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
+ url: "https://pub.dev"
source: hosted
- version: "1.0.3"
+ version: "1.0.8"
fake_async:
dependency: transitive
description:
name: fake_async
- url: "https://pub.dartlang.org"
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.3.3"
ffi:
dependency: transitive
description:
name: ffi
- url: "https://pub.dartlang.org"
- source: hosted
- version: "1.1.2"
- file:
- dependency: transitive
- description:
- name: file
- url: "https://pub.dartlang.org"
+ sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418"
+ url: "https://pub.dev"
source: hosted
- version: "6.1.2"
+ version: "2.1.4"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
- flutter_lints:
- dependency: transitive
- description:
- name: flutter_lints
- url: "https://pub.dartlang.org"
- source: hosted
- version: "1.0.4"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -104,252 +92,327 @@ packages:
dependency: "direct main"
description:
name: font_awesome_flutter
- url: "https://pub.dartlang.org"
+ sha256: "1f93e5799f0e6c882819e8393a05c6ca5226010f289190f2242ec19f3f0fdba5"
+ url: "https://pub.dev"
source: hosted
- version: "9.1.0"
+ version: "9.2.0"
google_fonts:
dependency: "direct main"
description:
name: google_fonts
- url: "https://pub.dartlang.org"
+ sha256: e70521755a6b08c6bde14ddae27dff5bf21010033888fc61da6c595f8a9f58c1
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.3.3"
http:
dependency: transitive
description:
name: http
- url: "https://pub.dartlang.org"
+ sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
+ url: "https://pub.dev"
source: hosted
- version: "0.13.4"
+ version: "0.13.6"
http_parser:
dependency: transitive
description:
name: http_parser
- url: "https://pub.dartlang.org"
+ sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.2"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
+ url: "https://pub.dev"
source: hosted
- version: "4.0.0"
- js:
+ version: "10.0.9"
+ leak_tracker_flutter_testing:
dependency: transitive
description:
- name: js
- url: "https://pub.dartlang.org"
+ name: leak_tracker_flutter_testing
+ sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
+ url: "https://pub.dev"
source: hosted
- version: "0.6.3"
- lints:
+ version: "3.0.9"
+ leak_tracker_testing:
dependency: transitive
description:
- name: lints
- url: "https://pub.dartlang.org"
+ name: leak_tracker_testing
+ sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
+ url: "https://pub.dev"
source: hosted
- version: "1.0.1"
+ version: "3.0.1"
matcher:
dependency: transitive
description:
name: matcher
- url: "https://pub.dartlang.org"
+ sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
+ url: "https://pub.dev"
source: hosted
- version: "0.12.10"
+ version: "0.12.17"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+ sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
- url: "https://pub.dartlang.org"
+ sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
+ url: "https://pub.dev"
source: hosted
- version: "1.7.0"
+ version: "1.16.0"
page_transition:
dependency: "direct main"
description:
name: page_transition
- url: "https://pub.dartlang.org"
+ sha256: "9d2a780d7d68b53ae82fbcc43e06a16195e6775e9aae40e55dc0cbb593460f9d"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.4"
+ version: "2.2.1"
path:
dependency: transitive
description:
name: path
- url: "https://pub.dartlang.org"
+ sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.0"
+ version: "1.9.1"
path_provider:
dependency: transitive
description:
name: path_provider
- url: "https://pub.dartlang.org"
+ sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.5"
- path_provider_linux:
+ version: "2.1.5"
+ path_provider_android:
dependency: transitive
description:
- name: path_provider_linux
- url: "https://pub.dartlang.org"
+ name: path_provider_android
+ sha256: "3b4c1fc3aa55ddc9cd4aa6759984330d5c8e66aa7702a6223c61540dc6380c37"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.19"
+ path_provider_foundation:
+ dependency: transitive
+ description:
+ name: path_provider_foundation
+ sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
- path_provider_macos:
+ version: "2.4.2"
+ path_provider_linux:
dependency: transitive
description:
- name: path_provider_macos
- url: "https://pub.dartlang.org"
+ name: path_provider_linux
+ sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
+ url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "2.1.2"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- url: "https://pub.dartlang.org"
+ sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
+ url: "https://pub.dev"
source: hosted
- version: "2.0.3"
+ version: "2.3.0"
platform:
dependency: transitive
description:
name: platform
- url: "https://pub.dartlang.org"
+ sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
+ url: "https://pub.dev"
source: hosted
- version: "3.0.2"
+ version: "3.1.6"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.2"
- process:
- dependency: transitive
- description:
- name: process
- url: "https://pub.dartlang.org"
- source: hosted
- version: "4.2.3"
+ version: "2.1.8"
simple_animations:
dependency: "direct main"
description:
name: simple_animations
- url: "https://pub.dartlang.org"
+ sha256: "2f4817d7e56a8ae34f1666ba9906aed394a48c7e1568d0fcd63efefb95142dd5"
+ url: "https://pub.dev"
source: hosted
- version: "4.0.1"
+ version: "5.2.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
- version: "0.0.99"
+ version: "0.0.0"
source_span:
dependency: transitive
description:
name: source_span
- url: "https://pub.dartlang.org"
+ sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
+ url: "https://pub.dev"
source: hosted
- version: "1.8.1"
+ version: "1.10.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
- url: "https://pub.dartlang.org"
+ sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
+ url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.12.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
- url: "https://pub.dartlang.org"
+ sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.4"
string_scanner:
dependency: transitive
description:
name: string_scanner
- url: "https://pub.dartlang.org"
+ sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
+ url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.4.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
- url: "https://pub.dartlang.org"
+ sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
+ url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.2.2"
test_api:
dependency: transitive
description:
name: test_api
- url: "https://pub.dartlang.org"
+ sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
+ url: "https://pub.dev"
source: hosted
- version: "0.4.2"
+ version: "0.7.4"
typed_data:
dependency: transitive
description:
name: typed_data
- url: "https://pub.dartlang.org"
+ sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
+ url: "https://pub.dev"
source: hosted
- version: "1.3.0"
+ version: "1.4.0"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
- url: "https://pub.dartlang.org"
+ sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
+ url: "https://pub.dev"
source: hosted
- version: "6.0.12"
+ version: "6.3.2"
+ url_launcher_android:
+ dependency: transitive
+ description:
+ name: url_launcher_android
+ sha256: "81777b08c498a292d93ff2feead633174c386291e35612f8da438d6e92c4447e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.3.20"
+ url_launcher_ios:
+ dependency: transitive
+ description:
+ name: url_launcher_ios
+ sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.3.4"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
- url: "https://pub.dartlang.org"
+ sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "3.2.1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
- url: "https://pub.dartlang.org"
+ sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
+ url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "3.2.3"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
- url: "https://pub.dartlang.org"
+ sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.4"
+ version: "2.3.2"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
- url: "https://pub.dartlang.org"
+ sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.4"
+ version: "2.4.1"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
- url: "https://pub.dartlang.org"
+ sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77"
+ url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "3.1.4"
vector_math:
dependency: transitive
description:
name: vector_math
- url: "https://pub.dartlang.org"
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
source: hosted
- version: "2.1.0"
- win32:
+ version: "2.1.4"
+ vm_service:
dependency: transitive
description:
- name: win32
- url: "https://pub.dartlang.org"
+ name: vm_service
+ sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
+ url: "https://pub.dev"
source: hosted
- version: "2.2.9"
+ version: "15.0.0"
+ web:
+ dependency: transitive
+ description:
+ name: web
+ sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
- url: "https://pub.dartlang.org"
+ sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
+ url: "https://pub.dev"
source: hosted
- version: "0.2.0"
+ version: "1.1.0"
sdks:
- dart: ">=2.14.0 <3.0.0"
- flutter: ">=2.5.0"
+ dart: ">=3.7.2 <4.0.0"
+ flutter: ">=3.29.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 20a6433..57762b1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -29,7 +29,7 @@ dependencies:
cupertino_icons: ^1.0.3
font_awesome_flutter: ^9.1.0
google_fonts: ^2.1.0
- simple_animations: ^4.0.1
+ simple_animations: ^5.2.0
page_transition: ^2.0.4
url_launcher: ^6.0.12
diff --git a/themes.dart b/themes.dart
index b84c6e1..e82f8f5 100644
--- a/themes.dart
+++ b/themes.dart
@@ -5,7 +5,6 @@ import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
var colorList = [
-
Colors.orange,
Colors.blue,
@@ -23,21 +22,12 @@ var colorList = [
Colors.deepPurple,
// Colors.grey,
-
];
bool isDarkMode = false;
class MyTheme {
-
static ThemeData lightTheme(BuildContext context) => ThemeData(
-
- primarySwatch: colorList[Random().nextInt(colorList.length)],
-
- accentColor: Colors.white,
-
- // splashColor: Colors.transparent,
-
fontFamily: GoogleFonts.poppins().fontFamily,
canvasColor: Colors.white,
@@ -45,61 +35,35 @@ class MyTheme {
// highlightColor: Colors.transparent,
pageTransitionsTheme: PageTransitionsTheme(
-
builders: {
-
TargetPlatform.iOS: ZoomPageTransitionsBuilder(),
-
TargetPlatform.android: OpenUpwardsPageTransitionsBuilder(),
-
TargetPlatform.windows: OpenUpwardsPageTransitionsBuilder(),
-
},
-
),
appBarTheme: AppBarTheme(
-
elevation: 2,
-
iconTheme: IconThemeData(
-
color: Colors.white,
-
),
-
- textTheme: Theme.of(context).textTheme),
-
+ toolbarTextStyle: Theme.of(context).textTheme.bodyMedium,
+ titleTextStyle: Theme.of(context).textTheme.headlineMedium), colorScheme: ColorScheme.fromSwatch(primarySwatch: colorList[Random().nextInt(colorList.length)]).copyWith(secondary: Colors.white),
);
static ThemeData darkTheme(BuildContext context) => ThemeData(
-
primaryColor: Colors.black,
-
brightness: Brightness.dark,
-
fontFamily: GoogleFonts.poppins().fontFamily,
-
bottomNavigationBarTheme:
-
BottomNavigationBarThemeData(backgroundColor: Colors.black),
-
textButtonTheme: TextButtonThemeData(),
-
pageTransitionsTheme: PageTransitionsTheme(
-
builders: {
-
TargetPlatform.iOS: ZoomPageTransitionsBuilder(),
-
TargetPlatform.android: OpenUpwardsPageTransitionsBuilder(),
-
TargetPlatform.windows: OpenUpwardsPageTransitionsBuilder(),
-
},
-
),
-
);
-
}