From e8e972787d486cf98d085054bac7ad61f43e1e0b Mon Sep 17 00:00:00 2001 From: aliakrem Date: Fri, 27 Jun 2025 14:26:08 +0100 Subject: [PATCH 1/5] chore: remove comment --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 1aa2d25..778ebdc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ version: 1.1.0+2 environment: sdk: ^3.7.2 - flutter: "3.22.3" # Updated to latest stable version + flutter: "3.22.3" dependencies: flutter: From 7c4c4206cbab17ba281a4d8440dbf5230d3d79e8 Mon Sep 17 00:00:00 2001 From: aliakrem Date: Fri, 27 Jun 2025 14:30:07 +0100 Subject: [PATCH 2/5] feat: allow student to review his discharge --- lib/app.dart | 2 + lib/config/routes/app_router.dart | 8 + lib/core/di/injector.dart | 11 + .../presentation/widgets/dashboard.dart | 7 + .../discharge/data/models/dischage.dart | 36 ++ .../repository/discharge_repository_impl.dart | 36 ++ .../data/services/discharge_api_client.dart | 141 +++++++ .../services/discharge_cache_service.dart | 71 ++++ .../presentation/bloc/discharge_bloc.dart | 93 +++++ .../presentation/pages/discharge_page.dart | 96 +++++ .../presentation/widgets/discharge.dart | 350 ++++++++++++++++++ .../discharge/presentation/widgets/error.dart | 41 ++ lib/l10n/app_ar.arb | 86 ++++- lib/l10n/app_en.arb | 86 ++++- 14 files changed, 1062 insertions(+), 2 deletions(-) create mode 100644 lib/features/discharge/data/models/dischage.dart create mode 100644 lib/features/discharge/data/repository/discharge_repository_impl.dart create mode 100644 lib/features/discharge/data/services/discharge_api_client.dart create mode 100644 lib/features/discharge/data/services/discharge_cache_service.dart create mode 100644 lib/features/discharge/presentation/bloc/discharge_bloc.dart create mode 100644 lib/features/discharge/presentation/pages/discharge_page.dart create mode 100644 lib/features/discharge/presentation/widgets/discharge.dart create mode 100644 lib/features/discharge/presentation/widgets/error.dart diff --git a/lib/app.dart b/lib/app.dart index 9b38317..d5c6036 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -14,6 +14,7 @@ import 'package:progres/features/profile/presentation/bloc/profile_bloc.dart'; import 'package:progres/features/subject/presentation/bloc/subject_bloc.dart'; import 'package:progres/features/timeline/presentation/blocs/timeline_bloc.dart'; import 'package:progres/features/transcript/presentation/bloc/transcript_bloc.dart'; +import 'package:progres/features/discharge/presentation/bloc/discharge_bloc.dart'; import 'package:flutter_gen/gen_l10n/gallery_localizations.dart'; class ProgresApp extends StatelessWidget { @@ -32,6 +33,7 @@ class ProgresApp extends StatelessWidget { BlocProvider(create: (context) => injector()), BlocProvider(create: (context) => injector()), BlocProvider(create: (context) => injector()), + BlocProvider(create: (context) => injector()), ], child: CalendarControllerProvider( controller: EventController(), diff --git a/lib/config/routes/app_router.dart b/lib/config/routes/app_router.dart index 6f3908d..7f3a77e 100644 --- a/lib/config/routes/app_router.dart +++ b/lib/config/routes/app_router.dart @@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:go_router/go_router.dart'; import 'package:progres/features/academics/presentation/pages/academic_performance_page.dart'; import 'package:progres/features/groups/presentation/pages/groups_page.dart'; +import 'package:progres/features/discharge/presentation/pages/discharge_page.dart'; import 'package:progres/features/subject/presentation/pages/subject_page.dart'; import 'package:progres/features/timeline/presentation/pages/timeline_page.dart'; import 'package:progres/features/transcript/presentation/pages/transcript_page.dart'; @@ -27,6 +28,7 @@ class AppRouter { static const String enrollments = 'enrollments'; static const String timeline = 'timeline'; static const String transcripts = 'transcripts'; + static const String discharge = 'discharge'; static const String about = 'about'; // Route paths @@ -41,6 +43,7 @@ class AppRouter { static const String enrollmentsPath = 'enrollments'; static const String timelinePath = 'timeline'; static const String transcriptsPath = 'transcripts'; + static const String dischargePath = 'discharge'; static const String aboutPath = 'about'; late final GoRouter router; @@ -108,6 +111,11 @@ class AppRouter { name: transcripts, builder: (context, state) => const TranscriptPage(), ), + GoRoute( + path: dischargePath, + name: discharge, + builder: (context, state) => const DischargePage(), + ), ], ), GoRoute( diff --git a/lib/core/di/injector.dart b/lib/core/di/injector.dart index fd302e2..62e2184 100644 --- a/lib/core/di/injector.dart +++ b/lib/core/di/injector.dart @@ -24,6 +24,9 @@ import 'package:progres/features/timeline/presentation/blocs/timeline_bloc.dart' import 'package:progres/features/transcript/data/repositories/transcript_repository_impl.dart'; import 'package:progres/features/transcript/data/services/transcript_cache_service.dart'; import 'package:progres/features/transcript/presentation/bloc/transcript_bloc.dart'; +import 'package:progres/features/discharge/data/repository/discharge_repository_impl.dart'; +import 'package:progres/features/discharge/data/services/discharge_cache_service.dart'; +import 'package:progres/features/discharge/presentation/bloc/discharge_bloc.dart'; final injector = GetIt.instance; @@ -53,11 +56,13 @@ Future initDependencies() async { injector.registerLazySingleton( () => AcademicPerformencetRepositoryImpl(apiClient: injector()), ); + injector.registerLazySingleton(() => StudentDischargeRepositoryImpl()); injector.registerLazySingleton(() => TimelineCacheService()); injector.registerLazySingleton(() => EnrollmentCacheService()); injector.registerLazySingleton(() => TranscriptCacheService()); injector.registerLazySingleton(() => GroupsCacheService()); injector.registerLazySingleton(() => SubjectCacheService()); + injector.registerLazySingleton(() => DischargeCacheService()); // Register BLoCs injector.registerFactory(() => ThemeBloc()..add(LoadTheme())); @@ -105,4 +110,10 @@ Future initDependencies() async { cacheService: injector(), ), ); + injector.registerFactory( + () => StudentDischargeBloc( + studentDischargeRepository: injector(), + cacheService: injector(), + ), + ); } diff --git a/lib/features/dashboard/presentation/widgets/dashboard.dart b/lib/features/dashboard/presentation/widgets/dashboard.dart index 97c5e73..9e64a40 100644 --- a/lib/features/dashboard/presentation/widgets/dashboard.dart +++ b/lib/features/dashboard/presentation/widgets/dashboard.dart @@ -136,6 +136,13 @@ Widget buildDashboard(ProfileLoaded state, BuildContext context) { color: AppTheme.AppPrimary, onTap: () => context.goNamed(AppRouter.transcripts), ), + buildGridCard( + context, + title: GalleryLocalizations.of(context)!.myDischarge, + icon: Icons.assignment_turned_in_outlined, + color: AppTheme.AppPrimary, + onTap: () => context.goNamed(AppRouter.discharge), + ), ], ), diff --git a/lib/features/discharge/data/models/dischage.dart b/lib/features/discharge/data/models/dischage.dart new file mode 100644 index 0000000..8a01148 --- /dev/null +++ b/lib/features/discharge/data/models/dischage.dart @@ -0,0 +1,36 @@ +class StudentDischarge { + final bool sitDep; + final bool sitBf; + final bool sitBc; + final bool sitRu; + final bool sitBr; + + StudentDischarge({ + this.sitDep = false, + this.sitBf = false, + this.sitBc = false, + this.sitRu = false, + this.sitBr = false, + }); + + factory StudentDischarge.fromJson(Map json) { + return StudentDischarge( + sitBc: (json['sitBc'] as int?) == 1, + sitBr: + (json['sitBrs'] as int?) == 1, // Note: API uses 'sitBrs' not 'sitBr' + sitDep: (json['sitDep'] as int?) == 1, + sitBf: (json['sitBf'] as int?) == 1, + sitRu: (json['sitRu'] as int?) == 1, + ); + } + + Map toJson() { + return { + 'sitDep': sitDep, + 'sitBf': sitBf, + 'sitBc': sitBc, + 'sitRu': sitRu, + 'sitBr': sitBr, + }; + } +} diff --git a/lib/features/discharge/data/repository/discharge_repository_impl.dart b/lib/features/discharge/data/repository/discharge_repository_impl.dart new file mode 100644 index 0000000..dcf104f --- /dev/null +++ b/lib/features/discharge/data/repository/discharge_repository_impl.dart @@ -0,0 +1,36 @@ +import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:progres/features/discharge/data/services/discharge_api_client.dart'; + +class StudentDischargeRepositoryImpl { + final DischargeApiClient _apiClient; + + StudentDischargeRepositoryImpl({DischargeApiClient? apiClient}) + : _apiClient = apiClient ?? DischargeApiClient(); + + Future getStudentDischarge() async { + try { + final uuid = await _apiClient.getUuid(); + final response = await _apiClient.get('/$uuid/qitus'); + + final List dischargeJson = response.data; + + if (dischargeJson.isEmpty) { + throw DischargeNotRequiredException( + 'Discharge is not required for this student', + ); + } + + return StudentDischarge.fromJson(dischargeJson[0]); + } catch (e) { + rethrow; + } + } +} + +class DischargeNotRequiredException implements Exception { + final String message; + DischargeNotRequiredException(this.message); + + @override + String toString() => message; +} diff --git a/lib/features/discharge/data/services/discharge_api_client.dart b/lib/features/discharge/data/services/discharge_api_client.dart new file mode 100644 index 0000000..c550134 --- /dev/null +++ b/lib/features/discharge/data/services/discharge_api_client.dart @@ -0,0 +1,141 @@ +import 'dart:async'; +import 'package:dio/dio.dart'; +import 'package:flutter_secure_storage/flutter_secure_storage.dart'; +import 'package:connectivity_plus/connectivity_plus.dart'; +import 'package:progres/core/network/cache_manager.dart'; + +class DischargeApiClient { + static const String baseUrl = 'https://quittance.mesrs.dz/api'; + + late final Dio _dio; + final FlutterSecureStorage _secureStorage; + late final CacheManager _cacheManager; + final Duration _shortTimeout = const Duration(seconds: 5); + final Connectivity _connectivity = Connectivity(); + + DischargeApiClient({FlutterSecureStorage? secureStorage}) + : _secureStorage = secureStorage ?? const FlutterSecureStorage() { + _dio = Dio( + BaseOptions( + baseUrl: baseUrl, + connectTimeout: const Duration(seconds: 30), + receiveTimeout: const Duration(seconds: 30), + headers: {'Content-Type': 'application/json'}, + ), + ); + _dio.interceptors.add( + InterceptorsWrapper( + onRequest: (options, handler) async { + final token = await _secureStorage.read(key: 'auth_token'); + if (token != null) { + options.headers['authorization'] = token; + } + return handler.next(options); + }, + onError: (error, handler) { + // Handle errors + return handler.next(error); + }, + ), + ); + CacheManager.getInstance().then((value) => _cacheManager = value); + } + + Future get isConnected async { + final result = await _connectivity.checkConnectivity(); + return result != ConnectivityResult.none; + } + + Future saveToken(String token) async { + await _secureStorage.write(key: 'auth_token', value: token); + } + + Future saveUuid(String uuid) async { + await _secureStorage.write(key: 'uuid', value: uuid); + } + + Future saveEtablissementId(String etablissementId) async { + await _secureStorage.write(key: 'etablissement_id', value: etablissementId); + } + + Future getUuid() async { + return await _secureStorage.read(key: 'uuid'); + } + + Future getEtablissementId() async { + return await _secureStorage.read(key: 'etablissement_id'); + } + + Future isLoggedIn() async { + final token = await _secureStorage.read(key: 'auth_token'); + return token != null; + } + + // Generate a cache key string based on path and query parameters + String _cacheKey(String path, Map? queryParameters) { + final queryStr = + queryParameters != null + ? Uri(queryParameters: queryParameters).query + : ''; + return '$path?$queryStr'; + } + + Future get( + String path, { + Map? queryParameters, + }) async { + final key = _cacheKey(path, queryParameters); + + if (!await isConnected) { + // offline - use cached data if available + final cachedData = _cacheManager.getCache(key); + if (cachedData != null) { + return Response( + requestOptions: RequestOptions(path: path), + data: cachedData, + statusCode: 200, + ); + } else { + // No cache, throw offline error + throw DioException( + requestOptions: RequestOptions(path: path), + error: 'No internet connection and no cached data', + ); + } + } + + try { + // Try to get fresh data with a short timeout for fast fallback on slow responses + final response = await _dio.get( + path, + queryParameters: queryParameters, + options: Options( + sendTimeout: _shortTimeout, + receiveTimeout: _shortTimeout, + ), + ); + await _cacheManager.saveCache(key, response.data); + return response; + } catch (e) { + // On failure, return cached data if available + final cachedData = _cacheManager.getCache(key); + if (cachedData != null) { + return Response( + requestOptions: RequestOptions(path: path), + data: cachedData, + statusCode: 200, + ); + } + rethrow; + } + } + + Future post(String path, {dynamic data}) async { + try { + final response = await _dio.post(path, data: data); + return response; + } catch (e) { + rethrow; + } + } +} diff --git a/lib/features/discharge/data/services/discharge_cache_service.dart b/lib/features/discharge/data/services/discharge_cache_service.dart new file mode 100644 index 0000000..ed4ef91 --- /dev/null +++ b/lib/features/discharge/data/services/discharge_cache_service.dart @@ -0,0 +1,71 @@ +import 'dart:convert'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:progres/features/discharge/data/models/dischage.dart'; + +class DischargeCacheService { + // Keys for SharedPreferences + static const String _dischargeKey = 'cached_discharge'; + static const String _lastUpdatedKeyPrefix = 'last_updated_'; + + // Save discharge to cache + Future cacheDischarge(StudentDischarge discharge) async { + try { + final prefs = await SharedPreferences.getInstance(); + final dischargeJson = discharge.toJson(); + await prefs.setString(_dischargeKey, jsonEncode(dischargeJson)); + await prefs.setString( + '${_lastUpdatedKeyPrefix}discharge', + DateTime.now().toIso8601String(), + ); + return true; + } catch (e) { + print('Error caching discharge: $e'); + return false; + } + } + + // Retrieve discharge from cache + Future getCachedDischarge() async { + try { + final prefs = await SharedPreferences.getInstance(); + final dischargeString = prefs.getString(_dischargeKey); + + if (dischargeString == null) return null; + + final Map decodedJson = jsonDecode(dischargeString); + return StudentDischarge.fromJson(decodedJson); + } catch (e) { + print('Error retrieving cached discharge: $e'); + return null; + } + } + + // Get last update timestamp for discharge data + Future getLastUpdated() async { + try { + final prefs = await SharedPreferences.getInstance(); + const key = '${_lastUpdatedKeyPrefix}discharge'; + + final timestamp = prefs.getString(key); + if (timestamp == null) return null; + + return DateTime.parse(timestamp); + } catch (e) { + print('Error getting last updated time: $e'); + return null; + } + } + + // Clear discharge cache + Future clearCache() async { + try { + final prefs = await SharedPreferences.getInstance(); + await prefs.remove(_dischargeKey); + await prefs.remove('${_lastUpdatedKeyPrefix}discharge'); + return true; + } catch (e) { + print('Error clearing discharge cache: $e'); + return false; + } + } +} diff --git a/lib/features/discharge/presentation/bloc/discharge_bloc.dart b/lib/features/discharge/presentation/bloc/discharge_bloc.dart new file mode 100644 index 0000000..9c70b30 --- /dev/null +++ b/lib/features/discharge/presentation/bloc/discharge_bloc.dart @@ -0,0 +1,93 @@ +import 'dart:async'; +import 'package:equatable/equatable.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:progres/features/discharge/data/repository/discharge_repository_impl.dart'; +import 'package:progres/features/discharge/data/services/discharge_cache_service.dart'; + +class StudentDischargeEvent extends Equatable { + @override + List get props => []; +} + +class LoadStudentDischarge extends StudentDischargeEvent {} + +class ClearDischargeCache extends StudentDischargeEvent {} + +class StudentDischargeState extends Equatable { + @override + List get props => []; +} + +class StudentDischargeInitial extends StudentDischargeState {} + +class StudentDischargeLoading extends StudentDischargeState {} + +class StudentDischargeLoaded extends StudentDischargeState { + final StudentDischarge studentDischarge; + + StudentDischargeLoaded({required this.studentDischarge}); + + @override + List get props => [studentDischarge]; +} + +class StudentDischargeNotRequired extends StudentDischargeState {} + +class StudentDischargeError extends StudentDischargeState { + final String message; + + StudentDischargeError(this.message); + + @override + List get props => [message]; +} + +class StudentDischargeBloc + extends Bloc { + final StudentDischargeRepositoryImpl studentDischargeRepository; + final DischargeCacheService cacheService; + + StudentDischargeBloc({ + required this.studentDischargeRepository, + required this.cacheService, + }) : super(StudentDischargeInitial()) { + on(_onLoadStudentDischarge); + on(_onClearCache); + } + + Future _onLoadStudentDischarge( + LoadStudentDischarge event, + Emitter emit, + ) async { + emit(StudentDischargeLoading()); + try { + final cachedDischarge = await cacheService.getCachedDischarge(); + + if (cachedDischarge != null) { + emit(StudentDischargeLoaded(studentDischarge: cachedDischarge)); + return; + } + + // If cache is stale or empty, fetch from API + final studentDischarge = + await studentDischargeRepository.getStudentDischarge(); + + // Cache the results + await cacheService.cacheDischarge(studentDischarge); + + emit(StudentDischargeLoaded(studentDischarge: studentDischarge)); + } on DischargeNotRequiredException { + emit(StudentDischargeNotRequired()); + } catch (e) { + emit(StudentDischargeError(e.toString())); + } + } + + Future _onClearCache( + ClearDischargeCache event, + Emitter emit, + ) async { + await cacheService.clearCache(); + } +} diff --git a/lib/features/discharge/presentation/pages/discharge_page.dart b/lib/features/discharge/presentation/pages/discharge_page.dart new file mode 100644 index 0000000..85a5e0e --- /dev/null +++ b/lib/features/discharge/presentation/pages/discharge_page.dart @@ -0,0 +1,96 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:progres/features/discharge/presentation/bloc/discharge_bloc.dart'; +import 'package:progres/features/discharge/presentation/widgets/error.dart'; +import 'package:progres/features/discharge/presentation/widgets/discharge.dart'; +import 'package:flutter_gen/gen_l10n/gallery_localizations.dart'; + +class DischargePage extends StatefulWidget { + const DischargePage({super.key}); + + @override + State createState() => _DischargePageState(); +} + +class _DischargePageState extends State { + @override + void initState() { + super.initState(); + _loadDischarge(); + } + + void _loadDischarge() { + context.read().add(LoadStudentDischarge()); + } + + Future _refreshDischarge() async { + // Clear cache and reload from API + context.read().add(ClearDischargeCache()); + context.read().add(LoadStudentDischarge()); + // Simulating network delay for better UX + return Future.delayed(const Duration(milliseconds: 500)); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text(GalleryLocalizations.of(context)!.myDischarge), + actions: [ + IconButton( + icon: const Icon(Icons.refresh), + onPressed: _refreshDischarge, + tooltip: GalleryLocalizations.of(context)!.refreshDischarge, + ), + ], + ), + body: BlocBuilder( + builder: (context, state) { + if (state is StudentDischargeLoading) { + return _buildLoadingState(); + } else if (state is StudentDischargeError) { + return ErrorState(state: state); + } else if (state is StudentDischargeLoaded) { + return RefreshIndicator( + onRefresh: _refreshDischarge, + child: DischargeContent(discharge: state.studentDischarge), + ); + } else if (state is StudentDischargeNotRequired) { + return RefreshIndicator( + onRefresh: _refreshDischarge, + child: const DischargeNotRequired(), + ); + } else { + return _buildInitialState(); + } + }, + ), + ); + } + + Widget _buildInitialState() { + final screenSize = MediaQuery.of(context).size; + final isSmallScreen = screenSize.width < 360; + + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + GalleryLocalizations.of(context)!.noDischargeData, + style: TextStyle(fontSize: isSmallScreen ? 14 : 16), + ), + const SizedBox(height: 16), + ElevatedButton( + onPressed: _loadDischarge, + child: Text(GalleryLocalizations.of(context)!.loadDischarge), + ), + ], + ), + ); + } + + Widget _buildLoadingState() { + return const Center(child: CircularProgressIndicator()); + } +} diff --git a/lib/features/discharge/presentation/widgets/discharge.dart b/lib/features/discharge/presentation/widgets/discharge.dart new file mode 100644 index 0000000..c7a7008 --- /dev/null +++ b/lib/features/discharge/presentation/widgets/discharge.dart @@ -0,0 +1,350 @@ +import 'package:flutter/material.dart'; +import 'package:progres/config/theme/app_theme.dart'; +import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:flutter_gen/gen_l10n/gallery_localizations.dart'; + +class DischargeContent extends StatelessWidget { + final StudentDischarge discharge; + const DischargeContent({super.key, required this.discharge}); + + @override + Widget build(BuildContext context) { + final screenSize = MediaQuery.of(context).size; + final isSmallScreen = screenSize.width < 360; + final horizontalPadding = isSmallScreen ? 12.0 : 16.0; + + return SingleChildScrollView( + padding: EdgeInsets.all(horizontalPadding), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildHeaderSection(context, isSmallScreen), + SizedBox(height: isSmallScreen ? 16 : 20), + _buildDischargeCards(context, isSmallScreen), + ], + ), + ); + } + + Widget _buildHeaderSection(BuildContext context, bool isSmallScreen) { + final theme = Theme.of(context); + return Container( + width: double.infinity, + padding: EdgeInsets.symmetric( + horizontal: isSmallScreen ? 12 : 16, + vertical: isSmallScreen ? 12 : 16, + ), + decoration: BoxDecoration( + color: AppTheme.AppPrimary.withValues(alpha: 0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: isSmallScreen ? 32 : 36, + height: isSmallScreen ? 32 : 36, + decoration: BoxDecoration( + color: AppTheme.AppPrimary.withValues(alpha: 0.2), + borderRadius: BorderRadius.circular(10), + ), + child: Icon( + Icons.assignment_turned_in_outlined, + color: AppTheme.AppPrimary, + size: isSmallScreen ? 18 : 20, + ), + ), + SizedBox(width: isSmallScreen ? 10 : 12), + Expanded( + child: Text( + GalleryLocalizations.of(context)!.dischargeStatus, + style: theme.textTheme.titleLarge?.copyWith( + fontWeight: FontWeight.bold, + color: AppTheme.AppPrimary, + fontSize: isSmallScreen ? 16 : 18, + ), + ), + ), + ], + ), + SizedBox(height: isSmallScreen ? 6 : 8), + Text( + GalleryLocalizations.of(context)!.dischargeStatusDescription, + style: TextStyle( + fontSize: isSmallScreen ? 12 : 14, + color: + theme.brightness == Brightness.light + ? Colors.grey.shade700 + : Colors.grey.shade300, + ), + ), + ], + ), + ); + } + + Widget _buildDischargeCards(BuildContext context, bool isSmallScreen) { + return Column( + children: [ + DischargeCard( + title: GalleryLocalizations.of(context)!.departmentLevel, + description: GalleryLocalizations.of(context)!.departmentDescription, + isCleared: discharge.sitDep, + icon: Icons.domain_outlined, + isSmallScreen: isSmallScreen, + ), + SizedBox(height: isSmallScreen ? 10 : 12), + DischargeCard( + title: GalleryLocalizations.of(context)!.facultyLibraryLevel, + description: + GalleryLocalizations.of(context)!.facultyLibraryDescription, + isCleared: discharge.sitBf, + icon: Icons.local_library_outlined, + isSmallScreen: isSmallScreen, + ), + SizedBox(height: isSmallScreen ? 10 : 12), + DischargeCard( + title: GalleryLocalizations.of(context)!.centralLibraryLevel, + description: + GalleryLocalizations.of(context)!.centralLibraryDescription, + isCleared: discharge.sitBc, + icon: Icons.library_books_outlined, + isSmallScreen: isSmallScreen, + ), + SizedBox(height: isSmallScreen ? 10 : 12), + DischargeCard( + title: GalleryLocalizations.of(context)!.residenceLevel, + description: GalleryLocalizations.of(context)!.residenceDescription, + isCleared: discharge.sitRu, + icon: Icons.home_outlined, + isSmallScreen: isSmallScreen, + ), + SizedBox(height: isSmallScreen ? 10 : 12), + DischargeCard( + title: GalleryLocalizations.of(context)!.scholarshipServiceLevel, + description: + GalleryLocalizations.of(context)!.scholarshipServiceDescription, + isCleared: discharge.sitBr, + icon: Icons.school_outlined, + isSmallScreen: isSmallScreen, + ), + ], + ); + } +} + +class DischargeCard extends StatelessWidget { + final String title; + final String description; + final bool isCleared; + final IconData icon; + final bool isSmallScreen; + + const DischargeCard({ + super.key, + required this.title, + required this.description, + required this.isCleared, + required this.icon, + required this.isSmallScreen, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final statusColor = isCleared ? Colors.green : Colors.orange; + final statusIcon = isCleared ? Icons.check_circle : Icons.pending; + + return Card( + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + side: BorderSide( + color: + theme.brightness == Brightness.light + ? AppTheme.AppBorder + : Colors.grey.shade800, + ), + ), + child: Padding( + padding: EdgeInsets.all(isSmallScreen ? 14 : 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: isSmallScreen ? 36 : 40, + height: isSmallScreen ? 36 : 40, + decoration: BoxDecoration( + color: statusColor.withValues(alpha: 0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + icon, + color: statusColor, + size: isSmallScreen ? 20 : 24, + ), + ), + SizedBox(width: isSmallScreen ? 12 : 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: theme.textTheme.titleMedium?.copyWith( + fontWeight: FontWeight.bold, + fontSize: isSmallScreen ? 14 : 16, + ), + ), + SizedBox(height: isSmallScreen ? 2 : 4), + Text( + description, + style: TextStyle( + fontSize: isSmallScreen ? 11 : 12, + color: + theme.brightness == Brightness.light + ? Colors.grey.shade600 + : Colors.grey.shade400, + ), + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric( + horizontal: isSmallScreen ? 8 : 10, + vertical: isSmallScreen ? 4 : 6, + ), + decoration: BoxDecoration( + color: statusColor.withValues(alpha: 0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + statusIcon, + size: isSmallScreen ? 14 : 16, + color: statusColor, + ), + SizedBox(width: isSmallScreen ? 4 : 6), + Text( + isCleared + ? GalleryLocalizations.of(context)!.cleared + : GalleryLocalizations.of(context)!.pending, + style: TextStyle( + fontSize: isSmallScreen ? 10 : 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ); + } +} + +class EmptyDischarge extends StatelessWidget { + const EmptyDischarge({super.key}); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final screenSize = MediaQuery.of(context).size; + final isSmallScreen = screenSize.width < 360; + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.assignment_outlined, + size: isSmallScreen ? 56 : 64, + color: theme.disabledColor, + ), + const SizedBox(height: 16), + Text( + GalleryLocalizations.of(context)!.noDischargeData, + style: theme.textTheme.titleLarge?.copyWith( + fontSize: isSmallScreen ? 18 : 20, + ), + ), + const SizedBox(height: 8), + Text( + GalleryLocalizations.of(context)!.dischargeNotAvailable, + textAlign: TextAlign.center, + style: TextStyle( + color: theme.textTheme.bodyMedium?.color?.withValues(alpha: 0.7), + fontSize: isSmallScreen ? 14 : 16, + ), + ), + ], + ), + ); + } +} + +class DischargeNotRequired extends StatelessWidget { + const DischargeNotRequired({super.key}); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + final screenSize = MediaQuery.of(context).size; + final isSmallScreen = screenSize.width < 360; + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + width: isSmallScreen ? 80 : 96, + height: isSmallScreen ? 80 : 96, + decoration: BoxDecoration( + color: Colors.green.withValues(alpha: 0.1), + shape: BoxShape.circle, + ), + child: Icon( + Icons.check_circle_outline, + size: isSmallScreen ? 48 : 56, + color: Colors.green, + ), + ), + const SizedBox(height: 24), + Text( + GalleryLocalizations.of(context)!.dischargeNotRequiredTitle, + style: theme.textTheme.titleLarge?.copyWith( + fontSize: isSmallScreen ? 18 : 20, + fontWeight: FontWeight.bold, + color: Colors.green, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 12), + Padding( + padding: EdgeInsets.symmetric(horizontal: isSmallScreen ? 24 : 32), + child: Text( + GalleryLocalizations.of(context)!.dischargeNotRequiredDescription, + textAlign: TextAlign.center, + style: TextStyle( + color: theme.textTheme.bodyMedium?.color?.withValues( + alpha: 0.7, + ), + fontSize: isSmallScreen ? 14 : 16, + height: 1.5, + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/features/discharge/presentation/widgets/error.dart b/lib/features/discharge/presentation/widgets/error.dart new file mode 100644 index 0000000..5b762b9 --- /dev/null +++ b/lib/features/discharge/presentation/widgets/error.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:progres/features/discharge/presentation/bloc/discharge_bloc.dart'; +import 'package:flutter_gen/gen_l10n/gallery_localizations.dart'; + +class ErrorState extends StatelessWidget { + final StudentDischargeError state; + + const ErrorState({super.key, required this.state}); + + @override + Widget build(BuildContext context) { + final screenSize = MediaQuery.of(context).size; + + final isSmallScreen = screenSize.width < 360; + return Center( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: isSmallScreen ? 16.0 : 24.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + GalleryLocalizations.of(context)!.somthingWentWrong, + textAlign: TextAlign.center, + style: TextStyle(fontSize: isSmallScreen ? 14 : 16), + ), + const SizedBox(height: 16), + ElevatedButton( + onPressed: () { + context.read().add( + LoadStudentDischarge(), + ); + }, + child: Text(GalleryLocalizations.of(context)!.retry), + ), + ], + ), + ), + ); + } +} diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 3dcfd28..3470cee 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -552,5 +552,89 @@ "viewonGitHub": "عرض على github", "@viewonGitHub": { "description": "رابط إلى github" + }, + "myDischarge": "براءة الذمة", + "@myDischarge": { + "description": "عنوان صفحة براءة الذمة" + }, + "refreshDischarge": "تحديث براءة الذمة", + "@refreshDischarge": { + "description": "تلميح لزر تحديث براءة الذمة" + }, + "loadDischarge": "تحميل براءة الذمة", + "@loadDischarge": { + "description": "نص زر تحميل براءة الذمة" + }, + "noDischargeData": "لا توجد بيانات براءة ذمة متاحة", + "@noDischargeData": { + "description": "رسالة تظهر عندما لا تتوفر بيانات براءة الذمة" + }, + "dischargeNotAvailable": "معلومات براءة الذمة غير متاحة في الوقت الحالي.", + "@dischargeNotAvailable": { + "description": "وصف يظهر عندما لا تتوفر بيانات براءة الذمة" + }, + "dischargeStatus": "حالة براءة الذمة", + "@dischargeStatus": { + "description": "عنوان قسم حالة براءة الذمة" + }, + "dischargeStatusDescription": "حالة براءة الذمة الحالية عبر جميع خدمات الجامعة", + "@dischargeStatusDescription": { + "description": "وصف قسم حالة براءة الذمة" + }, + "departmentLevel": "مستوى القسم", + "@departmentLevel": { + "description": "عنوان براءة الذمة على مستوى القسم" + }, + "departmentDescription": "تسوية القسم الأكاديمي", + "@departmentDescription": { + "description": "وصف براءة الذمة على مستوى القسم" + }, + "facultyLibraryLevel": "مستوى مكتبة الكلية", + "@facultyLibraryLevel": { + "description": "عنوان براءة الذمة على مستوى مكتبة الكلية" + }, + "facultyLibraryDescription": "تسوية كتب ومواد مكتبة الكلية", + "@facultyLibraryDescription": { + "description": "وصف براءة الذمة على مستوى مكتبة الكلية" + }, + "centralLibraryLevel": "مستوى المكتبة المركزية", + "@centralLibraryLevel": { + "description": "عنوان براءة الذمة على مستوى المكتبة المركزية" + }, + "centralLibraryDescription": "تسوية كتب ومواد المكتبة المركزية", + "@centralLibraryDescription": { + "description": "وصف براءة الذمة على مستوى المكتبة المركزية" + }, + "residenceLevel": "مستوى الإقامة", + "@residenceLevel": { + "description": "عنوان براءة الذمة على مستوى الإقامة" + }, + "residenceDescription": "تسوية سكن الإقامة الجامعية", + "@residenceDescription": { + "description": "وصف براءة الذمة على مستوى الإقامة" + }, + "scholarshipServiceLevel": "مستوى خدمة المنح الدراسية", + "@scholarshipServiceLevel": { + "description": "عنوان براءة الذمة على مستوى خدمة المنح الدراسية" + }, + "scholarshipServiceDescription": "تسوية المنح الدراسية والمساعدات المالية", + "@scholarshipServiceDescription": { + "description": "وصف براءة الذمة على مستوى خدمة المنح الدراسية" + }, + "cleared": "مسوى", + "@cleared": { + "description": "حالة عندما تكون براءة الذمة مسواة" + }, + "pending": "في الانتظار", + "@pending": { + "description": "حالة عندما تكون براءة الذمة في الانتظار" + }, + "dischargeNotRequiredTitle": "لا تحتاج براءة ذمة", + "@dischargeNotRequiredTitle": { + "description": "عنوان عندما لا تكون براءة الذمة مطلوبة للطالب" + }, + "dischargeNotRequiredDescription": "لست مطالباً بإكمال أي إجراءات براءة ذمة في الوقت الحالي. وضعك الأكاديمي لا يتطلب تسوية من خدمات الجامعة.", + "@dischargeNotRequiredDescription": { + "description": "وصف عندما لا تكون براءة الذمة مطلوبة للطالب" } -} \ No newline at end of file +} diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 50131dc..99cd67a 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -533,5 +533,89 @@ "viewonGitHub": "View on GitHub", "@viewonGitHub": { "description": "link to github" + }, + "myDischarge": "My Discharge", + "@myDischarge": { + "description": "Title for discharge page" + }, + "refreshDischarge": "Refresh discharge", + "@refreshDischarge": { + "description": "Tooltip for refresh discharge button" + }, + "loadDischarge": "Load Discharge", + "@loadDischarge": { + "description": "Button text to load discharge" + }, + "noDischargeData": "No discharge data available", + "@noDischargeData": { + "description": "Message shown when no discharge data is available" + }, + "dischargeNotAvailable": "Discharge information is not available at this time.", + "@dischargeNotAvailable": { + "description": "Description shown when discharge data is not available" + }, + "dischargeStatus": "Discharge Status", + "@dischargeStatus": { + "description": "Title for discharge status section" + }, + "dischargeStatusDescription": "Your current discharge status across all university services", + "@dischargeStatusDescription": { + "description": "Description for discharge status section" + }, + "departmentLevel": "Department Level", + "@departmentLevel": { + "description": "Title for department level discharge" + }, + "departmentDescription": "Academic department clearance", + "@departmentDescription": { + "description": "Description for department level discharge" + }, + "facultyLibraryLevel": "Faculty Library Level", + "@facultyLibraryLevel": { + "description": "Title for faculty library level discharge" + }, + "facultyLibraryDescription": "Faculty library books and materials clearance", + "@facultyLibraryDescription": { + "description": "Description for faculty library level discharge" + }, + "centralLibraryLevel": "Central Library Level", + "@centralLibraryLevel": { + "description": "Title for central library level discharge" + }, + "centralLibraryDescription": "Central library books and materials clearance", + "@centralLibraryDescription": { + "description": "Description for central library level discharge" + }, + "residenceLevel": "Residence Level", + "@residenceLevel": { + "description": "Title for residence level discharge" + }, + "residenceDescription": "University residence accommodation clearance", + "@residenceDescription": { + "description": "Description for residence level discharge" + }, + "scholarshipServiceLevel": "Scholarship Service Level", + "@scholarshipServiceLevel": { + "description": "Title for scholarship service level discharge" + }, + "scholarshipServiceDescription": "Scholarship and financial aid clearance", + "@scholarshipServiceDescription": { + "description": "Description for scholarship service level discharge" + }, + "cleared": "Cleared", + "@cleared": { + "description": "Status when discharge is cleared" + }, + "pending": "Pending", + "@pending": { + "description": "Status when discharge is pending" + }, + "dischargeNotRequiredTitle": "No Discharge Required", + "@dischargeNotRequiredTitle": { + "description": "Title when discharge is not required for the student" + }, + "dischargeNotRequiredDescription": "You are not required to complete any discharge procedures at this time. Your academic status does not require clearance from university services.", + "@dischargeNotRequiredDescription": { + "description": "Description when discharge is not required for the student" } -} \ No newline at end of file +} From cd8c5fed01a706233c51353d8b3ee2fe31708107 Mon Sep 17 00:00:00 2001 From: aliakrem Date: Fri, 27 Jun 2025 15:57:24 +0100 Subject: [PATCH 3/5] refactor: initialize cache manager cleanly --- lib/core/network/api_client.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/core/network/api_client.dart b/lib/core/network/api_client.dart index 14ccff7..b22f9e0 100644 --- a/lib/core/network/api_client.dart +++ b/lib/core/network/api_client.dart @@ -37,6 +37,10 @@ class ApiClient { }, ), ); + _initializeCacheManager(); + } + + void _initializeCacheManager() { CacheManager.getInstance().then((value) => _cacheManager = value); } From 74fb4c3d079720ab35b593fef110b45f18ecb425 Mon Sep 17 00:00:00 2001 From: aliakrem Date: Fri, 27 Jun 2025 16:00:56 +0100 Subject: [PATCH 4/5] fix: remove discharge cache --- lib/core/di/injector.dart | 7 +- .../services/academics_cache_service.dart | 9 +-- .../auth/presentation/bloc/auth_bloc.dart | 12 ++-- .../models/{dischage.dart => discharge.dart} | 9 ++- .../repository/discharge_repository_impl.dart | 2 +- .../services/discharge_cache_service.dart | 71 ------------------- .../presentation/bloc/discharge_bloc.dart | 32 ++------- .../presentation/pages/discharge_page.dart | 3 +- .../presentation/widgets/discharge.dart | 4 +- .../services/enrollment_cache_service.dart | 9 +-- .../presentation/bloc/enrollment_bloc.dart | 3 +- .../data/services/groups_cache_service.dart | 9 +-- .../data/services/profile_cache_service.dart | 9 +-- .../data/services/subject_cache_service.dart | 11 +-- .../presentation/bloc/subject_bloc.dart | 3 +- .../timeline/data/models/course_session.dart | 2 +- .../data/services/timeline_cache_service.dart | 9 +-- .../services/transcript_cache_service.dart | 13 ++-- .../presentation/bloc/transcript_bloc.dart | 11 +-- 19 files changed, 68 insertions(+), 160 deletions(-) rename lib/features/discharge/data/models/{dischage.dart => discharge.dart} (80%) delete mode 100644 lib/features/discharge/data/services/discharge_cache_service.dart diff --git a/lib/core/di/injector.dart b/lib/core/di/injector.dart index 62e2184..2636e28 100644 --- a/lib/core/di/injector.dart +++ b/lib/core/di/injector.dart @@ -25,7 +25,6 @@ import 'package:progres/features/transcript/data/repositories/transcript_reposit import 'package:progres/features/transcript/data/services/transcript_cache_service.dart'; import 'package:progres/features/transcript/presentation/bloc/transcript_bloc.dart'; import 'package:progres/features/discharge/data/repository/discharge_repository_impl.dart'; -import 'package:progres/features/discharge/data/services/discharge_cache_service.dart'; import 'package:progres/features/discharge/presentation/bloc/discharge_bloc.dart'; final injector = GetIt.instance; @@ -62,7 +61,6 @@ Future initDependencies() async { injector.registerLazySingleton(() => TranscriptCacheService()); injector.registerLazySingleton(() => GroupsCacheService()); injector.registerLazySingleton(() => SubjectCacheService()); - injector.registerLazySingleton(() => DischargeCacheService()); // Register BLoCs injector.registerFactory(() => ThemeBloc()..add(LoadTheme())); @@ -111,9 +109,6 @@ Future initDependencies() async { ), ); injector.registerFactory( - () => StudentDischargeBloc( - studentDischargeRepository: injector(), - cacheService: injector(), - ), + () => StudentDischargeBloc(studentDischargeRepository: injector()), ); } diff --git a/lib/features/academics/data/services/academics_cache_service.dart b/lib/features/academics/data/services/academics_cache_service.dart index 5ff769e..b787c45 100644 --- a/lib/features/academics/data/services/academics_cache_service.dart +++ b/lib/features/academics/data/services/academics_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; class AcademicsCacheService { @@ -20,7 +21,7 @@ class AcademicsCacheService { ); return true; } catch (e) { - print('Error caching academics data: $e'); + debugPrint('Error caching academics data: $e'); return false; } } @@ -35,7 +36,7 @@ class AcademicsCacheService { return jsonDecode(dataString) as List; } catch (e) { - print('Error retrieving cached academics data: $e'); + debugPrint('Error retrieving cached academics data: $e'); return null; } } @@ -51,7 +52,7 @@ class AcademicsCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -70,7 +71,7 @@ class AcademicsCacheService { } return true; } catch (e) { - print('Error clearing academics cache: $e'); + debugPrint('Error clearing academics cache: $e'); return false; } } diff --git a/lib/features/auth/presentation/bloc/auth_bloc.dart b/lib/features/auth/presentation/bloc/auth_bloc.dart index 3c2f935..a2d0e72 100644 --- a/lib/features/auth/presentation/bloc/auth_bloc.dart +++ b/lib/features/auth/presentation/bloc/auth_bloc.dart @@ -81,35 +81,35 @@ class AuthBloc extends Bloc { try { event.context?.read().add(const ClearTranscriptCache()); } catch (e) { - print('Note: Could not clear transcript cache. ${e.toString()}'); + debugPrint('Note: Could not clear transcript cache. ${e.toString()}'); } try { event.context?.read().add(ClearTimelineCache()); } catch (e) { - print('Note: Could not clear timeline cache. ${e.toString()}'); + debugPrint('Note: Could not clear timeline cache. ${e.toString()}'); } try { event.context?.read().add(ClearEnrollmentsCache()); } catch (e) { - print('Note: Could not clear enrollment cache. ${e.toString()}'); + debugPrint('Note: Could not clear enrollment cache. ${e.toString()}'); } try { event.context?.read().add(ClearGroupsCache()); } catch (e) { - print('Note: Could not clear groups cache. ${e.toString()}'); + debugPrint('Note: Could not clear groups cache. ${e.toString()}'); } try { event.context?.read().add(ClearSubjectCache()); } catch (e) { - print('Note: Could not clear subject cache. ${e.toString()}'); + debugPrint('Note: Could not clear subject cache. ${e.toString()}'); } try { event.context?.read().add(ClearProfileCacheEvent()); } catch (e) { - print('Note: Could not clear profile cache. ${e.toString()}'); + debugPrint('Note: Could not clear profile cache. ${e.toString()}'); } emit(AuthLoggedOut()); diff --git a/lib/features/discharge/data/models/dischage.dart b/lib/features/discharge/data/models/discharge.dart similarity index 80% rename from lib/features/discharge/data/models/dischage.dart rename to lib/features/discharge/data/models/discharge.dart index 8a01148..7c887ef 100644 --- a/lib/features/discharge/data/models/dischage.dart +++ b/lib/features/discharge/data/models/discharge.dart @@ -3,21 +3,20 @@ class StudentDischarge { final bool sitBf; final bool sitBc; final bool sitRu; - final bool sitBr; + final bool sitBrs; StudentDischarge({ this.sitDep = false, this.sitBf = false, this.sitBc = false, this.sitRu = false, - this.sitBr = false, + this.sitBrs = false, }); factory StudentDischarge.fromJson(Map json) { return StudentDischarge( sitBc: (json['sitBc'] as int?) == 1, - sitBr: - (json['sitBrs'] as int?) == 1, // Note: API uses 'sitBrs' not 'sitBr' + sitBrs: (json['sitBrs'] as int?) == 1, sitDep: (json['sitDep'] as int?) == 1, sitBf: (json['sitBf'] as int?) == 1, sitRu: (json['sitRu'] as int?) == 1, @@ -30,7 +29,7 @@ class StudentDischarge { 'sitBf': sitBf, 'sitBc': sitBc, 'sitRu': sitRu, - 'sitBr': sitBr, + 'sitBrs': sitBrs, }; } } diff --git a/lib/features/discharge/data/repository/discharge_repository_impl.dart b/lib/features/discharge/data/repository/discharge_repository_impl.dart index dcf104f..1ba3051 100644 --- a/lib/features/discharge/data/repository/discharge_repository_impl.dart +++ b/lib/features/discharge/data/repository/discharge_repository_impl.dart @@ -1,4 +1,4 @@ -import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:progres/features/discharge/data/models/discharge.dart'; import 'package:progres/features/discharge/data/services/discharge_api_client.dart'; class StudentDischargeRepositoryImpl { diff --git a/lib/features/discharge/data/services/discharge_cache_service.dart b/lib/features/discharge/data/services/discharge_cache_service.dart deleted file mode 100644 index ed4ef91..0000000 --- a/lib/features/discharge/data/services/discharge_cache_service.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'dart:convert'; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:progres/features/discharge/data/models/dischage.dart'; - -class DischargeCacheService { - // Keys for SharedPreferences - static const String _dischargeKey = 'cached_discharge'; - static const String _lastUpdatedKeyPrefix = 'last_updated_'; - - // Save discharge to cache - Future cacheDischarge(StudentDischarge discharge) async { - try { - final prefs = await SharedPreferences.getInstance(); - final dischargeJson = discharge.toJson(); - await prefs.setString(_dischargeKey, jsonEncode(dischargeJson)); - await prefs.setString( - '${_lastUpdatedKeyPrefix}discharge', - DateTime.now().toIso8601String(), - ); - return true; - } catch (e) { - print('Error caching discharge: $e'); - return false; - } - } - - // Retrieve discharge from cache - Future getCachedDischarge() async { - try { - final prefs = await SharedPreferences.getInstance(); - final dischargeString = prefs.getString(_dischargeKey); - - if (dischargeString == null) return null; - - final Map decodedJson = jsonDecode(dischargeString); - return StudentDischarge.fromJson(decodedJson); - } catch (e) { - print('Error retrieving cached discharge: $e'); - return null; - } - } - - // Get last update timestamp for discharge data - Future getLastUpdated() async { - try { - final prefs = await SharedPreferences.getInstance(); - const key = '${_lastUpdatedKeyPrefix}discharge'; - - final timestamp = prefs.getString(key); - if (timestamp == null) return null; - - return DateTime.parse(timestamp); - } catch (e) { - print('Error getting last updated time: $e'); - return null; - } - } - - // Clear discharge cache - Future clearCache() async { - try { - final prefs = await SharedPreferences.getInstance(); - await prefs.remove(_dischargeKey); - await prefs.remove('${_lastUpdatedKeyPrefix}discharge'); - return true; - } catch (e) { - print('Error clearing discharge cache: $e'); - return false; - } - } -} diff --git a/lib/features/discharge/presentation/bloc/discharge_bloc.dart b/lib/features/discharge/presentation/bloc/discharge_bloc.dart index 9c70b30..dd4f141 100644 --- a/lib/features/discharge/presentation/bloc/discharge_bloc.dart +++ b/lib/features/discharge/presentation/bloc/discharge_bloc.dart @@ -1,9 +1,8 @@ import 'dart:async'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:progres/features/discharge/data/models/discharge.dart'; import 'package:progres/features/discharge/data/repository/discharge_repository_impl.dart'; -import 'package:progres/features/discharge/data/services/discharge_cache_service.dart'; class StudentDischargeEvent extends Equatable { @override @@ -12,8 +11,6 @@ class StudentDischargeEvent extends Equatable { class LoadStudentDischarge extends StudentDischargeEvent {} -class ClearDischargeCache extends StudentDischargeEvent {} - class StudentDischargeState extends Equatable { @override List get props => []; @@ -46,14 +43,10 @@ class StudentDischargeError extends StudentDischargeState { class StudentDischargeBloc extends Bloc { final StudentDischargeRepositoryImpl studentDischargeRepository; - final DischargeCacheService cacheService; - StudentDischargeBloc({ - required this.studentDischargeRepository, - required this.cacheService, - }) : super(StudentDischargeInitial()) { + StudentDischargeBloc({required this.studentDischargeRepository}) + : super(StudentDischargeInitial()) { on(_onLoadStudentDischarge); - on(_onClearCache); } Future _onLoadStudentDischarge( @@ -62,20 +55,10 @@ class StudentDischargeBloc ) async { emit(StudentDischargeLoading()); try { - final cachedDischarge = await cacheService.getCachedDischarge(); - - if (cachedDischarge != null) { - emit(StudentDischargeLoaded(studentDischarge: cachedDischarge)); - return; - } - - // If cache is stale or empty, fetch from API + // Always fetch fresh data from API final studentDischarge = await studentDischargeRepository.getStudentDischarge(); - // Cache the results - await cacheService.cacheDischarge(studentDischarge); - emit(StudentDischargeLoaded(studentDischarge: studentDischarge)); } on DischargeNotRequiredException { emit(StudentDischargeNotRequired()); @@ -83,11 +66,4 @@ class StudentDischargeBloc emit(StudentDischargeError(e.toString())); } } - - Future _onClearCache( - ClearDischargeCache event, - Emitter emit, - ) async { - await cacheService.clearCache(); - } } diff --git a/lib/features/discharge/presentation/pages/discharge_page.dart b/lib/features/discharge/presentation/pages/discharge_page.dart index 85a5e0e..e5f423d 100644 --- a/lib/features/discharge/presentation/pages/discharge_page.dart +++ b/lib/features/discharge/presentation/pages/discharge_page.dart @@ -24,8 +24,7 @@ class _DischargePageState extends State { } Future _refreshDischarge() async { - // Clear cache and reload from API - context.read().add(ClearDischargeCache()); + // Reload fresh data from API context.read().add(LoadStudentDischarge()); // Simulating network delay for better UX return Future.delayed(const Duration(milliseconds: 500)); diff --git a/lib/features/discharge/presentation/widgets/discharge.dart b/lib/features/discharge/presentation/widgets/discharge.dart index c7a7008..16c4ccd 100644 --- a/lib/features/discharge/presentation/widgets/discharge.dart +++ b/lib/features/discharge/presentation/widgets/discharge.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:progres/config/theme/app_theme.dart'; -import 'package:progres/features/discharge/data/models/dischage.dart'; +import 'package:progres/features/discharge/data/models/discharge.dart'; import 'package:flutter_gen/gen_l10n/gallery_localizations.dart'; class DischargeContent extends StatelessWidget { @@ -126,7 +126,7 @@ class DischargeContent extends StatelessWidget { title: GalleryLocalizations.of(context)!.scholarshipServiceLevel, description: GalleryLocalizations.of(context)!.scholarshipServiceDescription, - isCleared: discharge.sitBr, + isCleared: discharge.sitBrs, icon: Icons.school_outlined, isSmallScreen: isSmallScreen, ), diff --git a/lib/features/enrollment/data/services/enrollment_cache_service.dart b/lib/features/enrollment/data/services/enrollment_cache_service.dart index 6069f19..98ba9f4 100644 --- a/lib/features/enrollment/data/services/enrollment_cache_service.dart +++ b/lib/features/enrollment/data/services/enrollment_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:progres/features/enrollment/data/models/enrollment.dart'; @@ -19,7 +20,7 @@ class EnrollmentCacheService { ); return true; } catch (e) { - print('Error caching enrollments: $e'); + debugPrint('Error caching enrollments: $e'); return false; } } @@ -35,7 +36,7 @@ class EnrollmentCacheService { final List decodedJson = jsonDecode(enrollmentsString); return decodedJson.map((json) => Enrollment.fromJson(json)).toList(); } catch (e) { - print('Error retrieving cached enrollments: $e'); + debugPrint('Error retrieving cached enrollments: $e'); return null; } } @@ -51,7 +52,7 @@ class EnrollmentCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -64,7 +65,7 @@ class EnrollmentCacheService { await prefs.remove('${_lastUpdatedKeyPrefix}enrollments'); return true; } catch (e) { - print('Error clearing enrollment cache: $e'); + debugPrint('Error clearing enrollment cache: $e'); return false; } } diff --git a/lib/features/enrollment/presentation/bloc/enrollment_bloc.dart b/lib/features/enrollment/presentation/bloc/enrollment_bloc.dart index ec7deb2..c58f14a 100644 --- a/lib/features/enrollment/presentation/bloc/enrollment_bloc.dart +++ b/lib/features/enrollment/presentation/bloc/enrollment_bloc.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:progres/features/enrollment/data/repositories/enrollment_repository_impl.dart'; import 'package:progres/features/enrollment/data/services/enrollment_cache_service.dart'; @@ -41,7 +42,7 @@ class EnrollmentBloc extends Bloc { emit(EnrollmentsLoaded(enrollments: enrollments, fromCache: false)); } catch (e) { - print('Error loading enrollments: $e'); + debugPrint('Error loading enrollments: $e'); final cachedEnrollments = await cacheService.getCachedEnrollments(); if (cachedEnrollments != null && cachedEnrollments.isNotEmpty) { diff --git a/lib/features/groups/data/services/groups_cache_service.dart b/lib/features/groups/data/services/groups_cache_service.dart index a3327eb..ce2836e 100644 --- a/lib/features/groups/data/services/groups_cache_service.dart +++ b/lib/features/groups/data/services/groups_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:progres/features/groups/data/models/group.dart'; @@ -19,7 +20,7 @@ class GroupsCacheService { ); return true; } catch (e) { - print('Error caching groups: $e'); + debugPrint('Error caching groups: $e'); return false; } } @@ -35,7 +36,7 @@ class GroupsCacheService { final List decodedJson = jsonDecode(groupsString); return decodedJson.map((json) => StudentGroup.fromJson(json)).toList(); } catch (e) { - print('Error retrieving cached groups: $e'); + debugPrint('Error retrieving cached groups: $e'); return null; } } @@ -51,7 +52,7 @@ class GroupsCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -64,7 +65,7 @@ class GroupsCacheService { await prefs.remove('${_lastUpdatedKeyPrefix}groups'); return true; } catch (e) { - print('Error clearing groups cache: $e'); + debugPrint('Error clearing groups cache: $e'); return false; } } diff --git a/lib/features/profile/data/services/profile_cache_service.dart b/lib/features/profile/data/services/profile_cache_service.dart index a8ab523..c471843 100644 --- a/lib/features/profile/data/services/profile_cache_service.dart +++ b/lib/features/profile/data/services/profile_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; class ProfileCacheService { @@ -14,7 +15,7 @@ class ProfileCacheService { await prefs.setString(_lastUpdatedKey, DateTime.now().toIso8601String()); return true; } catch (e) { - print('Error caching profile data: $e'); + debugPrint('Error caching profile data: $e'); return false; } } @@ -29,7 +30,7 @@ class ProfileCacheService { return jsonDecode(profileDataString) as Map; } catch (e) { - print('Error retrieving cached profile data: $e'); + debugPrint('Error retrieving cached profile data: $e'); return null; } } @@ -43,7 +44,7 @@ class ProfileCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -56,7 +57,7 @@ class ProfileCacheService { await prefs.remove(_lastUpdatedKey); return true; } catch (e) { - print('Error clearing profile cache: $e'); + debugPrint('Error clearing profile cache: $e'); return false; } } diff --git a/lib/features/subject/data/services/subject_cache_service.dart b/lib/features/subject/data/services/subject_cache_service.dart index 670e44d..3917a5e 100644 --- a/lib/features/subject/data/services/subject_cache_service.dart +++ b/lib/features/subject/data/services/subject_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:progres/features/subject/data/models/course_coefficient.dart'; @@ -35,7 +36,7 @@ class SubjectCacheService { await prefs.setString(lastUpdatedKey, DateTime.now().toIso8601String()); return true; } catch (e) { - print('Error caching subject coefficients: $e'); + debugPrint('Error caching subject coefficients: $e'); return false; } } @@ -57,7 +58,7 @@ class SubjectCacheService { .map((json) => CourseCoefficient.fromJson(json)) .toList(); } catch (e) { - print('Error retrieving cached subject coefficients: $e'); + debugPrint('Error retrieving cached subject coefficients: $e'); return null; } } @@ -76,7 +77,7 @@ class SubjectCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -98,7 +99,7 @@ class SubjectCacheService { await prefs.remove(lastUpdatedKey); return true; } catch (e) { - print('Error clearing specific subject cache: $e'); + debugPrint('Error clearing specific subject cache: $e'); return false; } } @@ -117,7 +118,7 @@ class SubjectCacheService { } return true; } catch (e) { - print('Error clearing all subject caches: $e'); + debugPrint('Error clearing all subject caches: $e'); return false; } } diff --git a/lib/features/subject/presentation/bloc/subject_bloc.dart b/lib/features/subject/presentation/bloc/subject_bloc.dart index b605161..1b5f03f 100644 --- a/lib/features/subject/presentation/bloc/subject_bloc.dart +++ b/lib/features/subject/presentation/bloc/subject_bloc.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:progres/features/subject/data/repositories/subject_repository_impl.dart'; @@ -121,7 +122,7 @@ class SubjectBloc extends Bloc { await cacheService.clearAllCache(); } } catch (e) { - print('Error clearing subject cache: $e'); + debugPrint('Error clearing subject cache: $e'); } } } diff --git a/lib/features/timeline/data/models/course_session.dart b/lib/features/timeline/data/models/course_session.dart index 8c09d7b..f88e642 100644 --- a/lib/features/timeline/data/models/course_session.dart +++ b/lib/features/timeline/data/models/course_session.dart @@ -113,7 +113,7 @@ class CourseSession { // Print debug info for Sunday specifically if (jourId == 2) { // Sunday - print( + debugPrint( 'SUNDAY EVENT: jourId $jourId ($jourLibelleFr) mapped to ${_formatDate(result)} (weekday: ${result.weekday})', ); } diff --git a/lib/features/timeline/data/services/timeline_cache_service.dart b/lib/features/timeline/data/services/timeline_cache_service.dart index c12af67..a4b9325 100644 --- a/lib/features/timeline/data/services/timeline_cache_service.dart +++ b/lib/features/timeline/data/services/timeline_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; class TimelineCacheService { @@ -23,7 +24,7 @@ class TimelineCacheService { ); return true; } catch (e) { - print('Error caching timeline events: $e'); + debugPrint('Error caching timeline events: $e'); return false; } } @@ -42,7 +43,7 @@ class TimelineCacheService { return jsonDecode(eventsString) as List; } catch (e) { - print('Error retrieving cached timeline events: $e'); + debugPrint('Error retrieving cached timeline events: $e'); return null; } } @@ -58,7 +59,7 @@ class TimelineCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -77,7 +78,7 @@ class TimelineCacheService { } return true; } catch (e) { - print('Error clearing timeline cache: $e'); + debugPrint('Error clearing timeline cache: $e'); return false; } } diff --git a/lib/features/transcript/data/services/transcript_cache_service.dart b/lib/features/transcript/data/services/transcript_cache_service.dart index eb72ec6..c89bc42 100644 --- a/lib/features/transcript/data/services/transcript_cache_service.dart +++ b/lib/features/transcript/data/services/transcript_cache_service.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:progres/features/transcript/data/models/academic_transcript.dart'; import 'package:progres/features/transcript/data/models/annual_transcript_summary.dart'; @@ -27,7 +28,7 @@ class TranscriptCacheService { ); return true; } catch (e) { - print('Error caching transcripts: $e'); + debugPrint('Error caching transcripts: $e'); return false; } } @@ -49,7 +50,7 @@ class TranscriptCacheService { .map((json) => AcademicTranscript.fromJson(json)) .toList(); } catch (e) { - print('Error retrieving cached transcripts: $e'); + debugPrint('Error retrieving cached transcripts: $e'); return null; } } @@ -71,7 +72,7 @@ class TranscriptCacheService { ); return true; } catch (e) { - print('Error caching annual summary: $e'); + debugPrint('Error caching annual summary: $e'); return false; } } @@ -91,7 +92,7 @@ class TranscriptCacheService { final decodedJson = jsonDecode(summaryString); return AnnualTranscriptSummary.fromJson(decodedJson); } catch (e) { - print('Error retrieving cached annual summary: $e'); + debugPrint('Error retrieving cached annual summary: $e'); return null; } } @@ -107,7 +108,7 @@ class TranscriptCacheService { return DateTime.parse(timestamp); } catch (e) { - print('Error getting last updated time: $e'); + debugPrint('Error getting last updated time: $e'); return null; } } @@ -128,7 +129,7 @@ class TranscriptCacheService { } return true; } catch (e) { - print('Error clearing cache: $e'); + debugPrint('Error clearing cache: $e'); return false; } } diff --git a/lib/features/transcript/presentation/bloc/transcript_bloc.dart b/lib/features/transcript/presentation/bloc/transcript_bloc.dart index deefa2e..caa0c3d 100644 --- a/lib/features/transcript/presentation/bloc/transcript_bloc.dart +++ b/lib/features/transcript/presentation/bloc/transcript_bloc.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:progres/features/transcript/data/models/annual_transcript_summary.dart'; import 'package:progres/features/transcript/data/repositories/transcript_repository_impl.dart'; @@ -54,7 +55,7 @@ class TranscriptBloc extends Bloc { emit(EnrollmentsLoaded(enrollments: enrollments, fromCache: false)); } catch (e) { - print('Error loading enrollments: $e'); + debugPrint('Error loading enrollments: $e'); final cachedEnrollments = await enrollmentCacheService.getCachedEnrollments(); @@ -91,7 +92,7 @@ class TranscriptBloc extends Bloc { .getCachedAnnualSummary(event.enrollmentId); if (cachedTranscripts != null && cachedTranscripts.isNotEmpty) { - print( + debugPrint( 'Using cached transcripts and summary for enrollment ID: ${event.enrollmentId}', ); emit( @@ -132,7 +133,7 @@ class TranscriptBloc extends Bloc { annualSummary, ); } catch (e) { - print('Error loading annual summary: $e'); + debugPrint('Error loading annual summary: $e'); // Try to get from cache if network request fails annualSummary = await transcriptCacheService.getCachedAnnualSummary( event.enrollmentId, @@ -148,7 +149,7 @@ class TranscriptBloc extends Bloc { ), ); } catch (e) { - print('Error loading transcripts: $e'); + debugPrint('Error loading transcripts: $e'); // Try to load from cache if network request fails final cachedTranscripts = await transcriptCacheService @@ -222,7 +223,7 @@ class TranscriptBloc extends Bloc { ); } } catch (e) { - print('Error loading annual summary: $e'); + debugPrint('Error loading annual summary: $e'); // Don't change state on error, just log } } From 2116706ea620b765f9398a00f84ed2f30a8afd1d Mon Sep 17 00:00:00 2001 From: aliakrem Date: Fri, 27 Jun 2025 16:01:16 +0100 Subject: [PATCH 5/5] doc: add discharge change docs --- README.md | 3 +++ screenshot/discharge.jpg | Bin 0 -> 177334 bytes 2 files changed, 3 insertions(+) create mode 100644 screenshot/discharge.jpg diff --git a/README.md b/README.md index 4e17b30..da6c668 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ So I decided to rebuild it from scratch, with a better design and offline suppor Assessment Screen Exams Screen Timeline Screen + Discharge Screen

## App Modules @@ -42,6 +43,8 @@ So I decided to rebuild it from scratch, with a better design and offline suppor - **Performance Tracking** - **Academic history** - **Weekly Timeline** + - **Student Discharge** + ## Technical Details diff --git a/screenshot/discharge.jpg b/screenshot/discharge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4aabb4eeaa3264ae9722b1b2384546596d1dde52 GIT binary patch literal 177334 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%0Dl$Y(RSx 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ℑ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 I=wbH10i{IS`v3p{ literal 0 HcmV?d00001