Stage 2: Library search, filters and Exercise detail with Flip Animation
- LibraryFilter: word search on names; muscle (primary), equipment and level choices that widen within a filter and narrow across filters - ExerciseBrowser (reusable for the Plan picker) with search field, filter sheets showing live result counts, a clear button and an empty state - Exercise detail: start/end Flip Animation at each Mode's pace (still with reduced motion), facts, main/secondary muscles, numbered steps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1289fadb98
commit
786dd52e30
16 files changed
+1272
-32
No files matched your search
+8
-2
@@ -4,6 +4,7 @@ import 'package:provider/provider.dart';
|
||||
|
||||
import 'design/app_theme.dart';
|
||||
import 'design/zen_style.dart';
|
||||
import 'exercises/views/exercise_detail_view.dart';
|
||||
import 'home/home_view.dart';
|
||||
import 'localization/app_localizations.dart';
|
||||
import 'settings/settings_controller.dart';
|
||||
@@ -29,8 +30,13 @@ class ZenXerciseApp extends StatelessWidget {
|
||||
],
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
onGenerateTitle: (context) => AppLocalizations.of(context).appTitle,
|
||||
onGenerateRoute: (settings) =>
|
||||
MaterialPageRoute<Object?>(settings: settings, builder: (context) => const HomeView()),
|
||||
onGenerateRoute: (settings) => MaterialPageRoute<Object?>(
|
||||
settings: settings,
|
||||
builder: (context) => switch (settings.name) {
|
||||
ExerciseDetailView.routeName => ExerciseDetailView(exerciseId: settings.arguments! as String),
|
||||
_ => const HomeView(),
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user