-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrouter.dart
44 lines (42 loc) · 1.06 KB
/
router.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import 'package:get/route_manager.dart';
import 'package:kanbasu/screens/course.dart';
import 'package:kanbasu/screens/preview.dart';
import 'package:kanbasu/screens/test/stream_list.dart';
import 'package:url_launcher/url_launcher.dart';
final getPages = [
GetPage(
name: '/course/:courseId',
page: () => CourseScreen(courseId: int.parse(Get.parameters['courseId']!)),
),
GetPage(
name: '/course/:courseId/:initialTabId',
page: () => CourseScreen(
courseId: int.parse(Get.parameters['courseId']!),
initialTabId: Get.parameters['initialTabId'],
),
),
GetPage(
name: '/preview/:fileId',
page: () => PreviewScreen(fileId: Get.parameters['fileId']!),
),
GetPage(
name: '/test/stream_list',
page: () => StreamListTestScreen(),
),
];
Future<void> navigateTo(
String path, {
bool replace = false,
}) async {
if (path.startsWith('/')) {
if (replace) {
await Get.offNamed(path);
} else {
await Get.toNamed(path);
}
} else {
if (await canLaunch(path)) {
await launch(path);
}
}
}