@@ -91,7 +91,7 @@ Future init() async {
91
91
if (Platform .isWindows || Platform .isLinux || Platform .isMacOS) {
92
92
await WindowManager .instance.ensureInitialized ();
93
93
}
94
- initDeepLinkListener ();
94
+
95
95
TypeFactory .registerAllTypes ();
96
96
initializeDateFormatting ();
97
97
final supportedLocales = DateFormat .allLocalesWithSymbols ();
@@ -109,6 +109,7 @@ Future init() async {
109
109
}
110
110
}
111
111
Discord .getSavedToken ();
112
+ initDeepLinkListener ();
112
113
Get .config (
113
114
enableLog: true ,
114
115
logWriterCallback: (text, {isError = false }) async {
@@ -126,38 +127,31 @@ void initDeepLinkListener() async {
126
127
snackString ('Error getting initial deep link: $err ' );
127
128
}
128
129
129
- uriLinkStream.listen ((Uri ? uri) {
130
- if (uri != null ) {
131
- handleDeepLink (uri);
132
- }
133
- }, onError: (err) {
134
- snackString ('Error Opening link: $err ' );
135
- });
130
+ uriLinkStream.listen (
131
+ (uri) => uri != null ? handleDeepLink (uri) : null ,
132
+ onError: (err) => snackString ('Error Opening link: $err ' ),
133
+ );
136
134
}
137
135
138
136
void handleDeepLink (Uri uri) {
139
- if (uri.host == "add-repo" ) {
140
- String ? animeUrl =
141
- uri.queryParameters["url" ] ?? uri.queryParameters['anime_url' ];
142
- String ? mangaUrl = uri.queryParameters["manga_url" ];
143
- String ? novelUrl = uri.queryParameters["novel_url" ];
137
+ if (uri.host != "add-repo" ) return ;
144
138
145
- if (animeUrl != null ) {
146
- Extensions .setRepo (ItemType .anime, animeUrl);
147
- }
148
- if (mangaUrl != null ) {
149
- Extensions .setRepo (ItemType .manga, mangaUrl);
150
- }
151
- if (novelUrl != null ) {
152
- Extensions .setRepo (ItemType .novel, novelUrl);
153
- }
139
+ final repoMap = {
140
+ ItemType .anime: uri.queryParameters["url" ] ?? uri.queryParameters["anime_url" ],
141
+ ItemType .manga: uri.queryParameters["manga_url" ],
142
+ ItemType .novel: uri.queryParameters["novel_url" ],
143
+ };
144
+
145
+ bool isRepoAdded = false ;
154
146
155
- if (animeUrl != null || mangaUrl != null || novelUrl != null ) {
156
- snackString ( "Added Repo Links Successfully!" );
157
- } else {
158
- snackString ( "Missing required parameters in the link." ) ;
147
+ repoMap. forEach ((type, url ) {
148
+ if (url != null && url.isNotEmpty) {
149
+ Extensions . setRepo (type, url);
150
+ isRepoAdded = true ;
159
151
}
160
- }
152
+ });
153
+
154
+ snackString (isRepoAdded ? "Added Repo Links Successfully!" : "Missing required parameters in the link." );
161
155
}
162
156
163
157
final GlobalKey <NavigatorState > navigatorKey = GlobalKey <NavigatorState >();
0 commit comments