Update Saqel Platform: 2026-09-09 00:24:41
This commit is contained in:
@@ -491,6 +491,72 @@ class _TeacherStudioUploadTabState extends State<TeacherStudioUploadTab> {
|
||||
),
|
||||
),
|
||||
),
|
||||
if (state.isUploading || state.isAuditing) ...[
|
||||
const SizedBox(height: 14),
|
||||
Container(
|
||||
padding: const EdgeInsets.all(14),
|
||||
decoration: BoxDecoration(
|
||||
color: const Color(0xFF0E1626),
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
border: Border.all(color: const Color(0xFF1E293B)),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
const SizedBox(
|
||||
width: 14,
|
||||
height: 14,
|
||||
child: CircularProgressIndicator(
|
||||
strokeWidth: 2,
|
||||
color: TeacherTheme.emeraldPrimary,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
Text(
|
||||
state.uploadPhase == 'uploading'
|
||||
? 'جاري نقل ملف الفيديو إلى الخادم...'
|
||||
: 'جاري فحص الجودة وتجهيز الدرس...',
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 12.5,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Text(
|
||||
state.uploadPhase == 'uploading'
|
||||
? '${(state.uploadProgress * 100).toInt()}%'
|
||||
: 'فحص فوري...',
|
||||
style: const TextStyle(
|
||||
color: TeacherTheme.emeraldLight,
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w900,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(6),
|
||||
child: LinearProgressIndicator(
|
||||
value: state.uploadPhase == 'uploading' && state.uploadProgress > 0
|
||||
? state.uploadProgress
|
||||
: null,
|
||||
backgroundColor: const Color(0xFF1E293B),
|
||||
valueColor: const AlwaysStoppedAnimation<Color>(TeacherTheme.emeraldPrimary),
|
||||
minHeight: 8,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
if (state.errorMessage != null) ...[
|
||||
const SizedBox(height: 10),
|
||||
Text(state.errorMessage!,
|
||||
|
||||
Reference in New Issue
Block a user