import 'package:flutter/material.dart'; void main() { runApp(const SaqelTeacherApp()); } class SaqelTeacherApp extends StatelessWidget { const SaqelTeacherApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'صَقِل - استوديو المعلم', debugShowCheckedModeBanner: false, theme: ThemeData( brightness: Brightness.dark, scaffoldBackgroundColor: const Color(0xFF0A0E17), fontFamily: '-apple-system', fontFamilyFallback: const [ 'SF Pro Display', 'SF Pro Text', 'SF Arabic', 'Geeza Pro', 'Cairo', 'system-ui', ], colorScheme: ColorScheme.fromSeed( seedColor: const Color(0xFF10B981), brightness: Brightness.dark, surface: const Color(0xFF111827), primary: const Color(0xFF10B981), ), ), home: const TeacherHomeScreen(), ); } } class TeacherHomeScreen extends StatelessWidget { const TeacherHomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Container( decoration: const BoxDecoration( gradient: RadialGradient( center: Alignment(-0.8, -0.6), radius: 1.2, colors: [ Color(0xFF0B3326), Color(0xFF0A0E17), ], ), ), child: SafeArea( child: Center( child: SingleChildScrollView( padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 32), child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 580), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Center( child: Container( width: 80, height: 80, decoration: BoxDecoration( gradient: const LinearGradient( colors: [Color(0xFF10B981), Color(0xFF34D399)], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(24), boxShadow: const [ BoxShadow( color: Color(0x4D10B981), blurRadius: 25, offset: Offset(0, 10), ), ], ), child: const Center( child: Text( 'م', style: TextStyle( fontSize: 42, fontWeight: FontWeight.w900, color: Colors.black, ), ), ), ), ), const SizedBox(height: 24), const Text( 'استوديو المعلم المعتمد — صَقِل', textAlign: TextAlign.center, style: TextStyle( fontSize: 28, fontWeight: FontWeight.w800, letterSpacing: -0.5, color: Colors.white, ), ), const SizedBox(height: 8), const Text( 'إدارة المقررات، رفع الشروحات التفاعلية، والتواصل المباشر مع الطلاب', textAlign: TextAlign.center, style: TextStyle( fontSize: 14, color: Color(0xFF94A3B8), height: 1.5, ), ), const SizedBox(height: 36), Container( padding: const EdgeInsets.all(24), decoration: BoxDecoration( color: const Color(0xCC161F30), borderRadius: BorderRadius.circular(20), border: Border.all( color: const Color(0x14FFFFFF), ), boxShadow: const [ BoxShadow( color: Color(0x66000000), blurRadius: 30, offset: Offset(0, 15), ), ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( width: 10, height: 10, decoration: const BoxDecoration( color: Color(0xFF34D399), shape: BoxShape.circle, ), ), const SizedBox(width: 10), const Expanded( child: Text( 'جاهزية الاستوديو (macOS Native)', style: TextStyle( fontSize: 14, fontWeight: FontWeight.w700, color: Color(0xFF34D399), ), ), ), ], ), const SizedBox(height: 16), _buildFeatureRow('🎥 رفع وإدارة الفيديو', 'Direct HLS Transcoding + R2'), _buildFeatureRow('⚡ البث اللحظي', 'Workerman Real-time Chat & Notifications'), _buildFeatureRow('📊 مؤشر الجدارة', 'تقييم الطلاب وسرعة الاستجابة المباشرة'), ], ), ), const SizedBox(height: 28), ElevatedButton( onPressed: () {}, style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF10B981), foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(vertical: 16), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(14), ), elevation: 0, ), child: const Text( 'دخول استوديو المعلم 👨‍🏫', style: TextStyle( fontSize: 16, fontWeight: FontWeight.w700, ), ), ), ], ), ), ), ), ), ), ); } static Widget _buildFeatureRow(String title, String subtitle) { return Padding( padding: const EdgeInsets.only(bottom: 12), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( title, style: const TextStyle( fontSize: 13.5, fontWeight: FontWeight.w600, color: Colors.white, ), ), const SizedBox(height: 2), Text( subtitle, style: const TextStyle( fontSize: 12, color: Color(0xFF64748B), ), ), ], ), ); } }