Skip to content

Commit 3cefdc1

Browse files
committed
refactor(navigation): remove placeholder account shell branch
This commit performs the first part of the router refactoring to fix navigation from the AccountSheet. It removes the now-obsolete StatefulShellBranch for the /account path. The routes contained within will be re-added under the /feed branch in the next step.
1 parent 31724dc commit 3cefdc1

File tree

1 file changed

+0
-188
lines changed

1 file changed

+0
-188
lines changed

lib/router/router.dart

Lines changed: 0 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -549,194 +549,6 @@ GoRouter createRouter({
549549
// the FeedSliverAppBar, so it is no longer a main navigation branch.
550550
// Its sub-routes (Settings, Saved Items, etc.) are now defined as
551551
// top-level routes to be pushed from the modal sheet.
552-
StatefulShellBranch(
553-
routes: [
554-
// This GoRoute is a placeholder to keep the shell branch valid
555-
// while allowing its sub-routes to be defined. The path will
556-
// never be directly navigated to.
557-
GoRoute(
558-
path: Routes.account,
559-
name: Routes.accountName,
560-
builder: (context, state) => const SizedBox.shrink(),
561-
routes: [
562-
// ShellRoute for settings to provide SettingsBloc to children
563-
ShellRoute(
564-
builder:
565-
(
566-
BuildContext context,
567-
GoRouterState state,
568-
Widget child,
569-
) {
570-
final appBloc = context.read<AppBloc>();
571-
final userId = appBloc.state.user?.id;
572-
573-
return BlocProvider<SettingsBloc>(
574-
create: (context) {
575-
final settingsBloc = SettingsBloc(
576-
userAppSettingsRepository: context
577-
.read<DataRepository<UserAppSettings>>(),
578-
inlineAdCacheService: inlineAdCacheService,
579-
);
580-
if (userId != null) {
581-
settingsBloc.add(
582-
SettingsLoadRequested(userId: userId),
583-
);
584-
} else {
585-
logger.warning(
586-
'User ID is null when creating SettingsBloc. '
587-
'Settings will not be loaded.',
588-
);
589-
}
590-
return settingsBloc;
591-
},
592-
child: child,
593-
);
594-
},
595-
routes: [
596-
GoRoute(
597-
path: Routes.settings,
598-
name: Routes.settingsName,
599-
builder: (context, state) => const SettingsPage(),
600-
routes: [
601-
GoRoute(
602-
path: Routes.settingsAppearance,
603-
name: Routes.settingsAppearanceName,
604-
builder: (context, state) =>
605-
const AppearanceSettingsPage(),
606-
routes: [
607-
GoRoute(
608-
path: Routes.settingsAppearanceTheme,
609-
name: Routes.settingsAppearanceThemeName,
610-
builder: (context, state) =>
611-
const ThemeSettingsPage(),
612-
),
613-
GoRoute(
614-
path: Routes.settingsAppearanceFont,
615-
name: Routes.settingsAppearanceFontName,
616-
builder: (context, state) =>
617-
const FontSettingsPage(),
618-
),
619-
],
620-
),
621-
GoRoute(
622-
path: Routes.settingsFeed,
623-
name: Routes.settingsFeedName,
624-
builder: (context, state) =>
625-
const FeedSettingsPage(),
626-
),
627-
GoRoute(
628-
path: Routes.settingsNotifications,
629-
name: Routes.settingsNotificationsName,
630-
builder: (context, state) =>
631-
const NotificationSettingsPage(),
632-
),
633-
GoRoute(
634-
path: Routes.settingsLanguage,
635-
name: Routes.settingsLanguageName,
636-
builder: (context, state) =>
637-
const LanguageSettingsPage(),
638-
),
639-
],
640-
),
641-
],
642-
),
643-
GoRoute(
644-
path: Routes.manageFollowedItems,
645-
name: Routes.manageFollowedItemsName,
646-
builder: (context, state) =>
647-
const ManageFollowedItemsPage(),
648-
routes: [
649-
GoRoute(
650-
path: Routes.followedTopicsList,
651-
name: Routes.followedTopicsListName,
652-
builder: (context, state) =>
653-
const FollowedTopicsListPage(),
654-
routes: [
655-
GoRoute(
656-
path: Routes.addTopicToFollow,
657-
name: Routes.addTopicToFollowName,
658-
builder: (context, state) =>
659-
const AddTopicToFollowPage(),
660-
),
661-
],
662-
),
663-
GoRoute(
664-
path: Routes.followedSourcesList,
665-
name: Routes.followedSourcesListName,
666-
builder: (context, state) =>
667-
const FollowedSourcesListPage(),
668-
routes: [
669-
GoRoute(
670-
path: Routes.addSourceToFollow,
671-
name: Routes.addSourceToFollowName,
672-
builder: (context, state) =>
673-
const AddSourceToFollowPage(),
674-
),
675-
],
676-
),
677-
GoRoute(
678-
path: Routes.followedCountriesList,
679-
name: Routes.followedCountriesListName,
680-
builder: (context, state) =>
681-
const FollowedCountriesListPage(),
682-
routes: [
683-
GoRoute(
684-
path: Routes.addCountryToFollow,
685-
name: Routes.addCountryToFollowName,
686-
builder: (context, state) =>
687-
const AddCountryToFollowPage(),
688-
),
689-
],
690-
),
691-
],
692-
),
693-
GoRoute(
694-
path: Routes.accountSavedHeadlines,
695-
name: Routes.accountSavedHeadlinesName,
696-
builder: (context, state) {
697-
return const SavedHeadlinesPage();
698-
},
699-
routes: [
700-
GoRoute(
701-
path: Routes.accountArticleDetails,
702-
name: Routes.accountArticleDetailsName,
703-
builder: (context, state) {
704-
final headlineFromExtra = state.extra as Headline?;
705-
final headlineIdFromPath = state.pathParameters['id'];
706-
return MultiBlocProvider(
707-
providers: [
708-
BlocProvider(
709-
create: (context) => HeadlineDetailsBloc(
710-
headlinesRepository: context
711-
.read<DataRepository<Headline>>(),
712-
),
713-
),
714-
BlocProvider(
715-
create: (context) => SimilarHeadlinesBloc(
716-
headlinesRepository: context
717-
.read<DataRepository<Headline>>(),
718-
),
719-
),
720-
],
721-
child: HeadlineDetailsPage(
722-
initialHeadline: headlineFromExtra,
723-
headlineId:
724-
headlineFromExtra?.id ?? headlineIdFromPath,
725-
),
726-
);
727-
},
728-
),
729-
],
730-
),
731-
GoRoute(
732-
path: Routes.accountSavedFilters,
733-
name: Routes.accountSavedFiltersName,
734-
builder: (context, state) => const SavedFiltersPage(),
735-
),
736-
],
737-
),
738-
],
739-
),
740552
],
741553
),
742554
],

0 commit comments

Comments
 (0)