Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,17 @@ Future<void> main() async {
);
}

class MyApp extends StatelessWidget {
class MyApp extends ConsumerWidget {
const MyApp({
super.key,
});

// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
Widget build(BuildContext context, WidgetRef ref) {
final router = ref.watch(routerProvider);

return MaterialApp.router(
title: 'XpeApp Admin',
locale: const Locale('fr'),
supportedLocales: const [
Expand All @@ -57,7 +59,7 @@ class MyApp extends StatelessWidget {
),
useMaterial3: true,
),
routes: routes,
routerConfig: router,
);
}
}
3 changes: 2 additions & 1 deletion lib/presentation/pages/auth_guard.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/providers.dart';

class AuthGuard extends ConsumerWidget {
Expand All @@ -17,7 +18,7 @@ class AuthGuard extends ConsumerWidget {
// Redirect to login page if not authenticated and sign out
WidgetsBinding.instance.addPostFrameCallback((_) {
ref.read(userProvider.notifier).signOut();
Navigator.pushReplacementNamed(context, '/');
context.go('/');
});

// Clear QVST menu
Expand Down
5 changes: 3 additions & 2 deletions lib/presentation/pages/home_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/data/colors.dart';
import 'package:xpeapp_admin/data/entities/menu_entity.dart';
import 'package:xpeapp_admin/presentation/pages/agenda/agenda_page.dart';
Expand Down Expand Up @@ -42,7 +43,7 @@ class HomePage extends ConsumerWidget {
// Sign out
ref.watch(loginProvider).signOut(),
// Redirect to login page
Navigator.pushNamed(context, '/')
context.go('/')
},
icon: const Icon(
Icons.logout,
Expand Down Expand Up @@ -183,7 +184,7 @@ class HomePage extends ConsumerWidget {
onPressed: () {
switch (menuSelected.id) {
case menuNewsletter:
Navigator.pushNamed(context, '/newsletter/add');
context.push('/newsletter/add');
break;
default:
break;
Expand Down
6 changes: 2 additions & 4 deletions lib/presentation/pages/login_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/data/colors.dart';
import 'package:xpeapp_admin/data/entities/xpeho_user.dart';
import 'package:xpeapp_admin/presentation/widgets/app_loader.dart';
Expand Down Expand Up @@ -115,10 +116,7 @@ class LoginPage extends ConsumerWidget {

// Naviguez vers la page d'accueil en réinitialisant le menu
ref.read(menuSelectedProvider.notifier).reset();
Navigator.pushNamed(
context,
'/home',
);
context.go('/home');
} catch (error) {
// En cas d'erreur, désactivez également le loader
ref.read(loaderStateProvider.notifier).hideLoader();
Expand Down
3 changes: 2 additions & 1 deletion lib/presentation/pages/newsletters/newsletter_add_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:http_parser/http_parser.dart';
import 'package:intl/intl.dart';
import 'package:xpeapp_admin/data/colors.dart';
Expand Down Expand Up @@ -279,7 +280,7 @@ class _NewsletterAddOrEditPageState
await updateNewsletter(newsletterEntity);
}
// Redirect to the previous page
Navigator.pop(context);
context.pop();
}
}
: null,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:intl/intl.dart';
import 'package:xpeapp_admin/data/entities/newsletter_entity.dart';
import 'package:xpeapp_admin/presentation/pages/template/scaffold_template.dart';
Expand Down Expand Up @@ -34,14 +35,13 @@ class NewsletterDetailPage extends ConsumerWidget {
return ScaffoldTemplate(
appBarTitle: 'Contenu de la newsletter',
appBarLeading: IconButton(
onPressed: () => Navigator.pop(context),
onPressed: () => context.pop(),
icon: const Icon(Icons.arrow_back),
),
floatingActionButton: FloatingActionButton(
onPressed: () => Navigator.pushNamed(
context,
onPressed: () => context.push(
'/newsletter/edit',
arguments: newsletter,
extra: newsletter,
),
backgroundColor: Colors.grey,
child: const Icon(
Expand Down
6 changes: 2 additions & 4 deletions lib/presentation/pages/qvst/content/qvst_content_theme.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/data/colors.dart';
import 'package:xpeapp_admin/data/enum/qvst_menu.dart';
import 'package:xpeapp_admin/presentation/pages/qvst/content/qvst_table_view.dart';
Expand Down Expand Up @@ -162,10 +163,7 @@ class _QvstContentThemeState extends ConsumerState<QvstContentTheme> {
child: FloatingActionButton(
onPressed: () {
ref.watch(qvstThemesSelectionProvider.notifier).setTheme(theme);
Navigator.pushNamed(
context,
'/qvst/add',
);
context.push('/qvst/add');
},
backgroundColor: kDefaultXpehoColor,
child: const Icon(
Expand Down
9 changes: 2 additions & 7 deletions lib/presentation/pages/qvst/qvst_content_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/data/entities/qvst/qvst_question_entity.dart';
import 'package:xpeapp_admin/env/extensions/string.dart';

Expand Down Expand Up @@ -36,13 +37,7 @@ class QvstContentPage extends ConsumerWidget {
elevation: 10,
color: Colors.white,
child: ListTile(
onTap: () => Navigator.pushNamed(
context,
'/qvst/detail',
arguments: {
'id': question.id,
},
),
onTap: () => context.push('/qvst/detail/${question.id}'),
title: Text(
question.question.cleanText(),
style: const TextStyle(
Expand Down
3 changes: 2 additions & 1 deletion lib/presentation/pages/qvst/qvst_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:xpeapp_admin/data/colors.dart';
import 'package:xpeapp_admin/data/enum/qvst_menu.dart';
import 'package:xpeapp_admin/presentation/pages/qvst/content/qvst_content_campaign.dart';
Expand Down Expand Up @@ -38,7 +39,7 @@ class _QvstPageState extends ConsumerState<QvstPage> {
Align(
alignment: Alignment.topLeft,
child: IconButton(
onPressed: () => Navigator.pop(context),
onPressed: () => context.pop(),
icon: const Icon(
Icons.home,
color: Colors.white,
Expand Down
7 changes: 2 additions & 5 deletions lib/presentation/widgets/newsletter_card.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:intl/intl.dart';
import 'package:xpeapp_admin/data/entities/newsletter_entity.dart';

Expand All @@ -13,11 +14,7 @@ class NewsletterCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () => Navigator.pushNamed(
context,
'/newsletter/detail',
arguments: newsletter.id,
),
onTap: () => context.push('/newsletter/detail/${newsletter.id}'),
child: Container(
margin: const EdgeInsets.symmetric(
horizontal: 20,
Expand Down
Loading
Loading