Houshan-Basa/lib/ui/screens/setting/cubit/ad_remaining_cubit.dart

35 lines
1.0 KiB
Dart

import 'package:bloc/bloc.dart';
import 'package:dio/dio.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:hoshan/core/services/api/dio_service.dart';
import 'package:hoshan/data/repository/auth_repository.dart';
part 'ad_remaining_state.dart';
class AdRemainingCubit extends Cubit<AdRemainingState> {
AdRemainingCubit() : super(AdRemainingInitial());
void getRemainingAd() async {
emit(AdRemainingLoading());
try {
final response = await DioService().sendRequest().get('/app-metadata');
final Map<String, dynamic> parsed = {
for (var item in response.data) item['tag']: item['value']
};
final reminding = await AuthRepository.getRemaining();
parsed['remaining_seconds'] =
reminding.data['remaining_seconds'].toString();
emit(AdRemainingSuccess(data: parsed));
} on DioException catch (e) {
emit(AdRemainingFail());
if (kDebugMode) {
print('Error fetching ad remaining: $e');
}
}
}
}