Update Saqel Platform: 2026-09-08 18:19:28

This commit is contained in:
Hamza-Ayed
2026-09-08 18:19:28 +03:00
parent 75451ebc3f
commit e5cbd89323
22 changed files with 1537 additions and 595 deletions
@@ -63,7 +63,8 @@ class TeacherMonetizationState {
bool? isLoading,
}) {
return TeacherMonetizationState(
institutionalStudents: institutionalStudents ?? this.institutionalStudents,
institutionalStudents:
institutionalStudents ?? this.institutionalStudents,
studentSubscribers: studentSubscribers ?? this.studentSubscribers,
pricePerCourse: pricePerCourse ?? this.pricePerCourse,
grossRevenue: grossRevenue ?? this.grossRevenue,
@@ -86,7 +87,7 @@ class TeacherMonetizationCubit extends Cubit<TeacherMonetizationState> {
TeacherMonetizationCubit({required this.repository})
: super(const TeacherMonetizationState(
institutionalStudents: 83,
institutionalStudents: 0,
studentSubscribers: 0,
pricePerCourse: 20.0,
grossRevenue: 0.0,
@@ -95,7 +96,7 @@ class TeacherMonetizationCubit extends Cubit<TeacherMonetizationState> {
platformShare: 0.0,
availableBalance: 0.0,
totalWithdrawn: 0.0,
cliqAlias: '0798583052@CLIQ',
cliqAlias: '',
courses: [],
payoutRequests: [],
isSubmittingPayout: false,
@@ -108,20 +109,26 @@ class TeacherMonetizationCubit extends Cubit<TeacherMonetizationState> {
final data = await repository.getMonetizationDashboard();
final courses = await repository.getPublishedCourses();
final audience = data['audience_breakdown'] as Map<String, dynamic>? ?? {};
final inst = audience['institutional_students'] as Map<String, dynamic>? ?? {};
final mkt = audience['marketplace_students'] as Map<String, dynamic>? ?? {};
final audience =
data['audience_breakdown'] as Map<String, dynamic>? ?? {};
final inst =
audience['institutional_students'] as Map<String, dynamic>? ?? {};
final mkt =
audience['marketplace_students'] as Map<String, dynamic>? ?? {};
final wallet = data['wallet'] as Map<String, dynamic>? ?? {};
final instCount = (inst['count'] as num?)?.toDouble() ?? 83.0;
final instCount = (inst['count'] as num?)?.toDouble() ?? 0.0;
final paidCount = (mkt['count'] as num?)?.toDouble() ?? 0.0;
final gross = (data['gross_revenue_jod'] as num?)?.toDouble() ?? (paidCount * 20.0);
final gross =
(data['gross_revenue_jod'] as num?)?.toDouble() ?? (paidCount * 20.0);
final tShare = gross * 0.55;
final dShare = gross * 0.15;
final pShare = gross * 0.30;
final avail = (wallet['available_balance_jod'] as num?)?.toDouble() ?? tShare;
final withdrawn = (wallet['total_withdrawn_jod'] as num?)?.toDouble() ?? 0.0;
final alias = wallet['cliq_payout_alias']?.toString() ?? '0798583052@CLIQ';
final avail =
(wallet['available_balance_jod'] as num?)?.toDouble() ?? tShare;
final withdrawn =
(wallet['total_withdrawn_jod'] as num?)?.toDouble() ?? 0.0;
final alias = wallet['cliq_payout_alias']?.toString() ?? '';
List<TeacherPayoutRequestModel> payouts = [];
if (wallet['recent_payouts'] is List) {
@@ -176,8 +183,11 @@ class TeacherMonetizationCubit extends Cubit<TeacherMonetizationState> {
cliqAlias: cliqAlias,
amountJod: amountJod,
);
final updatedList = List<TeacherPayoutRequestModel>.from(state.payoutRequests)..insert(0, req);
final newAvail = (state.availableBalance - amountJod).clamp(0.0, double.infinity);
final updatedList =
List<TeacherPayoutRequestModel>.from(state.payoutRequests)
..insert(0, req);
final newAvail =
(state.availableBalance - amountJod).clamp(0.0, double.infinity);
final newWithdrawn = state.totalWithdrawn + amountJod;
emit(state.copyWith(