252 lines
10 KiB
Dart
252 lines
10 KiB
Dart
import 'package:ebroker/Ui/screens/Dashboard/dashbord.dart';
|
|
import 'package:ebroker/Ui/screens/Personalized/personalized_property_screen.dart';
|
|
import 'package:ebroker/Ui/screens/home/view_most_liked_properties.dart';
|
|
import 'package:ebroker/Ui/screens/home/view_nearby_properties.dart';
|
|
import 'package:ebroker/Ui/screens/map/choose_location_map.dart';
|
|
import 'package:ebroker/Ui/screens/map/property_map_screen.dart';
|
|
import 'package:ebroker/Ui/screens/project/create/add_project_details.dart';
|
|
import 'package:ebroker/Ui/screens/project/create/add_project_meta_details.dart';
|
|
import 'package:ebroker/Ui/screens/project/create/manage_floor_plans.dart';
|
|
import 'package:ebroker/Ui/screens/project/view/project_details_screen.dart';
|
|
import 'package:ebroker/Ui/screens/project/view/project_list_screen.dart';
|
|
import 'package:ebroker/Ui/screens/proprties/AddProperyScreens/select_outdoor_facility.dart';
|
|
import 'package:ebroker/data/cubits/project/all_projects_screen.dart';
|
|
import 'package:ebroker/exports/main_export.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
import '../Ui/screens/Advertisement/create_advertisement_screen.dart';
|
|
import '../Ui/screens/Advertisement/my_advertisment_screen.dart';
|
|
import '../Ui/screens/Articles/article_details.dart';
|
|
import '../Ui/screens/Articles/articles_screen.dart';
|
|
import '../Ui/screens/Converter/area_converter.dart';
|
|
import '../Ui/screens/auth/login_screen.dart';
|
|
import '../Ui/screens/favorites_screen.dart';
|
|
import '../Ui/screens/filter_screen.dart';
|
|
import '../Ui/screens/home/category_list.dart';
|
|
import '../Ui/screens/home/change_language_screen.dart';
|
|
import '../Ui/screens/home/search_screen.dart';
|
|
import '../Ui/screens/home/view_most_viewed_properties.dart';
|
|
import '../Ui/screens/home/view_promoted_properties.dart';
|
|
import '../Ui/screens/main_activity.dart';
|
|
import '../Ui/screens/onboarding/onboarding_screen.dart';
|
|
import '../Ui/screens/proprties/AddProperyScreens/add_property_details.dart';
|
|
import '../Ui/screens/proprties/AddProperyScreens/select_type_of_property.dart';
|
|
import '../Ui/screens/proprties/AddProperyScreens/set_property_parameters.dart';
|
|
import '../Ui/screens/proprties/properties_list.dart';
|
|
import '../Ui/screens/proprties/property_details.dart';
|
|
import '../Ui/screens/settings/contact_us.dart';
|
|
import '../Ui/screens/settings/notification_detail.dart';
|
|
import '../Ui/screens/settings/notifications.dart';
|
|
import '../Ui/screens/settings/profile_setting.dart';
|
|
import '../Ui/screens/splash_screen.dart';
|
|
import '../Ui/screens/subscription/packages_list.dart';
|
|
import '../Ui/screens/subscription/subscribe_screen.dart';
|
|
import '../Ui/screens/subscription/transaction_history_screen.dart';
|
|
import '../Ui/screens/userprofile/edit_profile.dart';
|
|
import '../Ui/screens/widgets/AnimatedRoutes/blur_page_route.dart';
|
|
import '../Ui/screens/widgets/maintenance_mode.dart';
|
|
import '../sandBox/playground.dart';
|
|
import '../utils/DeepLink/nativeDeepLinkManager.dart';
|
|
import '../utils/ui_utils.dart';
|
|
|
|
class Routes {
|
|
//private constructor
|
|
Routes._();
|
|
|
|
static const splash = 'splash';
|
|
static const onboarding = 'onboarding';
|
|
static const login = 'login';
|
|
static const completeProfile = 'complete_profile';
|
|
static const main = 'main';
|
|
static const home = 'Home';
|
|
static const addProperty = 'addProperty';
|
|
static const waitingScreen = 'waitingScreen';
|
|
static const categories = 'Categories';
|
|
static const addresses = 'address';
|
|
static const chooseAdrs = 'chooseAddress';
|
|
static const propertiesList = 'propertiesList';
|
|
static const propertyDetails = 'PropertyDetails';
|
|
static const contactUs = 'ContactUs';
|
|
static const profileSettings = 'profileSettings';
|
|
static const myEnquiry = 'MyEnquiry';
|
|
static const filterScreen = 'filterScreen';
|
|
static const notificationPage = 'notificationpage';
|
|
static const notificationDetailPage = 'notificationdetailpage';
|
|
static const addPropertyScreenRoute = 'addPropertyScreenRoute';
|
|
static const articlesScreenRoute = 'articlesScreenRoute';
|
|
static const subscriptionPackageListRoute = 'subscriptionPackageListRoute';
|
|
static const subscriptionScreen = 'subscriptionScreen';
|
|
static const maintenanceMode = '/maintenanceMode';
|
|
static const favoritesScreen = '/favoritescreen';
|
|
static const createAdvertismentScreenRoute = '/createAdvertisment';
|
|
static const promotedPropertiesScreen = '/promotedPropertiesScreen';
|
|
static const mostLikedPropertiesScreen = '/mostLikedPropertiesScreen';
|
|
static const mostViewedPropertiesScreen = '/mostViewedPropertiesScreen';
|
|
static const articleDetailsScreenRoute = '/articleDetailsScreenRoute';
|
|
static const areaConvertorScreen = '/areaCalculatorScreen';
|
|
static const languageListScreenRoute = '/languageListScreenRoute';
|
|
static const searchScreenRoute = '/searchScreenRoute';
|
|
static const chooseLocaitonMap = '/chooseLocationMap';
|
|
static const propertyMapScreen = '/propertyMap';
|
|
static const dashboard = '/dashboard';
|
|
|
|
static const myAdvertisment = '/myAdvertisment';
|
|
static const transactionHistory = '/transactionHistory';
|
|
static const nearbyAllProperties = '/nearbyAllProperties';
|
|
static const personalizedPropertyScreen = '/personalizedPropertyScreen';
|
|
static const allProjectsScreen = '/allProjectsScreen';
|
|
|
|
///Project section routes
|
|
|
|
static const String addProjectDetails = "/addProjectDetails";
|
|
static const String projectMetaDataScreens = "/projectMetaDataScreens";
|
|
static const String manageFloorPlansScreen = "/manageFloorPlansScreen";
|
|
|
|
///Add property screens
|
|
static const selectPropertyTypeScreen = '/selectPropertyType';
|
|
static const addPropertyDetailsScreen = '/addPropertyDetailsScreen';
|
|
static const setPropertyParametersScreen = '/setPropertyParametersScreen';
|
|
static const selectOutdoorFacility = '/selectOutdoorFacility';
|
|
|
|
///View project
|
|
static const projectDetailsScreen = '/projectDetailsScreen';
|
|
static const projectListScreen = '/projectListScreen';
|
|
|
|
//Sandbox[test]
|
|
static const playground = 'playground';
|
|
|
|
static String currentRoute = splash;
|
|
static String previousCustomerRoute = splash;
|
|
static Route<dynamic>? onGenerateRouted(RouteSettings routeSettings) {
|
|
previousCustomerRoute = currentRoute;
|
|
currentRoute = routeSettings.name ?? "";
|
|
|
|
///This is to prevent infinity loading while login browser
|
|
if (routeSettings.name!.contains("/link?")) {
|
|
return null;
|
|
}
|
|
|
|
switch (routeSettings.name) {
|
|
case "":
|
|
return null;
|
|
|
|
case splash:
|
|
return BlurredRouter(builder: ((context) => const SplashScreen()));
|
|
case onboarding:
|
|
return CupertinoPageRoute(
|
|
builder: ((context) => const OnboardingScreen()));
|
|
case main:
|
|
return MainActivity.route(routeSettings);
|
|
case login:
|
|
return LoginScreen.route(routeSettings);
|
|
case completeProfile:
|
|
return UserProfileScreen.route(routeSettings);
|
|
|
|
case categories:
|
|
return CategoryList.route(routeSettings);
|
|
case maintenanceMode:
|
|
return MaintenanceMode.route(routeSettings);
|
|
case languageListScreenRoute:
|
|
return LanguagesListScreen.route(routeSettings);
|
|
case propertiesList:
|
|
return PropertiesList.route(routeSettings);
|
|
case propertyDetails:
|
|
return PropertyDetails.route(routeSettings);
|
|
case contactUs:
|
|
return ContactUs.route(routeSettings);
|
|
case profileSettings:
|
|
return ProfileSettings.route(routeSettings);
|
|
|
|
case filterScreen:
|
|
return FilterScreen.route(routeSettings);
|
|
case notificationPage:
|
|
return Notifications.route(routeSettings);
|
|
case notificationDetailPage:
|
|
return NotificationDetail.route(routeSettings);
|
|
case chooseLocaitonMap:
|
|
return ChooseLocationMap.route(routeSettings);
|
|
case articlesScreenRoute:
|
|
return ArticlesScreen.route(routeSettings);
|
|
case mostLikedPropertiesScreen:
|
|
return MostLikedPropertiesScreen.route(routeSettings);
|
|
case areaConvertorScreen:
|
|
return AreaCalculator.route(routeSettings);
|
|
|
|
case articleDetailsScreenRoute:
|
|
return ArticleDetails.route(routeSettings);
|
|
case subscriptionPackageListRoute:
|
|
return SubscriptionPackageListScreen.route(routeSettings);
|
|
case subscriptionScreen:
|
|
return SubscriptionScreen.route(routeSettings);
|
|
case favoritesScreen:
|
|
return FavoritesScreen.route(routeSettings);
|
|
case createAdvertismentScreenRoute:
|
|
return CreateAdvertisementScreen.route(routeSettings);
|
|
case promotedPropertiesScreen:
|
|
return PromotedPropertiesScreen.route(routeSettings);
|
|
case mostViewedPropertiesScreen:
|
|
return MostViewedPropertiesScreen.route(routeSettings);
|
|
|
|
case selectPropertyTypeScreen:
|
|
return SelectPropertyType.route(routeSettings);
|
|
|
|
case transactionHistory:
|
|
return TransactionHistory.route(routeSettings);
|
|
|
|
case myAdvertisment:
|
|
return MyAdvertismentScreen.route(routeSettings);
|
|
case personalizedPropertyScreen:
|
|
return PersonalizedPropertyScreen.route(routeSettings);
|
|
case dashboard:
|
|
return DashboardScreen.route(routeSettings);
|
|
case addPropertyDetailsScreen:
|
|
return AddPropertyDetails.route(routeSettings);
|
|
case setPropertyParametersScreen:
|
|
return SetProeprtyParametersScreen.route(routeSettings);
|
|
case searchScreenRoute:
|
|
return SearchScreen.route(routeSettings);
|
|
|
|
case propertyMapScreen:
|
|
return PropertyMapScreen.route(routeSettings);
|
|
case nearbyAllProperties:
|
|
return NearbyAllPropertiesScreen.route(routeSettings);
|
|
case selectOutdoorFacility:
|
|
return SelectOutdoorFacility.route(routeSettings);
|
|
|
|
case addProjectDetails:
|
|
return AddProjectDetails.route(routeSettings);
|
|
|
|
case projectMetaDataScreens:
|
|
return ProjectMetaDetails.route(routeSettings);
|
|
|
|
case projectDetailsScreen:
|
|
return ProjectDetailsScreen.route(routeSettings);
|
|
|
|
case manageFloorPlansScreen:
|
|
return ManageFloorPlansScreen.route(routeSettings);
|
|
case projectListScreen:
|
|
return ProjectListScreen.route(routeSettings);
|
|
case allProjectsScreen:
|
|
return AllProjectsScreen.route(routeSettings);
|
|
|
|
case playground:
|
|
return PlayGround.route(routeSettings);
|
|
|
|
default:
|
|
if (routeSettings.name!.contains(AppSettings.shareNavigationWebUrl)) {
|
|
return NativeLinkWidget.render(routeSettings);
|
|
}
|
|
return BlurredRouter(
|
|
builder: ((context) => Scaffold(
|
|
body: Center(
|
|
child: Text(
|
|
UiUtils.translate(context, "pageNotFoundErrorMsg"),
|
|
),
|
|
),
|
|
)),
|
|
);
|
|
}
|
|
}
|
|
}
|