import 'package:flutter/material.dart'; void main() { runApp(const SaqelAdminApp()); } class SaqelAdminApp extends StatelessWidget { const SaqelAdminApp({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(0xFF8B5CF6), brightness: Brightness.dark, surface: const Color(0xFF111827), primary: const Color(0xFF8B5CF6), ), ), home: const AdminHomeScreen(), ); } } class AdminHomeScreen extends StatelessWidget { const AdminHomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Container( decoration: const BoxDecoration( gradient: RadialGradient( center: Alignment(0.0, -0.6), radius: 1.2, colors: [ Color(0xFF25134A), 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(0xFF8B5CF6), Color(0xFFA78BFA)], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(24), boxShadow: const [ BoxShadow( color: Color(0x4D8B5CF6), blurRadius: 25, offset: Offset(0, 10), ), ], ), child: const Center( child: Text( 'إ', style: TextStyle( fontSize: 42, fontWeight: FontWeight.w900, color: Colors.white, ), ), ), ), ), 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( 'لوحة تحكم B2B: إدارة كشوفات المدارس، تراخيص الثقافة العسكرية، والرقابة المركزية', 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(0xFFA78BFA), shape: BoxShape.circle, ), ), const SizedBox(width: 10), const Expanded( child: Text( 'التحكم المركزي والأمان (Enterprise Governance)', style: TextStyle( fontSize: 14, fontWeight: FontWeight.w700, color: Color(0xFFA78BFA), ), ), ), ], ), const SizedBox(height: 16), _buildFeatureRow('🏫 كشوفات المدارس (Rosters)', 'الربط التلقائي بالرقم الوطني واستيراد CSV'), _buildFeatureRow('💼 التراخيص وحصص المعلمين', 'متابعة المبيعات، العقود، والأرباح'), _buildFeatureRow('🛡️ الرقابة والامتثال', 'حظر القرصنة، مراقبة استهلاك الخوادم وبوابة نبيه'), ], ), ), const SizedBox(height: 28), ElevatedButton( onPressed: () {}, style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF8B5CF6), 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), ), ), ], ), ); } }