Обновление под go_router 17.2.3 — плюс новые возможности и важный фикс.
—
⚠️ Breaking change
Все route-enum'ы, реализующие
DwNavigationRoute, должны добавить геттер:@override
DwStatefulShellRouteBuilder? get statefulShellRouteBuilder => null;
Компилятор укажет, где именно.
—
Что добавилось
statefulShellRouteBuilder — правильный способ строить bottom nav bar с независимыми ветками навигации. Scroll-позиция, дочерние экраны и состояние виджетов сохраняются при переключении вкладок. Рекомендую переходить на него вместо shellRouteBuilder для любого layout с табами.onEnter — хук, срабатывающий до redirect и zoneGuards. Удобно для аналитики или любой логики перед матчингом маршрута.caseSensitive (default true) — чтобы /Profile и /profile резолвились в один маршрут.shellNotifyRootObserver (default true) — контролирует, получает ли root observer события из ShellRoute-зон.Fix:
DwPageBuilder.slide — параметр from теперь описывает направление входа. AxisDirection.right — страница въезжает справа. Раньше offset был инвертирован.—
dart pub add dartway_router
github.com/dartway/dartway_router
Готово к копипасту. Подчёркивания в именах экранированы, блоки кода в обратных кавычках — Телеграм их отобразит моноширинным шрифтом с кнопкой копирования.