feat(ui): écran Création/édition de programme
Ajoute l'écran de programme (presentation/program_screen.dart) et un écran d'accueil (presentation/home_screen.dart) pour la navigation, avec les ajustements application/domaine/repositories nécessaires. flutter analyze propre, 11/11 tests verts, build APK debug validé. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
48
lib/presentation/home_screen.dart
Normal file
48
lib/presentation/home_screen.dart
Normal file
@ -0,0 +1,48 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../application/app_bootstrap.dart';
|
||||
import 'exercise_library_screen.dart';
|
||||
import 'program_screen.dart';
|
||||
|
||||
final class HomeScreen extends StatelessWidget {
|
||||
const HomeScreen({required this.bootstrap, super.key});
|
||||
|
||||
final AppBootstrap bootstrap;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: const Text('GameTime')),
|
||||
body: ListView(
|
||||
children: [
|
||||
ListTile(
|
||||
leading: const Icon(Icons.fitness_center),
|
||||
title: const Text('Exercices'),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ExerciseLibraryScreen(
|
||||
exerciseUseCases: bootstrap.exerciseUseCases,
|
||||
mediaUseCases: bootstrap.mediaUseCases,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.list_alt),
|
||||
title: const Text('Programmes'),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ProgramListScreen(
|
||||
programUseCases: bootstrap.programUseCases,
|
||||
exerciseUseCases: bootstrap.exerciseUseCases,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user