Update: 2026-08-03 11:32:12

This commit is contained in:
Hamza-Ayed
2026-08-03 11:32:12 +03:00
parent 2b9f696372
commit 0334f9881f
40 changed files with 86899 additions and 84841 deletions
@@ -651,6 +651,7 @@ class _LegendDot extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return Row(
mainAxisSize: MainAxisSize.min,
children: [
@@ -11,6 +11,7 @@ class DailyNotesView extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
// نستخدم نفس الكونترولر للوصول لدالة جلب الملاحظات
final controller = Get.find<StaticController>();
@@ -31,9 +32,9 @@ class DailyNotesView extends StatelessWidget {
),
),
centerTitle: true,
backgroundColor: Colors.white,
backgroundColor: cs.surface,
elevation: 0,
iconTheme: const IconThemeData(color: Colors.black87),
iconTheme: IconThemeData(color: cs.onSurface),
),
body: GetBuilder<StaticController>(
builder: (controller) {
@@ -47,10 +48,10 @@ class DailyNotesView extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.note_alt_outlined,
size: 80, color: cs.onSurfaceVariant.shade300),
size: 80, color: cs.onSurfaceVariant),
const SizedBox(height: 10),
Text("لا توجد سجلات لهذا اليوم",
style: TextStyle(color: cs.onSurfaceVariant.shade600)),
style: TextStyle(color: cs.onSurfaceVariant)),
],
),
);
@@ -102,7 +103,7 @@ class DailyNotesView extends StatelessWidget {
name.toUpperCase(),
style: TextStyle(
fontWeight: FontWeight.bold,
color: cs.onSurfaceVariant.shade800,
color: cs.onSurfaceVariant,
fontSize: 14),
),
const SizedBox(width: 100),
@@ -116,7 +117,7 @@ class DailyNotesView extends StatelessWidget {
phone,
style: TextStyle(
fontWeight: FontWeight.bold,
color: cs.onSurfaceVariant.shade800,
color: cs.onSurfaceVariant,
fontSize: 14),
),
Icon(Icons.phone)
@@ -127,7 +128,7 @@ class DailyNotesView extends StatelessWidget {
Text(
time.split(' ').last, // عرض الوقت فقط
style: TextStyle(
color: cs.onSurfaceVariant.shade400, fontSize: 12),
color: cs.onSurfaceVariant, fontSize: 12),
textDirection: TextDirection.ltr,
),
],
@@ -139,7 +140,7 @@ class DailyNotesView extends StatelessWidget {
content,
style: TextStyle(
fontSize: 14,
color: cs.onSurfaceVariant.shade700,
color: cs.onSurfaceVariant,
height: 1.5),
),
],
@@ -153,9 +154,10 @@ class DailyNotesView extends StatelessWidget {
}
Color _getEmployeeColor(String name) {
final cs = Theme.of(Get.context!).colorScheme;
String n = name.toLowerCase().trim();
if (n.contains('shahd')) return cs.danger;
if (n.contains('mayar')) return cs.warning.shade700;
if (n.contains('mayar')) return cs.warning;
if (n.contains('rama2')) return cs.success;
if (n.contains('rama1')) return cs.info;
return Colors.blueGrey;
@@ -175,6 +175,7 @@ class _SliverHeader extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return SliverAppBar(
expandedHeight: 100,
pinned: true,
@@ -275,6 +276,7 @@ class _DateBadge extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return Padding(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 4),
child: Row(
@@ -351,6 +353,7 @@ class _KpiRow extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final items = [
_KpiItem('الركاب', controller.totalMonthlyPassengers,
Icons.groups_rounded, cs.tertiary),
@@ -477,6 +480,7 @@ class _ChartCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final allSpots = [...spots, ...?compareSpots];
final maxY = _maxY(allSpots);
final interval = _interval(maxY);
@@ -605,6 +609,7 @@ class _DynamicMultiLineCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final employees = controller.employeeData.values.toList();
employees.sort((a, b) => getTotal(b).compareTo(getTotal(a)));
@@ -762,6 +767,7 @@ class _LegendChip extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return Container(
padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 5),
decoration: BoxDecoration(
@@ -802,6 +808,7 @@ class _EmployeeLeaderboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final maxCount = stats.isEmpty ? 1 : stats.first.count;
return Padding(
@@ -929,6 +936,7 @@ class _RankBadge extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final isTop3 = rank <= 3;
final medalColors = [
cs.warning,
@@ -974,6 +982,7 @@ class _ControlBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return Container(
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10),
decoration: BoxDecoration(
@@ -1101,6 +1110,7 @@ class _LoadingState extends StatelessWidget {
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
return Center(
child: Column(
mainAxisSize: MainAxisSize.min,