import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import '../../core/theme/teacher_theme.dart'; import 'tabs/teacher_studio_upload_tab.dart'; import 'tabs/teacher_monetization_tab.dart'; import 'tabs/teacher_reputation_scorecard_tab.dart'; import 'tabs/teacher_assignments_qna_tab.dart'; /** * ============================================================================== * SAQEL TEACHER STUDIO - MAIN SHELL * ============================================================================== * * الهيكل التنفيذي الرئيسي لاستوديو المعلم المعتمد: * - شريط علوي يحمل هوية المعلم، المدرسة، ودرجة الاعتماد الأكاديمي (94%) * - تنقل سفلي مرن بين استوديو الرفع، محفظة التسييل، رادار الأداء، وغرفة الأسئلة. */ class TeacherMainShell extends StatefulWidget { const TeacherMainShell({super.key}); @override State createState() => _TeacherMainShellState(); } class _TeacherMainShellState extends State { int _currentTabIndex = 0; @override Widget build(BuildContext context) { return Directionality( textDirection: TextDirection.rtl, child: Scaffold( backgroundColor: TeacherTheme.backgroundDark, appBar: AppBar( backgroundColor: TeacherTheme.surfaceDark, elevation: 0, title: Row( children: [ Container( width: 36, height: 36, decoration: BoxDecoration( gradient: const LinearGradient( colors: [TeacherTheme.emeraldPrimary, TeacherTheme.emeraldDark], ), borderRadius: BorderRadius.circular(10), ), child: const Center( child: Text( 'م', style: TextStyle( fontSize: 20, fontWeight: FontWeight.w900, color: Colors.black, ), ), ), ), const SizedBox(width: 10), const Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Text( 'استوديو المعلم المعتمد', style: TextStyle( fontSize: 15, fontWeight: FontWeight.w800, color: Colors.white, ), ), SizedBox(width: 6), Icon(CupertinoIcons.checkmark_seal_fill, color: TeacherTheme.emeraldPrimary, size: 16), ], ), Text( 'أ. أحمد المجالي · فيزياء التوجيهي (الثقافة العسكرية)', style: TextStyle(fontSize: 11, color: Color(0xFF94A3B8)), ), ], ), ], ), actions: [ Container( margin: const EdgeInsets.symmetric(vertical: 12, horizontal: 12), padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 4), decoration: BoxDecoration( color: TeacherTheme.emeraldPrimary.withOpacity(0.15), borderRadius: BorderRadius.circular(8), border: Border.all(color: TeacherTheme.emeraldPrimary.withOpacity(0.4)), ), child: const Row( children: [ Icon(CupertinoIcons.star_fill, color: TeacherTheme.royalGold, size: 14), SizedBox(width: 4), Text( 'معتمد 94%', style: TextStyle( fontSize: 11.5, fontWeight: FontWeight.w800, color: TeacherTheme.emeraldLight, ), ), ], ), ), ], ), body: IndexedStack( index: _currentTabIndex, children: const [ TeacherStudioUploadTab(), TeacherMonetizationTab(), TeacherReputationScorecardTab(), TeacherAssignmentsQnATab(), ], ), bottomNavigationBar: Container( decoration: const BoxDecoration( color: TeacherTheme.surfaceDark, border: Border(top: BorderSide(color: TeacherTheme.surfaceBorder)), ), child: BottomNavigationBar( currentIndex: _currentTabIndex, onTap: (idx) => setState(() => _currentTabIndex = idx), backgroundColor: Colors.transparent, selectedItemColor: TeacherTheme.emeraldPrimary, unselectedItemColor: const Color(0xFF64748B), selectedLabelStyle: const TextStyle(fontWeight: FontWeight.w800, fontSize: 11), unselectedLabelStyle: const TextStyle(fontSize: 10.5), type: BottomNavigationBarType.fixed, elevation: 0, items: const [ BottomNavigationBarItem( icon: Icon(CupertinoIcons.videocam_circle_fill), label: 'استوديو الحصص', ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.money_dollar_circle_fill), label: 'محفظة التسييل', ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.chart_bar_circle_fill), label: 'رادار الأداء', ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.chat_bubble_2_fill), label: 'الواجبات والأسئلة', ), ], ), ), ), ); } }