♻️ Refactor router, moved from auto_router to go_router

This commit is contained in:
2025-06-26 14:13:44 +08:00
parent 825e6b5b6d
commit f2829b2012
67 changed files with 587 additions and 2876 deletions

View File

@ -1,6 +1,6 @@
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:gap/gap.dart';
@ -11,7 +11,6 @@ import 'package:island/models/post.dart';
import 'package:island/pods/config.dart';
import 'package:island/pods/network.dart';
import 'package:island/pods/userinfo.dart';
import 'package:island/route.gr.dart';
import 'package:island/services/responsive.dart';
import 'package:island/services/time.dart';
import 'package:island/widgets/account/account_name.dart';
@ -72,7 +71,7 @@ class PostItem extends HookConsumerWidget {
title: 'edit'.tr(),
image: MenuImage.icon(Symbols.edit),
callback: () {
context.router.push(PostEditRoute(id: item.id)).then((value) {
context.push('/posts/item.id/edit').then((value) {
if (value != null) {
onRefresh?.call();
}
@ -117,14 +116,14 @@ class PostItem extends HookConsumerWidget {
title: 'reply'.tr(),
image: MenuImage.icon(Symbols.reply),
callback: () {
context.router.push(PostComposeRoute(repliedPost: item));
context.push('/posts/compose', extra: {'repliedPost': item});
},
),
MenuAction(
title: 'forward'.tr(),
image: MenuImage.icon(Symbols.forward),
callback: () {
context.router.push(PostComposeRoute(forwardedPost: item));
context.push('/posts/compose', extra: {'forwardedPost': item});
},
),
MenuSeparator(),
@ -168,9 +167,7 @@ class PostItem extends HookConsumerWidget {
GestureDetector(
child: ProfilePictureWidget(file: item.publisher.picture),
onTap: () {
context.router.push(
PublisherProfileRoute(name: item.publisher.name),
);
context.push('/publishers/${item.publisher.name}');
},
),
Expanded(
@ -286,7 +283,7 @@ class PostItem extends HookConsumerWidget {
),
onTap: () {
if (isOpenable) {
context.router.push(PostDetailRoute(id: item.id));
context.push('/posts/item.id');
}
},
),
@ -487,9 +484,7 @@ Widget _buildReferencePost(BuildContext context, SnPost item) {
),
],
),
).gestures(
onTap: () => context.router.push(PostDetailRoute(id: referencePost.id)),
);
).gestures(onTap: () => context.push('/posts/referencePost.id'));
}
class PostReactionList extends HookConsumerWidget {

View File

@ -1,11 +1,10 @@
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:gap/gap.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/models/post.dart';
import 'package:island/pods/network.dart';
import 'package:island/route.gr.dart';
import 'package:island/services/time.dart';
import 'package:island/widgets/alert.dart';
import 'package:island/widgets/content/cloud_file_collection.dart';
@ -46,7 +45,7 @@ class PostItemCreator extends HookConsumerWidget {
title: 'edit'.tr(),
image: MenuImage.icon(Symbols.edit),
callback: () {
context.router.push(PostEditRoute(id: item.id)).then((value) {
context.push('/posts/item.id/edit').then((value) {
if (value != null) {
onRefresh?.call();
}
@ -81,7 +80,7 @@ class PostItemCreator extends HookConsumerWidget {
image: MenuImage.icon(Symbols.link),
callback: () {
// Copy post link to clipboard
context.router.push(PostDetailRoute(id: item.id));
context.push('/posts/item.id');
},
),
],
@ -95,7 +94,7 @@ class PostItemCreator extends HookConsumerWidget {
borderRadius: BorderRadius.circular(12),
onTap: () {
if (isOpenable) {
context.router.pushPath('/posts/${item.id}');
context.push('/posts/${item.id}');
}
},
child: Padding(

View File

@ -1,11 +1,10 @@
import 'dart:math' as math;
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:island/route.gr.dart';
import 'package:island/screens/creators/publishers.dart';
import 'package:island/widgets/content/cloud_files.dart';
import 'package:styled_widget/styled_widget.dart';
@ -44,8 +43,7 @@ class PublisherModal extends HookConsumerWidget {
const Gap(12),
ElevatedButton(
onPressed: () {
context.router
.push(NewPublisherRoute())
context.push('/creators/publishers/new')
.then((value) {
if (value != null) {
ref.invalidate(