[READ ONLY MIRROR] Open Source TikTok alternative built on AT Protocol github.com/sprksocial/client
flutter atproto video dart
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: deeplink app router for posts

+12 -10
+12 -10
lib/src/sprk_app.dart
··· 1 + import 'package:auto_route/auto_route.dart'; 1 2 import 'package:flutter/material.dart'; 2 3 import 'package:flutter/services.dart'; 3 4 import 'package:flutter_riverpod/flutter_riverpod.dart'; ··· 90 91 } 91 92 return supportedLocales.first; 92 93 }, 93 - routerConfig: _appRouter.config( 94 - deepLinkTransformer: _transformIncomingDeepLink, 95 - ), 94 + routerConfig: _appRouter.config(deepLinkBuilder: _buildIncomingDeepLink), 96 95 ); 97 96 } 98 97 99 - Future<Uri> _transformIncomingDeepLink(Uri uri) async { 100 - final canonicalPostUri = extractCanonicalSparkPostUri(uri.toString()); 98 + Future<DeepLink> _buildIncomingDeepLink(PlatformDeepLink deepLink) async { 99 + final canonicalPostUri = extractCanonicalSparkPostUri( 100 + deepLink.uri.toString(), 101 + ); 101 102 if (canonicalPostUri == null) { 102 - return uri; 103 + return deepLink; 103 104 } 104 105 105 - final transformedUri = Uri( 106 - path: '/post/${Uri.encodeComponent(canonicalPostUri)}', 106 + _logger.i( 107 + 'Resolved incoming post deep link ${deepLink.uri} ' 108 + 'to canonical URI $canonicalPostUri', 107 109 ); 108 - _logger.i('Transformed incoming deep link from $uri to $transformedUri'); 109 - return transformedUri; 110 + 111 + return DeepLink.single(StandalonePostRoute(postUri: canonicalPostUri)); 110 112 } 111 113 }