import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:ta_tahsin/view/auth/changePass/ubah_password.dart'; import 'package:ta_tahsin/view/home/latihan/latihan.dart'; import 'package:ta_tahsin/view/home/penilaian/penilaian.dart'; import 'package:ta_tahsin/view/home/profile/edit_profile.dart'; import 'package:ta_tahsin/view/home/progres/progres.dart'; import 'package:ta_tahsin/view/home/quiz/detail_quiz.dart'; import 'package:ta_tahsin/view/home/quiz/hasil_quiz.dart'; import 'package:ta_tahsin/view/pengajar/data_latihan/detail_validasi_pelafalan.dart'; import 'package:ta_tahsin/view/pengajar/data_latihan/hasil_validasi.dart'; import 'package:ta_tahsin/view/pengajar/data_santri/detail_data_santri.dart'; import 'package:ta_tahsin/view/pengajar/data_santri/tambah_santri.dart'; import 'package:ta_tahsin/view/pengajar/kemajuan/detail_kemajuan.dart'; import 'package:ta_tahsin/view/pengajar/profile/edit_profile_pengajar.dart'; import 'package:ta_tahsin/view/pengajar/profile/ubah_password_pengajar.dart'; import '../../view/auth/login/login.dart'; import '../../view/home/latihan/pelafalan_popup.dart'; import '../../view/home/materi/materi.dart'; import '../../view/home/submateri/submateri.dart'; import '../../view/pengajar/data_santri/data_santri.dart'; import '../../view/pengajar/kemajuan/kemajuan.dart'; import '../navigation/navigation.dart'; import '../navigation/navigation_pengajar.dart'; final router = GoRouter( // initialLocation: '/login', routes: [ GoRoute( path: '/', builder: (context, state) => const LoginPage(), ), GoRoute( path: '/navigasi', builder: (context, state) => const NavigationPage(), ), GoRoute( path: '/navigasiPengajar', builder: (context, state) => const NavigationPengajarPage(), ), GoRoute( path: '/materi', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return MateriPage( id: extra['id'], title: extra['title'], description: extra['description'], ); }, ), GoRoute( path: '/submateri', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return SubMateriPage( id: extra['id'], title: extra['title'], description: extra['description'], videoLink: extra['videoLink'], intro: extra['intro'], ); }, ), // Rute untuk halaman Latihan GoRoute( path: '/latihan', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return LatihanPage( id: extra['id'], currentStep: extra['currentStep'] ?? 0, // Menambahkan parameter currentStep ); }, ), // Rute untuk halaman Pelafalan GoRoute( path: '/pelafalan', builder: (context, state) { final Map extra = state.extra as Map; final int currentStep = extra['currentStep']; final List latihanData = extra['latihanData']; final String recordedFilePath = extra['recordedFilePath']; return PelafalanPage( id: extra['id'], currentStep: currentStep, latihanData: latihanData, recordedFilePath: recordedFilePath, ); }, ), GoRoute( path: '/kemajuan', builder: (context, state) { return const KemajuanPage(); // Halaman untuk pengajar }, ), GoRoute( path: '/detail_kemajuan', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; // Mengambil data yang diteruskan (nama dan user_id) final String nama = extra['nama']; final int userId = extra['user_id']; // Mengirimkan data ke halaman DetailKemajuanPage return DetailKemajuanPage( nama: nama, userId: userId, ); }, ), GoRoute( path: '/data_santri', builder: (context, state) { return const DataSantriPage(); // Halaman Data Santri untuk pengajar }, ), GoRoute( path: '/detail_user', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return DetailDataSantriPage( id: extra['id'], ); }, ), GoRoute( path: '/tambah_santri', builder: (context, state) { return TambahSantriPage(); // Halaman Data Santri untuk pengajar }, ), // GoRoute( // path: '/detail_data_latihan', // builder: (BuildContext context, GoRouterState state) { // final Map extra = state.extra as Map; // return DetailDataLatihanPage( // id: extra['id'], // ); // }, // ), GoRoute( path: '/detail_quiz', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return DetailQuizPage( id: extra['id'], title: extra['title'], ); }, ), GoRoute( path: '/hasil_quiz', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return HasilQuizPage( totalScore: extra['totalScore'], title: extra['title'], ); }, ), GoRoute( path: '/progres_belajar', builder: (BuildContext context, GoRouterState state) { return ProgresBelajarPage( ); }, ), GoRoute( path: '/ubah_password', builder: (BuildContext context, GoRouterState state) { return ChangePasswordPage( ); }, ), GoRoute( path: '/ubah_password_pengajar', builder: (BuildContext context, GoRouterState state) { return ChangePasswordPengajarPage( ); }, ), GoRoute( path: '/edit_profile', builder: (BuildContext context, GoRouterState state) { return EditProfile( ); }, ), GoRoute( path: '/edit_profile_pengajar', builder: (BuildContext context, GoRouterState state) { return EditProfilePengajar( ); }, ), GoRoute( path: '/detail_validasi', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return DetailValidasiPelafalan( user_id: extra['user_id'], // nilainya null sub_materi_id: extra['sub_materi_id'], // nilainya null ); }, ), GoRoute( path: '/hasil_validasi', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return HasilValidasiPage( user_id: extra['user_id'], // nilainya null sub_materi_id: extra['sub_materi_id'], // nilainya null ); }, ), GoRoute( path: '/penilaian', builder: (BuildContext context, GoRouterState state) { final Map extra = state.extra as Map; return PenilaianPage( sub_materi_id: extra['sub_materi_id'], ); }, ), ], );