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:
CedricandClaude Opus 5.5 committed 2026-10-28 23:33:07 +01:00
1 parent 1289fadb98
commit 786dd52e30
16 files changed
+1272 -32

No files matched your search

+8 -2
View File
@@ -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(),
},
),
);
}
}