feat: add Google Play store assets and documentation alongside UI copy updates

This commit is contained in:
Hamza-Ayed
2026-09-19 12:34:26 +03:00
parent ce896df30a
commit 279c9fa510
9 changed files with 251 additions and 235 deletions
+185
View File
@@ -0,0 +1,185 @@
# ملف بيانات ونصوص النشر على Google Play Console | خرائط أوروك (Uruk Map)
================================================================================
هذا الملف يحتوي على كافة النصوص والبيانات المطلوبة لرفع وتعبئة تطبيق **Uruk Map** على **Google Play Console** باللغتين العربية والإنجليزية، وفق معايير خوارزميات تحسين متجر التطبيقات (ASO) وتوافقاً مع الحدود الرسمية لعدد الحروف.
---
## 1. البيانات الأساسية (Basic Details)
### باللغة العربية (Arabic - Default)
* **اسم التطبيق (App name - بحد أقصى 30 حرفاً)**:
```text
خرائط أوروك: ملاحة وتوجيه ذكي
```
*(بديل مقترح: `خرائط أوروك - Uruk Map`)*
* **الوصف القصير (Short description - بحد أقصى 80 حرفاً)**:
```text
ملاحة ذكية وتوجيه صوتي عربي بدقة متناهية مع خريطة وتوجيه دون اتصال بالإنترنت.
```
* **الوصف الكامل (Full description - بحد أقصى 4000 حرف)**:
```text
«خرائط أوروك - Uruk Map» هي المنظومة المتقدمة للملاحة والخرائط الذكية المصممة خصيصاً لتلبية احتياجات العالم العربي ومنطقة الشرق الأوسط وشمال أفريقيا، بموثوقية فائقة وتقنيات تشغيل مستقلة.
🏆 مشروع يحظى برعاية ودعم برنامج جائزة أوروك الدولية للابتكار وتطوير الخدمات التقنية.
سواء كنت تتنقل داخل المدن المزدحمة، أو تقود عبر الطرق السريعة في المناطق التي تعاني من ضعف شبكات التغطية أو قيود خدمات الخرائط العالمية (في العراق، السودان، اليمن، سوريا، والمنطقة)، تمنحك خرائط أوروك تجربة تنقل دقيقة، سريعة، واقتصادية في استهلاك البيانات.
لماذا تختار خرائط أوروك؟
🧠 1. كاش ذكي واستدعاء فوري من الذاكرة
نظام متقدم لحفظ بلاطات الخريطة في ذاكرة الجهاز (Memory Cache) لاستدعائها فوراً دون تأخير، مما يوفر سرعة استجابة فائقة ويقلل استهلاك باقة الإنترنت.
🔐 2. مفتاح جهاز مشفر وحماية مخصصة (Device Key)
تسجيل آمن عبر بصمة الجهاز الفريدة وتخصيص مفتاح وصول مشفر يضمن أقصى معايير الاستقرار وحماية خصوصية بيانات المستخدمين.
⚡ 3. توجيه لحظي Turn-by-Turn بدقة عالية
محرك ملاحة ذكي متطور يوجهك خطوة بخطوة مع مسارات بديلة لتفادي الازدحام المروري، وزمن استجابة فائق السرعة.
🎙️ 4. توجيه صوتي عربي نقي وواضح
إرشادات صوتية واضحة باللغة العربية تنبهك مسبقاً قبل كل منعطف، دوار، أو تقاطع لتظل عيناك على الطريق دائماً.
📡 5. ملاحة فعالة دون اتصال بالإنترنت (Offline Mode)
واصل رحلتك وتوجيهك حتى عند انقطاع الإنترنت أو أثناء السفر بين المحافظات والمناطق النائية بفضل نظام التخزين المؤقت الذكي.
📺 6. نافذة مصغرة عائمة (Picture-in-Picture)
تابع مسار الخريطة والسرعة اللحظية في نافذة عائمة مدمجة أثناء استخدام تطبيقاتك الأخرى أو الرد على المكالمات.
⚠️ 7. شبكة بلاغات تشاركية للحوادث ومخاطر الطريق
شارك واطلع لحظياً على بلاغات الطرق: الحوادث، الإغلاقات، الحفر، وأعمال الصيانة لحماية مركبتك وتوفير وقتك.
🚗 8. تخصيص أيقونة ونمط المركبة
اختر شكل ولون مركبتك على الخريطة (سيارة حديثة، دفع رباعي، سهم توجيه) لتجربة مخصصة وفاخرة.
🛡️ 9. حماية الخصوصية وتوفير البطارية
تصميم برمجي حديث ومحسّن لا يستهلك طاقة البطارية ولا يجمع بياناتك الخاصة بدون إذن.
حمّل «خرائط أوروك» اليوم واستمتع بتجربة ملاحة حرة، ذكية، ومستقلة 100%!
```
---
### باللغة الإنجليزية (English - United States)
* **App Name (Max 30 characters)**:
```text
Uruk Map: GPS Navigation
```
*(Alternative: `Uruk Map - Smart Navigation`)*
* **Short Description (Max 80 characters)**:
```text
Smart GPS navigation, memory-cached offline maps, and turn-by-turn voice alerts.
```
* **Full Description (Max 4000 characters)**:
```text
Uruk Map is an advanced GPS navigation and digital mapping platform engineered specifically for the Middle East, North Africa, and regional markets requiring dependable offline capabilities.
🏆 Backed and supported by the Uruk International Prize program for technological innovation and digital service infrastructure.
Whether commuting through bustling metropolitan hubs or navigating transit routes across Iraq, Sudan, Yemen, Syria, and the broader MENA region, Uruk Map delivers unmatched precision, high-speed memory caching, and independent offline reliability.
KEY FEATURES:
🧠 1. Smart Memory Caching & Instant Tile Retrieval
Proactive in-memory tile caching (Vector Tiles) that loads maps instantly, delivering smooth interactions while significantly reducing cellular data consumption.
🔐 2. Encrypted Hardware Fingerprint & Dedicated Device Keys
Secure, transparent device registration that issues an individual encrypted API key per hardware fingerprint, guaranteeing data integrity and stable connection quotas.
⚡ 3. Real-Time Turn-by-Turn GPS Navigation
Intelligent routing engine delivering real-time lane guidance, optimal detour calculations, and ultra-low latency navigation responsiveness.
🎙️ 4. Natural Arabic & English Voice Guidance
Crystal-clear voice instructions alerting you well in advance of upcoming exits, roundabouts, and turns, keeping your focus strictly on the road.
📡 5. Resilient Offline Navigation
Drive with complete confidence even without an internet connection or in remote corridors with reliable offline routing.
📺 6. Live Picture-in-Picture (PiP) HUD
Keep your navigation visible in an elegant floating overlay while multitasking, answering calls, or switching apps.
⚠️ 7. Community-Driven Road & Hazard Alerts
Report and receive live road hazard updates, speed cameras, accidents, and road closures contributed by fellow drivers in real time.
🚗 8. Customizable Vehicle Icons
Personalize your on-screen vehicle marker with a curated selection of 3D luxury sedans, rugged SUVs, or aerodynamic tactical navigation arrows.
🔋 9. Battery & Data Optimized
Engineered with high-performance native rendering (MapLibre vector graphics) that maximizes battery endurance and minimizes background data.
Download Uruk Map today and experience fast, smart, and independent navigation!
```
---
## 2. التصنيف والفئة على المتجر (Store Categorization & Tags)
* **الفئة الرئيسية (Primary Category)**:
`خرائط وملاحة (Maps & Navigation)`
* **الفئة الثانوية (Secondary Category)**:
`السفر والمعلومات المحلية (Travel & Local)`
* **العلامات والوسوم (Tags)**:
- `ملاحة (Navigation)`
- `خرائط بدون إنترنت (Offline Maps)`
- `تحديد المواقع (GPS)`
- `تخطيط المسار (Route Planner)`
- `القيادة وحركة المرور (Driving & Traffic)`
---
## 3. الأصول الرسومية المطلوبة (Store Graphic Assets)
1. **أيقونة التطبيق (App Icon)**:
- القياس: `512 x 512` بكسل
- الصيغة: `PNG 32-bit`
- المسار الجاهز: `assets/images/uruk_map_playstore_512.png`
- *(ملف تم إنشاؤه مسبقاً ومطابق لمعايير جوجل بلاي)*.
2. **الرسم المميز / البانر (Feature Graphic)**:
- القياس: `1024 x 500` بكسل
- الصيغة: `JPEG / PNG` (بدون شفافية)
- المسار الجاهز: `assets/images/uruk_playstore_feature_graphic_1024x500.jpg`
- *(بانر ملكي فاخر يدمج تمثال أوروك الذهبي وشبكة الطرق المتوهجة)*.
3. **لقطات الشاشة (Screenshots)**:
- الحد الأدنى: 2 لقطات (المستحسن من 4 إلى 8 لقطات).
- القياس المناسب: عمودي `1080 x 1920` بكسل (أبعاد 16:9).
- اللقطات المقترحة:
1. شاشة الخريطة الرئيسية مع شريط البحث والملاحة الفيكتورية.
2. شاشة التوجيه الفعلي Turn-by-Turn مع بطاقة PiP ولوحة السرعة.
3. شاشة طبقات الخريطة وتخصيص أيقونة المركبة.
4. شاشة الاعتماد وجائزة أوروك الدولية للسيادة المكانية.
---
## 4. إعدادات الخصوصية والاتصال (Privacy & Contact Information)
* **رابط سياسة الخصوصية (Privacy Policy URL)**:
```text
https://intaleqapp.com/privacy.html
```
* **البريد الإلكتروني للدعم (Support Email)**:
```text
support@intaleqapp.com
```
*(أو بريد المؤسس: info@intaleqapp.com)*
* **الموقع الإلكتروني (Website)**:
```text
https://intaleqapp.com/hamza.html
```
---
## 5. استبيان تصنيف المحتوى (Content Rating Questionnaire)
عند تعبئة استبيان المحتوى في Google Play Console:
- هل يحتوي التطبيق على محتوى عنيف؟ **لا (No)**
- هل يحتوي على محتوى جنسي؟ **لا (No)**
- هل يحتوي على لغة مسيئة؟ **لا (No)**
- هل يشارك التطبيق الموقع الجغرافي الدقيق للمستخدم مع أطراف خارجية لأغراض إعلانية؟ **لا (No)**
- هل يستخدم التطبيق الموقع لأغراض تقديم خدمات الملاحة والتوجيه للمستخدم؟ **نعم (Yes)**
- **النتيجة التلقائية**: تصنيف **مناسب للجميع (Everyone / PEGI 3)**.
Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

+2 -2
View File
@@ -1259,11 +1259,11 @@ class _MapViewState extends State<MapView> {
onTap: () => _showLayerSelector(context, cubit, state.mapTheme),
),
const SizedBox(height: 12),
// Uruk International Prize & Institutional Credentials Button
// Uruk International Prize & Platform Architecture Button
_buildFloatingCircle(
icon: Icons.workspace_premium_rounded,
color: AppColors.urukGoldDark,
tooltip: 'جائزة أوروك الدولية والسيادة المكانية',
tooltip: 'عن جائزة أوروك والمنظومة التقنية',
onTap: () => _showAboutAwardsSheet(context),
),
const SizedBox(height: 12),
@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_fonts/google_fonts.dart';
import '../../../../core/constants/app_colors.dart';
@@ -9,9 +8,9 @@ class AboutAwardsSheet extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DraggableScrollableSheet(
initialChildSize: 0.88,
initialChildSize: 0.85,
minChildSize: 0.5,
maxChildSize: 0.96,
maxChildSize: 0.95,
builder: (context, scrollController) {
return Container(
decoration: const BoxDecoration(
@@ -51,8 +50,8 @@ class AboutAwardsSheet extends StatelessWidget {
child: Column(
children: [
Container(
width: 110,
height: 110,
width: 104,
height: 104,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: AppColors.pureWhite,
@@ -63,7 +62,7 @@ class AboutAwardsSheet extends StatelessWidget {
boxShadow: [
BoxShadow(
color: AppColors.urukGold.withValues(alpha: 0.2),
blurRadius: 28,
blurRadius: 26,
offset: const Offset(0, 8),
),
],
@@ -113,7 +112,7 @@ class AboutAwardsSheet extends StatelessWidget {
),
const SizedBox(width: 6),
Text(
'تكريم التميز والسيادة التكنولوجية',
'رعاية ودعم الابتكار والخدمات التقنية',
style: GoogleFonts.alexandria(
fontSize: 11.5,
fontWeight: FontWeight.w700,
@@ -127,18 +126,18 @@ class AboutAwardsSheet extends StatelessWidget {
),
),
const SizedBox(height: 24),
const SizedBox(height: 22),
// ── 2. ORIGIN & GENESIS STORY ──
// ── 2. URUK PRIZE MISSION & ROLE ──
_buildSectionCard(
icon: Icons.history_edu_rounded,
icon: Icons.lightbulb_rounded,
iconColor: AppColors.urukGoldDark,
title: 'قصة المنظومة: من أوروك إلى سيادة البيانات',
title: 'دور جائزة أوروك ورسالتها التقنية',
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'تستلهم جائزة أوروك الدولية إرثها من حضارة أوروك العظيمة — مهد أول تدوين للرموز والتخطيط العمراني في فجر الحضارة البشرية — لتكريم المشروعات التي تصنع فارقاً استراتيجياً في العالم العربي.',
'تستلهم جائزة أوروك الدولية رمزيتها من حضارة أوروك العريقة — مهد التنظيم المدني والقياسات الأولى في تاريخ الإنسانية — لتبني وتدعم المشاريع والخدمات التقنية المبتكرة في العالم العربي والشرق الأوسط.',
style: GoogleFonts.alexandria(
fontSize: 12.5,
height: 1.65,
@@ -148,7 +147,7 @@ class AboutAwardsSheet extends StatelessWidget {
),
const SizedBox(height: 10),
Text(
'من رحم هذا البرنامج وتتويجاً لتكريم جائزة أوروك، وُلدت منظومة «خرائط أوروك - Uruk Map» كبنية تحتية سيادية بديلة ومستقلة تماماً، مصممة لحماية السيادة المكانية وتوفير خرائط وملاحة ذكية مخصصة لمنطقة الشرق الأوسط وشمال أفريقيا دون الارتهان للشركات العالمية.',
'تعمل الجائزة وبرامجها على تشجيع التوسع في البنى التحتية الرقمية، وتمكين الحلول الذكية المستقلة التي تسد الفجوات التقنية وتخدم المجتمعات وقطاعات النقل والحركة بكفاءة عالية.',
style: GoogleFonts.alexandria(
fontSize: 12.5,
height: 1.65,
@@ -162,164 +161,39 @@ class AboutAwardsSheet extends StatelessWidget {
const SizedBox(height: 16),
// ── 3. TECH ARCHITECT & FOUNDER ──
// ── 3. HOW THE PLATFORM WORKS & CORE TECH ──
_buildSectionCard(
icon: Icons.person_pin_circle_rounded,
icon: Icons.memory_rounded,
iconColor: AppColors.appleBlue,
title: 'القيادة التقنية والمعمارية للمنظومة',
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Container(
width: 44,
height: 44,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: AppColors.appleBlue.withValues(alpha: 0.1),
border: Border.all(color: AppColors.appleBlue.withValues(alpha: 0.3)),
),
child: const Icon(Icons.architecture_rounded, color: AppColors.appleBlue, size: 24),
),
const SizedBox(width: 12),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'م. حمزة عايد | Hamza Ayed',
style: GoogleFonts.alexandria(
fontSize: 14,
fontWeight: FontWeight.w700,
color: AppColors.textPrimary,
),
),
Text(
'Founding Tech Architect & Mobility Strategist',
style: GoogleFonts.alexandria(
fontSize: 11,
fontWeight: FontWeight.w600,
color: AppColors.appleBlue,
),
),
],
),
),
],
),
const SizedBox(height: 12),
Text(
'خبير استراتيجي في حركية النقل الذكي وتأسيس منظومات البيانات الحساسة بخبرة قيادية تتجاوز 20 عاماً في إدارة العمليات والأنظمة الحرجة، والمؤسس التقني المشارك لمنصات انطلق (Intaleq)، تريبز (Tripz)، ومنظومة سيرو (Siro Platform).',
style: GoogleFonts.alexandria(
fontSize: 12,
height: 1.6,
fontWeight: FontWeight.w500,
color: AppColors.textSecondary,
),
),
],
),
),
const SizedBox(height: 16),
// ── 4. ECONOMIC MOAT & UNIT ECONOMICS ──
_buildSectionCard(
icon: Icons.account_balance_wallet_rounded,
iconColor: AppColors.tacticalEmerald,
title: 'الأثر الاقتصادي والتوسع الإقليمي',
title: 'آلية عمل المنظومة والتقنيات المفعلة',
child: Column(
children: [
_buildStatRow(
metric: '0.30\$+',
metricLabel: 'وفر مباشر في كل رحلة وطلب',
desc: 'استبدال فواتير Google Maps الباهظة بنظام ذاتي الاستضافة والتحكم الكامل.',
color: AppColors.tacticalEmerald,
_buildTechRow(
icon: Icons.storage_rounded,
iconColor: AppColors.appleBlue,
title: 'الكاش الذكي وحفظ الخريطة في الذاكرة',
desc: 'نظام تخزين مؤقت يحفظ بلاطات الخريطة (Vector Tiles) في ذاكرة الجهاز ويستدعيها بسرعة فائقة، لضمان استجابة فورية وتوفير كبير في استهلاك البيانات.',
),
const Divider(height: 20, color: AppColors.borderSubtle),
_buildStatRow(
metric: 'MENA',
metricLabel: 'استهداف الأسواق المحرومة من خرائط موثوقة',
desc: 'توفير ملاحة ذكية وبنية خرائط مستقلة في العراق، السودان، اليمن، سوريا، وإيران.',
color: AppColors.urukGoldDark,
const Divider(height: 18, color: AppColors.borderSubtle),
_buildTechRow(
icon: Icons.fingerprint_rounded,
iconColor: AppColors.tacticalEmerald,
title: 'مفاتيح مخصصة وبصمة الجهاز (Device Key)',
desc: 'تسجيل وتخصيص مفتاح وصول مشفر لكل جهاز عبر بصمة العتاد (Hardware Fingerprint)، لتنظيم الطلبات وحماية أمان واستقرار الشبكة.',
),
const Divider(height: 20, color: AppColors.borderSubtle),
_buildStatRow(
metric: '100%',
metricLabel: 'سيادة رقمية وعزل جغرافي',
desc: 'خوادم متجهات وتوجيه محلي (Self-Hosted OSRM + Vector Tiles) مستقلة عن أي قيود أو واجهات أجنبية.',
color: AppColors.appleBlue,
const Divider(height: 18, color: AppColors.borderSubtle),
_buildTechRow(
icon: Icons.offline_bolt_rounded,
iconColor: AppColors.sovereignGold,
title: 'ملاحة ذكية وتوجيه دون اتصال بالإنترنت',
desc: 'استمرار التوجيه وحساب مسارات الملاحة والانعطافات بدقة عالية حتى في حال انقطاع تغطية الإنترنت أو ضعف الشبكة.',
),
const Divider(height: 20, color: AppColors.borderSubtle),
_buildStatRow(
metric: 'OFFLINE',
metricLabel: 'ملاحة ذكية كاملة دون اتصال',
desc: 'مواصلة التوجيه والانعطاف حتى في مناطق انعدام التغطية الخلوية والصحراوية.',
color: AppColors.sovereignGold,
),
],
),
),
const SizedBox(height: 16),
// ── 5. URUK EDITION APP ICON SHOWCASE ──
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: const Color(0xFF131722),
borderRadius: BorderRadius.circular(22),
border: Border.all(color: AppColors.urukGoldBorder),
boxShadow: [
BoxShadow(
color: Colors.black.withValues(alpha: 0.18),
blurRadius: 18,
offset: const Offset(0, 6),
),
],
),
child: Row(
children: [
Container(
width: 60,
height: 60,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16),
border: Border.all(color: AppColors.urukGold.withValues(alpha: 0.4)),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(15),
child: Image.asset(
'assets/images/siro_uruk_logo.png',
fit: BoxFit.cover,
),
),
),
const SizedBox(width: 14),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'شعار إصدار أوروك الخاص',
style: GoogleFonts.alexandria(
fontSize: 13,
fontWeight: FontWeight.w700,
color: AppColors.pureWhite,
),
),
const SizedBox(height: 4),
Text(
'دمج جناح تمثال أوروك الذهبي مع سهم الملاحة الفضائي وخطوط الارتفاع الطبوغرافية.',
style: GoogleFonts.alexandria(
fontSize: 10.5,
color: const Color(0xFFB0B5C0),
height: 1.4,
),
),
],
),
const Divider(height: 18, color: AppColors.borderSubtle),
_buildTechRow(
icon: Icons.public_rounded,
iconColor: AppColors.urukGoldDark,
title: 'تغطية الأسواق الإقليمية الحيوية',
desc: 'تركيز استراتيجي على توفير بيانات طرق تفصيلية ومحدثة للأسواق التي تعاني من نقص أو قيود في الخرائط العالمية (العراق، السودان، اليمن، سوريا، والمنطقة).',
),
],
),
@@ -327,21 +201,9 @@ class AboutAwardsSheet extends StatelessWidget {
const SizedBox(height: 24),
// ── 6. ACTIONS & SHARE ──
ElevatedButton.icon(
onPressed: () {
Clipboard.setData(const ClipboardData(text: 'https://intaleqapp.com/hamza.html'));
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text(
'تم نسخ رابط الملف التنفيذي ودراسة المنظومة بنجاح',
style: TextStyle(fontSize: 12),
),
backgroundColor: AppColors.tacticalEmerald,
duration: Duration(seconds: 2),
),
);
},
// ── 4. CLOSE ACTION BUTTON ──
ElevatedButton(
onPressed: () => Navigator.of(context).pop(),
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.textPrimary,
foregroundColor: AppColors.pureWhite,
@@ -351,33 +213,11 @@ class AboutAwardsSheet extends StatelessWidget {
),
elevation: 0,
),
icon: const Icon(Icons.link_rounded, size: 18, color: AppColors.urukGold),
label: Text(
'نسخ رابط ملف المشروع ودراسة الحالة التنفيذية',
style: GoogleFonts.alexandria(
fontSize: 12,
fontWeight: FontWeight.w600,
),
),
),
const SizedBox(height: 10),
OutlinedButton(
onPressed: () => Navigator.of(context).pop(),
style: OutlinedButton.styleFrom(
padding: const EdgeInsets.symmetric(vertical: 13),
side: const BorderSide(color: AppColors.borderSubtle),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
),
child: Text(
'إغلاق والعودة للخريطة',
'إغلاق ومتابعة الاستكشاف',
style: GoogleFonts.alexandria(
fontSize: 12,
fontSize: 13,
fontWeight: FontWeight.w600,
color: AppColors.textSecondary,
),
),
),
@@ -445,32 +285,23 @@ class AboutAwardsSheet extends StatelessWidget {
);
}
Widget _buildStatRow({
required String metric,
required String metricLabel,
Widget _buildTechRow({
required IconData icon,
required Color iconColor,
required String title,
required String desc,
required Color color,
}) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
constraints: const BoxConstraints(minWidth: 70),
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
width: 34,
height: 34,
decoration: BoxDecoration(
color: color.withValues(alpha: 0.1),
color: iconColor.withValues(alpha: 0.1),
borderRadius: BorderRadius.circular(10),
),
child: Center(
child: Text(
metric,
style: GoogleFonts.alexandria(
fontSize: 14,
fontWeight: FontWeight.w800,
color: color,
),
),
),
child: Icon(icon, size: 18, color: iconColor),
),
const SizedBox(width: 12),
Expanded(
@@ -478,20 +309,20 @@ class AboutAwardsSheet extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
metricLabel,
title,
style: GoogleFonts.alexandria(
fontSize: 12,
fontSize: 12.5,
fontWeight: FontWeight.w700,
color: AppColors.textPrimary,
),
),
const SizedBox(height: 2),
const SizedBox(height: 3),
Text(
desc,
style: GoogleFonts.alexandria(
fontSize: 11,
color: AppColors.textSecondary,
height: 1.4,
height: 1.5,
),
),
],
@@ -125,7 +125,7 @@ class LayerSelectorSheet extends StatelessWidget {
),
),
title: const Text(
'جائزة أوروك الدولية واعتماد المنظومة',
'عن منظومة أوروك والتقنيات المفعلة',
style: TextStyle(
fontSize: 13.5,
fontWeight: FontWeight.w700,
@@ -133,7 +133,7 @@ class LayerSelectorSheet extends StatelessWidget {
),
),
subtitle: const Text(
'قصة نشأة المشروع، السيادة الرقمية، والمعمار التقني',
'الكاش الذكي، مفاتيح الأجهزة، والملاحة دون اتصال',
style: TextStyle(fontSize: 11, color: AppColors.textSecondary),
),
trailing: const Icon(Icons.workspace_premium_rounded, size: 20, color: AppColors.urukGoldDark),
@@ -121,7 +121,7 @@ class _SplashViewState extends State<SplashView> with SingleTickerProviderStateM
const SizedBox(height: 6),
// Subtitle
Text(
'Uruk Map • منظومة الملاحة والسيادة المكانية',
'Uruk Map • منظومة الخرائط والملاحة الذكية',
style: GoogleFonts.alexandria(
fontSize: 13,
fontWeight: FontWeight.w600,
+6 -6
View File
@@ -627,10 +627,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
url: "https://pub.dev"
source: hosted
version: "0.12.18"
version: "0.12.19"
material_color_utilities:
dependency: transitive
description:
@@ -643,10 +643,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
url: "https://pub.dev"
source: hosted
version: "1.17.0"
version: "1.18.0"
mime:
dependency: transitive
description:
@@ -1032,10 +1032,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e"
url: "https://pub.dev"
source: hosted
version: "0.7.9"
version: "0.7.11"
typed_data:
dependency: transitive
description: