refactor: Migrate routes to go router

This commit is contained in:
krille-chan 2023-08-07 18:40:02 +02:00
commit ee957ab1f6
No known key found for this signature in database
52 changed files with 584 additions and 612 deletions

View file

@ -19,7 +19,12 @@ import 'package:fluffychat/widgets/matrix.dart';
enum AliasActions { copy, delete, setCanonical }
class ChatDetails extends StatefulWidget {
const ChatDetails({Key? key}) : super(key: key);
final String roomId;
const ChatDetails({
Key? key,
required this.roomId,
}) : super(key: key);
@override
ChatDetailsController createState() => ChatDetailsController();
@ -32,7 +37,7 @@ class ChatDetailsController extends State<ChatDetails> {
void toggleDisplaySettings() =>
setState(() => displaySettings = !displaySettings);
String? get roomId => VRouter.of(context).pathParameters['roomid'];
String? get roomId => widget.roomId;
void setDisplaynameAction() async {
final room = Matrix.of(context).client.getRoomById(roomId!)!;
@ -257,9 +262,9 @@ class ChatDetailsController extends State<ChatDetails> {
if ((room.states['im.ponies.room_emotes'] ?? <String, Event>{})
.keys
.any((String s) => s.isNotEmpty)) {
VRouter.of(context).to('multiple_emotes');
context.go('/rooms/${room.id}/details/multiple_emotes');
} else {
VRouter.of(context).to('emotes');
context.go('/rooms/${room.id}/details/emotes');
}
}

View file

@ -53,10 +53,11 @@ class ChatDetailsView extends StatelessWidget {
leading: IconButton(
icon: const Icon(Icons.close_outlined),
onPressed: () =>
VRouter.of(context).path.startsWith('/spaces/')
? VRouter.of(context).pop()
: VRouter.of(context)
.toSegments(['rooms', controller.roomId!]),
GoRouterState.of(context).uri.path.startsWith('/spaces/')
? context.pop()
: context.go(
['', 'rooms', controller.roomId!].join('/'),
),
),
elevation: Theme.of(context).appBarTheme.elevation,
expandedHeight: 300.0,
@ -380,8 +381,8 @@ class ChatDetailsView extends StatelessWidget {
Icons.edit_attributes_outlined,
),
),
onTap: () =>
VRouter.of(context).to('permissions'),
onTap: () => context
.go('/rooms/${room.id}/details/permissions'),
),
],
const Divider(height: 1),
@ -408,7 +409,8 @@ class ChatDetailsView extends StatelessWidget {
radius: Avatar.defaultSize / 2,
child: const Icon(Icons.add_outlined),
),
onTap: () => VRouter.of(context).to('invite'),
onTap: () =>
context.go('/rooms/${room.id}/invite'),
)
: const SizedBox.shrink(),
],