Skip to content

Commit 40e764e

Browse files
committed
implement additional routes and format files accordingly
1 parent 7a45e43 commit 40e764e

File tree

5 files changed

+72
-35
lines changed

5 files changed

+72
-35
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
class TorrentContentPageArguments {
22
String hash;
33
String directory;
4-
final int index;
4+
final int themeIndex;
55

66
TorrentContentPageArguments(
7-
{required this.hash, required this.directory, required this.index});
7+
{required this.hash, required this.directory, required this.themeIndex});
88
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
class VideoStreamScreenArguments {
22
String hash;
33
String index;
4-
final int myIndex;
4+
final int themeIndex;
55

66
VideoStreamScreenArguments(
7-
{required this.hash, required this.index, required this.myIndex});
7+
{required this.hash, required this.index, required this.themeIndex});
88
}

lib/Route/route_generator.dart

Lines changed: 63 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,87 @@
1-
import 'package:flood_mobile/Pages/home_screen.dart';
2-
import 'package:flood_mobile/Pages/login_screen.dart';
3-
import 'package:flood_mobile/Pages/splash_screen.dart';
4-
import 'package:flood_mobile/Pages/torrent_content_screen.dart';
5-
import 'package:flood_mobile/Pages/video_stream_screen.dart';
6-
import 'package:flood_mobile/Provider/torrent_content_provider.dart';
1+
import 'package:flood_mobile/Pages/home_screen/home_screen.dart';
2+
import 'package:flood_mobile/Pages/login_screen/login_screen.dart';
3+
import 'package:flood_mobile/Pages/onboarding_main_screen/onboarding_main_screen.dart';
4+
import 'package:flood_mobile/Pages/settings_screen/settings_screen.dart';
5+
import 'package:flood_mobile/Pages/splash_screen/splash_screen.dart';
6+
import 'package:flood_mobile/Pages/torrent_content_screen/torrent_content_screen.dart';
7+
import 'package:flood_mobile/Pages/torrent_screen/torrent_screen.dart';
8+
import 'package:flood_mobile/Pages/video_stream_screen/video_stream_screen.dart';
79
import 'package:flood_mobile/Route/routes.dart';
10+
import 'package:flood_mobile/Blocs/theme_bloc/theme_bloc.dart';
811
import 'package:flutter/material.dart';
9-
import 'package:provider/provider.dart';
10-
import 'Arguments/torrent_content_page_arguments.dart';
11-
import 'Arguments/video_stream_screen_arguments.dart';
12+
import 'package:flutter_bloc/flutter_bloc.dart';
13+
import 'package:flood_mobile/Route/Arguments/torrent_content_page_arguments.dart';
14+
import 'package:flood_mobile/Route/Arguments/video_stream_screen_arguments.dart';
1215

1316
class RouteGenerator {
1417
static Route<dynamic> generateRoute(RouteSettings settings) {
1518
final args = settings.arguments;
19+
1620
switch (settings.name) {
1721
case Routes.splashScreenRoute:
18-
final args = settings.arguments as int?;
22+
final themeIndex = args as int?;
1923
return MaterialPageRoute(
20-
builder: (context) => SplashScreen(themeIndex: args));
24+
builder: (context) => SplashScreen(themeIndex: themeIndex),
25+
);
26+
2127
case Routes.loginScreenRoute:
22-
final args = settings.arguments as int?;
28+
final themeIndex = args as int?;
2329
return MaterialPageRoute(
24-
builder: (context) => LoginScreen(themeIndex: args));
30+
builder: (context) => LoginScreen(themeIndex: themeIndex),
31+
);
32+
2533
case Routes.homeScreenRoute:
26-
final args = settings.arguments as int?;
34+
final themeIndex = args as int?;
2735
return MaterialPageRoute(
28-
builder: (context) => HomeScreen(themeIndex: args));
36+
builder: (context) => HomeScreen(themeIndex: themeIndex),
37+
);
38+
2939
case Routes.torrentContentScreenRoute:
3040
return MaterialPageRoute(
31-
builder: (context) => MultiProvider(
32-
providers: [
33-
ChangeNotifierProvider<TorrentContentProvider>(
34-
create: (context) => TorrentContentProvider(),
35-
),
36-
],
37-
child: TorrentContentScreen(
38-
arguments: args as TorrentContentPageArguments,
39-
),
41+
builder: (context) => TorrentContentScreen(
42+
arguments: args as TorrentContentPageArguments,
4043
),
4144
);
45+
46+
case Routes.torrnetScreenRoute:
47+
final themeIndex = args as int?;
48+
return MaterialPageRoute(
49+
builder: (context) => TorrentScreen(themeIndex: themeIndex ?? 2),
50+
);
51+
52+
case Routes.onboardingScreenRoute:
53+
return MaterialPageRoute(
54+
builder: (context) => OnboardingMainPage(),
55+
);
56+
57+
case Routes.settingsScreenRoute:
58+
final themeIndex = settings.arguments as int;
59+
return MaterialPageRoute(
60+
builder: (context) => SettingsScreen(themeIndex: themeIndex),
61+
);
62+
4263
case Routes.streamVideoScreenRoute:
4364
return MaterialPageRoute(
44-
builder: (context) => VideoStreamScreen(
45-
args: args as VideoStreamScreenArguments,
46-
));
65+
builder: (context) => VideoStreamScreen(
66+
args: args as VideoStreamScreenArguments,
67+
),
68+
);
69+
4770
default:
48-
final args = settings.arguments as int?;
71+
final themeIndex = settings.arguments as int?;
4972
return MaterialPageRoute(
50-
builder: (context) => LoginScreen(themeIndex: args));
73+
builder: (context) => LoginScreen(themeIndex: themeIndex),
74+
);
5175
}
5276
}
77+
78+
static List<Route<dynamic>> onGenerateInitialRoutes(String? val) {
79+
return [
80+
MaterialPageRoute(
81+
builder: (context) => SplashScreen(
82+
themeIndex: BlocProvider.of<ThemeBloc>(context).isDarkMode ? 2 : 1,
83+
),
84+
)
85+
];
86+
}
5387
}

lib/Route/routes.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ class Routes {
44
static const String homeScreenRoute = '/homeScreen';
55
static const String torrentContentScreenRoute = '/torrentContentScreen';
66
static const String streamVideoScreenRoute = '/screamVideoScreen';
7+
static const String settingsScreenRoute = '/settingsScreen';
8+
static const String onboardingScreenRoute = '/onboardingScreen';
9+
static const String torrnetScreenRoute = '/torrentScreen';
710
}

lib/Services/file_size_helper.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ String filesize(dynamic size, [int round = 2]) {
1010
int _size;
1111
try {
1212
_size = int.parse(size.toString());
13-
} catch (e) {
14-
throw ArgumentError("Can not parse the size parameter: $e $size");
13+
} catch (error) {
14+
throw ArgumentError("Can not parse the size parameter: $error $size");
1515
}
1616

1717
if (_size < divider) {

0 commit comments

Comments
 (0)