Update Saqel Platform: 2026-09-20 16:38:51

This commit is contained in:
Hamza-Ayed
2026-09-20 16:38:51 +03:00
parent 5805413f51
commit e8163fe265
11 changed files with 1140 additions and 3002 deletions
@@ -38,6 +38,8 @@ class TeacherStudioState {
final String? uploadSuccessMessage;
final double uploadProgress;
final String uploadPhase;
final bool isReplacement;
final int versionNumber;
const TeacherStudioState({
required this.lessonTitle,
@@ -62,6 +64,8 @@ class TeacherStudioState {
this.uploadSuccessMessage,
this.uploadProgress = 0.0,
this.uploadPhase = 'idle',
this.isReplacement = false,
this.versionNumber = 1,
});
TeacherStudioState copyWith({
@@ -88,6 +92,8 @@ class TeacherStudioState {
String? uploadSuccessMessage,
double? uploadProgress,
String? uploadPhase,
bool? isReplacement,
int? versionNumber,
}) {
return TeacherStudioState(
lessonTitle: lessonTitle ?? this.lessonTitle,
@@ -112,6 +118,8 @@ class TeacherStudioState {
uploadSuccessMessage: uploadSuccessMessage ?? this.uploadSuccessMessage,
uploadProgress: uploadProgress ?? this.uploadProgress,
uploadPhase: uploadPhase ?? this.uploadPhase,
isReplacement: isReplacement ?? this.isReplacement,
versionNumber: versionNumber ?? this.versionNumber,
);
}
}
@@ -359,6 +367,12 @@ class TeacherStudioCubit extends Cubit<TeacherStudioState> {
));
return false;
}
final isReplacement = preflight['replacement'] == true;
final versionNum = (preflight['version_number'] as num?)?.toInt() ?? 1;
emit(state.copyWith(
isReplacement: isReplacement,
versionNumber: versionNum,
));
final videoVersionId = preflight['video_version_id']?.toString();
if (videoVersionId == null || videoVersionId.isEmpty) {
throw StateError('لم ينشئ الخادم نسخة فيديو صالحة للرفع.');