Files
saqel/apps/teacher_app/lib/main.dart
T

57 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'core/theme/teacher_theme.dart';
import 'data/repositories/teacher_repository.dart';
import 'logic/cubits/teacher_studio_cubit.dart';
import 'logic/cubits/teacher_monetization_cubit.dart';
import 'logic/cubits/teacher_qna_cubit.dart';
import 'presentation/screens/teacher_main_shell.dart';
/**
* ==============================================================================
* SAQEL ENTERPRISE (EDTECH 2.0) - TEACHER STUDIO APP
* ==============================================================================
*
* نقطة انطلاق تطبيق استوديو المعلم المعتمد — بنية معمارية رشيقة ومنظمة بنمط Cubit:
* - فحص جودة الحصص وبوابة التركيز الإدراكي (MIT 20-25 Min Quality Gate)
* - نموذج التسعير المزدوج وتقاسم العوائد الثلاثي (55% / 15% / 30%)
* - سحب المستحقات الفوري عبر كليك (CliQ Payout Direct Rail)
* - الواجبات المؤتمتة وغرفة الشكوك والردود الصوتية السقراطية 🎙️.
*/
void main() {
WidgetsFlutterBinding.ensureInitialized();
final repository = TeacherRepository();
runApp(SaqelTeacherApp(repository: repository));
}
class SaqelTeacherApp extends StatelessWidget {
final TeacherRepository repository;
SaqelTeacherApp({super.key, TeacherRepository? repository})
: repository = repository ?? TeacherRepository();
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<TeacherStudioCubit>(
create: (_) => TeacherStudioCubit(repository: repository),
),
BlocProvider<TeacherMonetizationCubit>(
create: (_) => TeacherMonetizationCubit(repository: repository),
),
BlocProvider<TeacherQnACubit>(
create: (_) => TeacherQnACubit(repository: repository),
),
],
child: MaterialApp(
title: 'صَقِل — استوديو المعلم المعتمد',
debugShowCheckedModeBanner: false,
theme: TeacherTheme.darkTheme,
home: const TeacherMainShell(),
),
);
}
}