Skip to content

Commit 2ccebd6

Browse files
feat: /m4 redirects to /m4/discovery (#868)
Co-authored-by: Dominik Toton <[email protected]>
1 parent 53f122c commit 2ccebd6

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

catalyst_voices/lib/routes/guards/milestone_guard.dart

+9-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,20 @@ final class MilestoneGuard implements RouteGuard {
1212

1313
@override
1414
FutureOr<String?> redirect(BuildContext context, GoRouterState state) {
15+
final location = state.uri.toString();
16+
17+
// redirects /m4 page to /m4/discovery
18+
if (location == '/${Routes.currentMilestone}') {
19+
return const DiscoveryRoute().location;
20+
}
21+
1522
// allow milestone sub pages
16-
if (state.uri.toString().startsWith('/${Routes.currentMilestone}')) {
23+
if (location.startsWith('/${Routes.currentMilestone}')) {
1724
return null;
1825
}
1926

2027
// if already at destination skip redirect
21-
if (state.uri.toString() == const ComingSoonRoute().location) {
28+
if (location == const ComingSoonRoute().location) {
2229
return null;
2330
}
2431

catalyst_voices/lib/routes/routing/routes.dart

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ import 'package:go_router/go_router.dart';
1111
abstract final class Routes {
1212
static const currentMilestone = 'm4';
1313

14+
static final List<RouteBase> routes = [
15+
...coming_soon.$appRoutes,
16+
...login.$appRoutes,
17+
...spaces.$appRoutes,
18+
...overall_spaces.$appRoutes,
19+
];
20+
1421
static String get initialLocation {
1522
return const coming_soon.ComingSoonRoute().location;
1623
}
17-
18-
static List<RouteBase> get routes => [
19-
...coming_soon.$appRoutes,
20-
...login.$appRoutes,
21-
...spaces.$appRoutes,
22-
...overall_spaces.$appRoutes,
23-
];
2424
}

catalyst_voices/packages/catalyst_voices_blocs/lib/src/session/session_bloc.dart

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@ import 'package:flutter_bloc/flutter_bloc.dart';
55

66
/// Manages the user session.
77
final class SessionBloc extends Bloc<SessionEvent, SessionState> {
8-
SessionBloc() : super(const VisitorSessionState()) {
8+
SessionBloc()
9+
: super(
10+
const ActiveUserSessionState(
11+
user: User(name: 'Account'),
12+
),
13+
) {
914
on<SessionEvent>(_handleSessionEvent);
1015
}
1116

0 commit comments

Comments
 (0)