My app structure can be like this:
home/folder/:fid/player
home/folder/:fid/folder/:fid/player
home/folder/:fid/folder/:fid/folder/:fid/player
with nested folders that can open other folders (a folder can contain an audio file which plays in the player) etc
Is this possible with go router? I've tried to do something like this instead:
home/folder/:fid/folder2/:f2id/player
but it is getting very messy. My router currently looks like this
final router = GoRouter(
routes: [
GoRoute(
path: HomePath,
builder: (context, state) => HomeWrapperWidget(),
routes: [
GoRoute(
path: 'session/:sid',
routes: [
GoRoute(
path: 'player',
pageBuilder: (context, state) =>
getPlayerMaterialPage(state),
)
],
pageBuilder: (context, state) =>
getSessionOptionsMaterialPage(state),
),
GoRoute(
path: 'folder/:fid',
routes: [
GoRoute(
path: 'folder2/:f2id',
routes: [
GoRoute(
path: 'folder3/:f3id',
pageBuilder: (context, state) => getFolderMaterialPage(state),
),
],
pageBuilder: (context, state) =>
getFolderMaterialPage(state),
),
],
pageBuilder: (context, state) => getFolderMaterialPage(state),
),
...
]),
],
);