elCaribe app - customization and branding

This commit is contained in:
2025-12-12 19:09:42 -04:00
parent 9e5d0d8ebf
commit ba7deac9f3
402 changed files with 31833 additions and 0 deletions

View File

@@ -0,0 +1,203 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:news/ui/screens/AddEditNews/AddNews.dart';
import 'package:news/ui/screens/BookmarkScreen.dart';
import 'package:news/ui/screens/ImagePreviewScreen.dart';
import 'package:news/ui/screens/LiveStreaming.dart';
import 'package:news/ui/screens/NewsDetail/NewsDetailScreen.dart';
import 'package:news/ui/screens/NewsDetail/Widgets/ShowMoreNewsList.dart';
import 'package:news/ui/screens/PrivacyPolicyScreen.dart';
import 'package:news/ui/screens/Profile/userProfile.dart';
import 'package:news/ui/screens/RSSFeedDetailsScreen.dart';
import 'package:news/ui/screens/Search.dart';
import 'package:news/ui/screens/AddEditNews/ManageUserNews.dart';
import 'package:news/ui/screens/SubCategory/SubCategoryScreen.dart';
import 'package:news/ui/screens/TagNewsScreen.dart';
import 'package:news/ui/screens/Videos/videoDetailsScreen.dart';
import 'package:news/ui/screens/auth/ForgotPassword.dart';
import 'package:news/ui/screens/auth/RequestOtpScreen.dart';
import 'package:news/ui/screens/auth/VerifyOtpScreen.dart';
import 'package:news/ui/screens/authorDetailsScreen.dart';
import 'package:news/ui/screens/dashBoard/dashBoardScreen.dart';
import 'package:news/ui/screens/introSlider.dart';
import 'package:news/ui/screens/languageList.dart';
import 'package:news/ui/screens/maintenanceScreen.dart';
import 'package:news/ui/screens/splashScreen.dart';
import 'package:news/ui/screens/ManagePreference.dart';
import 'package:news/ui/screens/SectionMoreNews/SectionMoreBreakNewsList.dart';
import 'package:news/ui/screens/SectionMoreNews/SectionMoreNewsList.dart';
import 'package:news/ui/screens/auth/loginScreen.dart';
import 'package:news/ui/widgets/loadingScreen.dart';
class Routes {
static const String splash = "splash";
static const String home = "/";
static const String introSlider = "introSlider";
static const String languageList = "languageList";
static const String login = "login";
static const String privacy = "privacy";
static const String search = "search";
static const String live = "live";
static const String subCat = "subCat";
static const String requestOtp = "requestOtp";
static const String verifyOtp = "verifyOtp";
static const String managePref = "managePref";
static const String newsVideo = "newsVideo";
static const String bookmark = "bookmark";
static const String newsDetails = "newsDetails";
static const String imagePreview = "imagePreview";
static const String tagScreen = "tagScreen";
static const String addNews = "AddNews";
static const String editNews = "editNews";
static const String manageUserNews = "showNews";
static const String forgotPass = "forgotPass";
static const String sectionNews = "sectionNews";
static const String sectionBreakNews = "sectionBreakNews";
static const String showMoreRelatedNews = "showMoreRelatedNews";
static const String editUserProfile = "editUserProfile";
static const String maintenance = "maintenance";
static const String rssFeedDetails = "rssFeedDetails";
static const String authorDetails = "authorDetails";
static String currentRoute = splash;
static String previousRoute = "";
static Route<dynamic> onGenerateRouted(RouteSettings routeSettings) {
previousRoute = currentRoute;
currentRoute = routeSettings.name ?? "";
if (routeSettings.name!.contains('/news/') || routeSettings.name!.contains('/breaking-news/') || routeSettings.name!.contains('/video-news/')) {
final String? currNewsSlug = routeSettings.name!.split('/').last.split('?language_id').first;
if (previousRoute == splash) {
//app is closed
isShared = true;
Uri uri = Uri.parse(routeSettings.name!);
String path = uri.path;
routeSettingsName = path;
newsSlug = currNewsSlug;
return CupertinoPageRoute(builder: (_) => const Splash());
} else {
//app is running
return CupertinoPageRoute(builder: (_) => LoadingScreen(routeSettingsName: routeSettings.name!, newsSlug: currNewsSlug ?? ""));
}
}
switch (routeSettings.name) {
case splash:
{
return CupertinoPageRoute(builder: (_) => const Splash());
}
case home:
{
return DashBoard.route(routeSettings);
}
case introSlider:
{
return CupertinoPageRoute(builder: (_) => const IntroSliderScreen());
}
case login:
{
return LoginScreen.route(routeSettings);
}
case languageList:
{
return LanguageList.route(routeSettings);
}
case privacy:
{
return PrivacyPolicy.route(routeSettings);
}
case search:
{
return CupertinoPageRoute(builder: (_) => const Search());
}
case live:
{
return LiveStreaming.route(routeSettings);
}
case subCat:
{
return SubCategoryScreen.route(routeSettings);
}
case requestOtp:
{
return CupertinoPageRoute(builder: (_) => const RequestOtp());
}
case verifyOtp:
{
return VerifyOtp.route(routeSettings);
}
case managePref:
{
return ManagePref.route(routeSettings);
}
case newsVideo:
{
return VideoDetailsScreen.route(routeSettings);
}
case bookmark:
{
return CupertinoPageRoute(builder: (_) => const BookmarkScreen());
}
case newsDetails:
{
return NewsDetailScreen.route(routeSettings);
}
case imagePreview:
{
return ImagePreview.route(routeSettings);
}
case tagScreen:
{
return NewsTag.route(routeSettings);
}
case addNews:
{
return AddNews.route(routeSettings);
}
case manageUserNews:
{
return CupertinoPageRoute(builder: (_) => const ManageUserNews());
}
case forgotPass:
{
return CupertinoPageRoute(builder: (_) => const ForgotPassword());
}
case sectionNews:
{
return SectionMoreNewsList.route(routeSettings);
}
case sectionBreakNews:
{
return SectionMoreBreakingNewsList.route(routeSettings);
}
case showMoreRelatedNews:
{
return ShowMoreNewsList.route(routeSettings);
}
case editUserProfile:
{
return UserProfileScreen.route(routeSettings);
}
case maintenance:
{
return CupertinoPageRoute(builder: (_) => const MaintenanceScreen());
}
case rssFeedDetails:
{
return RSSFeedDetailsScreen.route(routeSettings);
}
case authorDetails:
{
return AuthorDetailsScreen.route(routeSettings);
}
default:
{
return CupertinoPageRoute(builder: (context) => const Scaffold());
}
}
}
}