From 3e0141a86badc2785ff9e894633f362f6456bd71 Mon Sep 17 00:00:00 2001 From: olorin99 Date: Thu, 16 Apr 2026 16:17:04 +1000 Subject: [PATCH] Misc fixes. - Modlog null error when microblog body is null. - Fix nested routes of same type. --- lib/src/controller/router.dart | 30 ++++++++++++++++++++++++++---- lib/src/models/modlog.dart | 4 ++-- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lib/src/controller/router.dart b/lib/src/controller/router.dart index 7955e867..98638555 100644 --- a/lib/src/controller/router.dart +++ b/lib/src/controller/router.dart @@ -29,19 +29,41 @@ class AppRouter extends RootStackRouter { AutoRoute(page: FeedRoute.page, path: 'f/:feedName'), - AutoRoute(page: ThreadRoute.page, path: 'c/:communityName/thread/:id'), + AutoRoute( + page: ThreadRoute.page, + path: 'c/:communityName/thread/:id', + restorationId: (route) => + '${route.name}-${route.pathParams.get('id')}', + ), AutoRoute( page: MicroblogRoute.page, path: 'c/:communityName/microblog/:id', + restorationId: (route) => + '${route.name}-${route.pathParams.get('id')}', + ), + AutoRoute( + page: PostCommentRoute.page, + path: 'comment/:id', + restorationId: (route) => + '${route.name}-${route.pathParams.get('id')}', ), - AutoRoute(page: PostCommentRoute.page, path: 'comment/:id'), AutoRoute(page: ContentReplyRoute.page, path: 'reply'), - AutoRoute(page: UserRoute.page, path: 'u/:username'), + AutoRoute( + page: UserRoute.page, + path: 'u/:username', + restorationId: (route) => + '${route.name}-${route.pathParams.get('username')}', + ), AutoRoute(page: ModLogUserRoute.page, path: 'u/:username/modlog'), AutoRoute(page: MessageThreadRoute.page, path: 'u/:username/message'), - AutoRoute(page: CommunityRoute.page, path: 'c/:communityName'), + AutoRoute( + page: CommunityRoute.page, + path: 'c/:communityName', + restorationId: (route) => + '${route.name}-${route.pathParams.get('communityName')}', + ), AutoRoute( page: ModLogCommunityRoute.page, path: 'c/:communityName/modlog', diff --git a/lib/src/models/modlog.dart b/lib/src/models/modlog.dart index d4509cbf..56d35fdc 100644 --- a/lib/src/models/modlog.dart +++ b/lib/src/models/modlog.dart @@ -67,9 +67,9 @@ abstract class ModlogItemModel with _$ModlogItemModel { ModLogType.postPinned => null, ModLogType.postUnpinned => null, ModLogType.microblogPostDeleted => - (json['subject']! as JsonMap)['body']! as String, + (json['subject']! as JsonMap)['body'] as String?, ModLogType.microblogPostRestored => - (json['subject']! as JsonMap)['body']! as String, + (json['subject']! as JsonMap)['body'] as String?, ModLogType.microblogCommentDeleted => null, ModLogType.microblogCommentRestored => null, ModLogType.ban => null,