chnages has been made

This commit is contained in:
Daniah Ayad Al-sultani
2026-02-12 14:25:19 +03:00
parent a7930d19e5
commit 08b16df68d
13 changed files with 467 additions and 413 deletions

View File

@@ -17,6 +17,7 @@ import '../../domain/usecases/get_advances_usecase.dart';
import '../../domain/models/vacation_response_model.dart';
// import '../../domain/models/advances_list_response_model.dart';
import '../../domain/models/advance_request_model.dart';
import '../../data/datasources/user_local_data_source.dart';
// import '../../core/error/failures.dart';
class HolidayScreen extends StatefulWidget {
@@ -38,6 +39,7 @@ class _HolidayScreenState extends State<HolidayScreen> {
List<AdvanceRequest> _advanceRequests = [];
bool _isLoadingVacations = false;
bool _isLoadingAdvances = false;
String? _employeeId;
final ScrollController _scrollController = ScrollController();
bool _showActions = true;
@@ -74,9 +76,13 @@ class _HolidayScreenState extends State<HolidayScreen> {
}
void _initializeData() async {
// Load from API
_loadVacationsFromAPI();
_loadAdvancesFromAPI();
_employeeId = await sl<UserLocalDataSource>().getCachedEmployeeId();
if (mounted) {
setState(() {});
// Load from API
_loadVacationsFromAPI();
_loadAdvancesFromAPI();
}
// Also listen to local changes (for newly created requests)
_requestService.leaveRequestsStream.listen((requests) {
@@ -94,11 +100,13 @@ class _HolidayScreenState extends State<HolidayScreen> {
}
Future<void> _loadVacationsFromAPI() async {
if (_employeeId == null || _employeeId!.isEmpty) return;
setState(() {
_isLoadingVacations = true;
});
final result = await _getVacationsUseCase();
final result = await _getVacationsUseCase(_employeeId!);
result.fold(
(failure) {
if (mounted) {
@@ -178,11 +186,13 @@ class _HolidayScreenState extends State<HolidayScreen> {
}
Future<void> _loadAdvancesFromAPI() async {
if (_employeeId == null || _employeeId!.isEmpty) return;
setState(() {
_isLoadingAdvances = true;
});
final result = await _getAdvancesUseCase();
final result = await _getAdvancesUseCase(_employeeId!);
result.fold(
(failure) {
if (mounted) {