Commit 8971054d authored by Dio Maulana's avatar Dio Maulana

route for reset password

parent e2fce55c
flutter_native_splash:
color: "#ffffff"
image: assets/images/logo_green.png
# branding: assets/images/excelso_logo_green.png
color_dark: "#ffffff"
image_dark: assets/images/logo_white.png
# branding_dark: assets/images/excelso_logo_green.png
android_12:
image: assets/images/logo_green.png
icon_background_color: "#ffffff"
image_dark: assets/images/logo_white.png
icon_background_color_dark: "#ffffff"
web: true
class ResetPasswordArgs {
String idPath;
ResetPasswordArgs({
required this.idPath,
});
}
......@@ -5,12 +5,19 @@ import 'package:url_strategy/url_strategy.dart';
late SharedPreferences prefs;
String titleApp = 'Tour & Travel Agency';
String initialRoute = Routes.splashRoute;
void main() {
WidgetsFlutterBinding.ensureInitialized();
setPathUrlStrategy();
SharedPreferences.getInstance().then(
(value) {
prefs = value;
List<String> pathUri = Uri.base.pathSegments;
if (pathUri.length == 2) {
if (pathUri[0] == Routes.resetPasswordRoute.replaceFirst("/", "")) {
initialRoute = "${Routes.resetPasswordRoute}/${pathUri[1]}";
}
}
runApp(const MyApp());
},
);
......@@ -26,7 +33,7 @@ class MyApp extends StatelessWidget {
title: titleApp,
debugShowCheckedModeBanner: false,
onGenerateRoute: RouteGenerator.getRoute,
initialRoute: Routes.splashRoute,
initialRoute: initialRoute,
);
}
}
......@@ -9,7 +9,9 @@ import 'package:tour_travel_agr/resource/size.dart';
import 'package:tour_travel_agr/resource/style.dart';
class ResetPasswordView extends StatefulWidget {
const ResetPasswordView({super.key});
const ResetPasswordView({super.key, required this.idPath});
final String idPath;
@override
State<ResetPasswordView> createState() => _ResetPasswordViewState();
......@@ -43,6 +45,7 @@ class _ResetPasswordViewState extends State<ResetPasswordView> {
children: [
const CustomAppBar(
text: "Reset Password",
canGoback: false,
),
Expanded(
child: SingleChildScrollView(
......
......@@ -23,7 +23,12 @@ class _SplashViewState extends State<SplashView> {
}
_goNext() {
Navigator.pushNamed(context, Routes.loginRoute);
// Navigator.pushNamed(context, Routes.loginRoute);
Navigator.pushNamedAndRemoveUntil(
context,
Routes.loginRoute,
(route) => false,
);
}
@override
......
......@@ -31,44 +31,90 @@ class Routes {
class RouteGenerator {
static Route<dynamic> getRoute(RouteSettings routeSettings) {
switch (routeSettings.name) {
case Routes.splashRoute:
return pageRouteCustom(const SplashView(),
nameRoute: Routes.splashRoute);
case Routes.loginRoute:
return pageRouteCustom(LoginView(), nameRoute: Routes.loginRoute);
case Routes.registerRoute:
return pageRouteCustom(const RegisterView(),
nameRoute: Routes.registerRoute);
case Routes.verificationRoute:
return pageRouteCustom(const OtpVerificationView(),
nameRoute: Routes.verificationRoute);
case Routes.forgotPasswordRoute:
return pageRouteCustom(const ForgotPasswordView(),
nameRoute: Routes.forgotPasswordRoute);
case Routes.resetPasswordRoute:
return pageRouteCustom(const ResetPasswordView(),
nameRoute: Routes.resetPasswordRoute);
case Routes.homeRoute:
return pageRouteCustom(const HomeView(), nameRoute: Routes.homeRoute);
case Routes.profileRoute:
return pageRouteCustom(const ProfileView(),
nameRoute: Routes.profileRoute);
case Routes.changePasswordRoute:
return pageRouteCustom(const ChangePasswordView(),
nameRoute: Routes.changePasswordRoute);
case Routes.editProfileRoute:
return pageRouteCustom(const EditProfileView(),
nameRoute: Routes.editProfileRoute);
case Routes.reimburseRoute:
return pageRouteCustom(const ReimbursementView(),
nameRoute: Routes.reimburseRoute);
case Routes.historyRoute:
return pageRouteCustom(const HistoryView(),
nameRoute: Routes.historyRoute);
default:
// print(routeSettings.name);
if (routeSettings.name == Routes.splashRoute) {
return pageRouteCustom(const SplashView(), nameRoute: Routes.splashRoute);
} else if (routeSettings.name == Routes.loginRoute) {
return pageRouteCustom(LoginView(), nameRoute: Routes.loginRoute);
} else if (routeSettings.name == Routes.registerRoute) {
return pageRouteCustom(const RegisterView(),
nameRoute: Routes.registerRoute);
} else if (routeSettings.name == Routes.verificationRoute) {
return pageRouteCustom(const OtpVerificationView(),
nameRoute: Routes.verificationRoute);
} else if (routeSettings.name == Routes.forgotPasswordRoute) {
return pageRouteCustom(const ForgotPasswordView(),
nameRoute: Routes.forgotPasswordRoute);
} else if (routeSettings.name!.contains(Routes.resetPasswordRoute)) {
List<String> splitPath =
routeSettings.name!.split("${Routes.resetPasswordRoute}/");
if (splitPath.length == 2) {
return pageRouteCustom(
ResetPasswordView(
idPath: splitPath[1],
),
nameRoute: routeSettings.name!);
} else {
return unDefinedRoute();
}
} else if (routeSettings.name == Routes.homeRoute) {
return pageRouteCustom(const HomeView(), nameRoute: Routes.homeRoute);
} else if (routeSettings.name == Routes.profileRoute) {
return pageRouteCustom(const ProfileView(),
nameRoute: Routes.profileRoute);
} else if (routeSettings.name == Routes.changePasswordRoute) {
return pageRouteCustom(const ChangePasswordView(),
nameRoute: Routes.changePasswordRoute);
} else if (routeSettings.name == Routes.editProfileRoute) {
return pageRouteCustom(const EditProfileView(),
nameRoute: Routes.editProfileRoute);
} else if (routeSettings.name == Routes.reimburseRoute) {
return pageRouteCustom(const ReimbursementView(),
nameRoute: Routes.reimburseRoute);
} else if (routeSettings.name == Routes.historyRoute) {
return pageRouteCustom(const HistoryView(),
nameRoute: Routes.historyRoute);
} else {
return unDefinedRoute();
}
// switch (routeSettings.name) {
// case Routes.splashRoute:
// return pageRouteCustom(const SplashView(),
// nameRoute: Routes.splashRoute);
// case Routes.loginRoute:
// return pageRouteCustom(LoginView(), nameRoute: Routes.loginRoute);
// case Routes.registerRoute:
// return pageRouteCustom(const RegisterView(),
// nameRoute: Routes.registerRoute);
// case Routes.verificationRoute:
// return pageRouteCustom(const OtpVerificationView(),
// nameRoute: Routes.verificationRoute);
// case Routes.forgotPasswordRoute:
// return pageRouteCustom(const ForgotPasswordView(),
// nameRoute: Routes.forgotPasswordRoute);
// case Routes.resetPasswordRoute:
// return pageRouteCustom(const ResetPasswordView(),
// nameRoute: Routes.resetPasswordRoute);
// case Routes.homeRoute:
// return pageRouteCustom(const HomeView(), nameRoute: Routes.homeRoute);
// case Routes.profileRoute:
// return pageRouteCustom(const ProfileView(),
// nameRoute: Routes.profileRoute);
// case Routes.changePasswordRoute:
// return pageRouteCustom(const ChangePasswordView(),
// nameRoute: Routes.changePasswordRoute);
// case Routes.editProfileRoute:
// return pageRouteCustom(const EditProfileView(),
// nameRoute: Routes.editProfileRoute);
// case Routes.reimburseRoute:
// return pageRouteCustom(const ReimbursementView(),
// nameRoute: Routes.reimburseRoute);
// case Routes.historyRoute:
// return pageRouteCustom(const HistoryView(),
// nameRoute: Routes.historyRoute);
// default:
// return unDefinedRoute();
// }
}
static void setTitle(String title) {
......
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
archive:
dependency: transitive
description:
name: archive
sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a"
url: "https://pub.dev"
source: hosted
version: "3.3.7"
args:
dependency: transitive
description:
name: args
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
url: "https://pub.dev"
source: hosted
version: "2.4.2"
async:
dependency: transitive
description:
......@@ -41,6 +57,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.17.1"
convert:
dependency: transitive
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.dev"
source: hosted
version: "3.1.1"
crypto:
dependency: transitive
description:
name: crypto
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
url: "https://pub.dev"
source: hosted
version: "3.0.3"
csslib:
dependency: transitive
description:
name: csslib
sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f"
url: "https://pub.dev"
source: hosted
version: "0.17.3"
cupertino_icons:
dependency: "direct main"
description:
......@@ -86,6 +126,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
flutter_native_splash:
dependency: "direct main"
description:
name: flutter_native_splash
sha256: ba45d8cfbd778478a74696b012f33ffb6b1760c9bc531b21e2964444a4870dae
url: "https://pub.dev"
source: hosted
version: "2.3.1"
flutter_test:
dependency: "direct dev"
description: flutter
......@@ -96,6 +144,30 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
go_router:
dependency: "direct main"
description:
name: go_router
sha256: "00d1b67d6e9fa443331da229084dd3eb04407f5a2dff22940bd7bba6af5722c3"
url: "https://pub.dev"
source: hosted
version: "7.1.1"
html:
dependency: transitive
description:
name: html
sha256: "58e3491f7bf0b6a4ea5110c0c688877460d1a6366731155c4a4580e7ded773e8"
url: "https://pub.dev"
source: hosted
version: "0.15.3"
image:
dependency: transitive
description:
name: image
sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf
url: "https://pub.dev"
source: hosted
version: "4.0.17"
js:
dependency: transitive
description:
......@@ -112,6 +184,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
logging:
dependency: transitive
description:
name: logging
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
matcher:
dependency: transitive
description:
......@@ -168,6 +248,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.6"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
url: "https://pub.dev"
source: hosted
version: "5.4.0"
platform:
dependency: transitive
description:
......@@ -184,6 +272,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
pointycastle:
dependency: transitive
description:
name: pointycastle
sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
url: "https://pub.dev"
source: hosted
version: "3.7.3"
process:
dependency: transitive
description:
......@@ -301,6 +397,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.5.1"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.dev"
source: hosted
version: "1.3.2"
universal_io:
dependency: transitive
description:
name: universal_io
sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"
url: "https://pub.dev"
source: hosted
version: "2.2.2"
url_strategy:
dependency: "direct main"
description:
......@@ -333,6 +445,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.0"
xml:
dependency: transitive
description:
name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
url: "https://pub.dev"
source: hosted
version: "6.3.0"
yaml:
dependency: transitive
description:
name: yaml
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
url: "https://pub.dev"
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.0.0-0 <4.0.0"
flutter: ">=3.3.0"
......@@ -32,6 +32,8 @@ dependencies:
cupertino_icons: ^1.0.2
flutter:
sdk: flutter
flutter_native_splash: ^2.3.1
go_router: ^7.1.1
shared_preferences: ^2.1.1
url_strategy: ^0.2.0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment