|
18 | 18 | */ |
19 | 19 |
|
20 | 20 | import 'package:boxbox/Screens/404.dart'; |
21 | | -import 'package:boxbox/Screens/article.dart'; |
22 | 21 | import 'package:boxbox/Screens/schedule.dart'; |
23 | 22 | import 'package:boxbox/Screens/standings.dart'; |
24 | | -import 'package:boxbox/Screens/video.dart'; |
25 | 23 | import 'package:boxbox/Screens/videos.dart'; |
26 | 24 | import 'package:flutter/material.dart'; |
27 | 25 | import 'package:flutter_gen/gen_l10n/app_localizations.dart'; |
| 26 | +import 'package:go_router/go_router.dart'; |
28 | 27 |
|
29 | 28 | class HandleRoute { |
30 | 29 | static Route? handleRoute(String? url) { |
@@ -63,21 +62,14 @@ class SharedLinkHandler extends StatelessWidget { |
63 | 62 | ), |
64 | 63 | body: VideosScreen(ScrollController()), |
65 | 64 | ); |
66 | | - } else if (url.startsWith('/en/latest/article.')) { |
67 | | - return ArticleScreen( |
68 | | - url.split('.').last, |
69 | | - '', |
70 | | - true, |
71 | | - ); |
72 | | - } else if (url.startsWith('/en/latest/article/')) { |
73 | | - return ArticleScreen( |
74 | | - url.split('/').last, |
75 | | - '', |
76 | | - true, |
77 | | - ); |
78 | | - } else if (url.startsWith('/en/latest/video.')) { |
79 | | - String videoId = url.split('.')[2]; |
80 | | - return VideoScreenFromId(videoId); |
| 65 | + } else if (url.startsWith('/en/latest/article/') || |
| 66 | + url.startsWith('/en/latest/article.')) { |
| 67 | + context.goNamed('article', pathParameters: {'id': url.split('.').last}); |
| 68 | + return Container(); |
| 69 | + } else if (url.startsWith('/en/video/') || |
| 70 | + url.startsWith('/en/latest/video.')) { |
| 71 | + context.goNamed('video', pathParameters: {'id': url.split('.').last}); |
| 72 | + return Container(); |
81 | 73 | } else if (url.startsWith('/en/racing/$year')) { |
82 | 74 | return Scaffold( |
83 | 75 | appBar: AppBar( |
@@ -111,7 +103,9 @@ class SharedLinkHandler extends StatelessWidget { |
111 | 103 | ), |
112 | 104 | ); |
113 | 105 | } else { |
114 | | - return ErrorNotFoundScreen(); |
| 106 | + return ErrorNotFoundScreen( |
| 107 | + route: sharedUrl, |
| 108 | + ); |
115 | 109 | } |
116 | 110 | } |
117 | 111 | } |
0 commit comments