fix marker rendering & modernize riding widgets for dark mode - 2026-04-11

This commit is contained in:
Hamza-Ayed
2026-04-11 01:14:09 +03:00
parent 3f03f25142
commit 454276d1e0
88 changed files with 50376 additions and 23310 deletions

View File

@@ -1,4 +1,4 @@
import 'package:Intaleq/main.dart';
// import 'package:Intaleq/main.dart';
import 'package:secure_string_operations/secure_string_operations.dart';
import '../env/env.dart';

View File

@@ -8,6 +8,7 @@ class BoxName {
static const String serverChosen = "serverChosen";
static const String security_check = "security_check";
static const String gender = "gender";
static const String themeMode = "themeMode";
static const String jwt = "jwt";
static const String lowEndMode = "lowEndMode";
static const String deviceFpEncrypted = "deviceFpEncrypted";

View File

@@ -1,23 +1,23 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
/// A class that holds the color palette for the 'Intaleq' app.
/// The palette is professionally designed to be modern, cohesive, and culturally
/// relevant, inspired by the Syrian flag and the app's brand identity.
class AppColor {
// --- Core Brand Colors (Inspired by the Syrian Flag) ---
/// **Primary Color:** A strong, modern green representing growth, safety, and movement.
/// **Primary Color:** The brand's signature Twitter Blue representing trust and modern communication.
/// Ideal for app bars, primary buttons, and major UI elements.
static const Color primaryColor = Color(0xFF108942);
static const Color primaryColor = Color(0xFF1DA1F2);
/// **Text/Write Color:** A very dark, near-black color for main text.
/// It's softer on the eyes than pure black, improving readability.
/// The variable name `writeColor` is kept as requested.
static const Color writeColor = Color(0xFF1A1A1A);
static Color get writeColor => Get.isDarkMode ? Colors.white : const Color(0xFF1A1A1A);
/// **Secondary Color:** Pure white, used for backgrounds to create a clean
/// and spacious look, ensuring content stands out.
static const Color secondaryColor = Colors.white;
static Color get secondaryColor => Get.isDarkMode ? const Color(0xFF1E1E1E) : Colors.white;
/// **Accent Color:** A vibrant, energetic red from the Syrian flag.
/// Perfect for calls-to-action, highlights, icons, and notifications.
@@ -27,7 +27,7 @@ class AppColor {
/// **Grey Color:** A neutral grey for secondary text, borders, dividers,
/// and disabled states.
static const Color grayColor = Color(0xFF8E8E93);
static Color get grayColor => Get.isDarkMode ? Colors.grey[400]! : const Color(0xFF8E8E93);
/// **Red Color (Error):** A clear, attention-grabbing red for error messages and alerts.
static const Color redColor = Color(0xFFD32F2F);
@@ -52,10 +52,15 @@ class AppColor {
/// **Twitter/X Color:** The official brand color for social login buttons.
/// **Twitter Blue:** The brand's signature blue color used for the drawer,
/// menu icons, and secondary actions (formerly Cyan Blue).
static Color get cyanBlue => const Color(0xFF1DA1F2);
/// **Blue Accent:** A softer, translucent version of the brand blue.
static Color get cyanAccent => const Color(0xFF1DA1F2).withOpacity(0.12);
// --- Utility Colors ---
/// **Accent Tint:** A transparent version of the red accent color.
/// Useful for subtle backgrounds on selected items or highlighted areas.
/// Replaces the old `deepPurpleAccent` to match the new brand palette.
static Color deepPurpleAccent = const Color(0xFFCE1126).withOpacity(0.1);
static Color get deepPurpleAccent => const Color(0xFFCE1126).withOpacity(0.1);
}

View File

@@ -1,3 +1,4 @@
import 'package:Intaleq/print.dart';
import 'dart:convert';
import 'package:crypto/crypto.dart';
@@ -12,7 +13,7 @@ class AC {
if (box.read(BoxName.apiKeyRun).toString() != 'run') {
var res = await CRUD().get(link: AppLink.getApiKey, payload: {});
var decod = jsonDecode(res);
print(decod);
Log.print(decod);
Map<String, dynamic> jsonData = {};
for (var i = 0; i < decod['message'].length; i++) {
String h = decod['message'][i]['hashed_key'].toString();
@@ -29,7 +30,7 @@ class AC {
jsonData[name] = value;
}
String jsonString = json.encode(jsonData);
print(jsonString);
Log.print(jsonString);
box.write(BoxName.apiKeyRun, 'run');
}
}
@@ -71,7 +72,7 @@ class AC {
f.add(i);
}
print(f);
// print(f);
Map<String, String> j = {};
j['birinci'] = f[4];
j['ikinci'] = f[2];

View File

@@ -11,7 +11,12 @@ class AppLink {
/// هذا الرابط خاص برحلات الركاب، ويستخدمه السيرفر الجانبي للرحلات (Ride Server Side) للتعامل مع عمليات إلغاء الرحلات وتحديث حالة الرحلات وغيرها من العمليات المتعلقة بالرحلات.
/// https://routesy.intaleq.xyz for syria
/// for jordan https://routesjo.intaleq.xyz
static String routesOsm = 'https://routesjo.intaleq.xyz';
static String routesOsm = 'https://routesy.intaleq.xyz';
static String mapSaasRoute = 'https://map-saas.intaleqapp.com/api/maps/route';
static String reverseGeocoding =
'https://map-saas.intaleqapp.com/api/geocoding/reverse';
static String searchGeocoding =
'https://map-saas.intaleqapp.com/api/geocoding/search';
///https://location.intaleq.xyz/intaleq/ride/location
///locationServerSide هو السيرفر الجانبي الخاص بموقع السائقين، حيث يتم إرسال تحديثات الموقع من التطبيق إلى هذا السيرفر، ومن ثم يقوم هذا السيرفر بتوزيع هذه التحديثات إلى الركاب المتصلين الذين يتابعون السائق في الوقت الحقيقي.

View File

@@ -5,7 +5,7 @@ import 'box_name.dart';
import 'colors.dart';
class AppStyle {
static TextStyle headTitle = TextStyle(
static TextStyle get headTitle => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 36,
color: AppColor.accentColor,
@@ -13,57 +13,61 @@ class AppStyle {
// ?GoogleFonts.markaziText().fontFamily
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle headTitle2 = TextStyle(
static TextStyle get headTitle2 => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 24,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle title = TextStyle(
static TextStyle get title => TextStyle(
fontWeight: FontWeight.normal,
fontSize: 16,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle subtitle = TextStyle(
static TextStyle get subtitle => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 12,
color: AppColor.writeColor,
fontFamily: box.read(BoxName.lang) == 'ar'
? GoogleFonts.markaziText().fontFamily
: GoogleFonts.inter().fontFamily);
static TextStyle number = const TextStyle(
static TextStyle get number => TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: AppColor.writeColor,
fontFamily: 'digit');
static BoxDecoration boxDecoration = const BoxDecoration(
static BoxDecoration get boxDecoration => BoxDecoration(
boxShadow: [
BoxShadow(
color: AppColor.accentColor, blurRadius: 5, offset: Offset(2, 4)),
color: AppColor.accentColor.withOpacity(0.3),
blurRadius: 5,
offset: const Offset(2, 4)),
BoxShadow(
color: AppColor.accentColor, blurRadius: 5, offset: Offset(-2, -2))
color: AppColor.accentColor.withOpacity(0.1),
blurRadius: 5,
offset: const Offset(-2, -2))
],
color: AppColor.secondaryColor,
borderRadius: BorderRadius.all(
borderRadius: const BorderRadius.all(
Radius.elliptical(15, 30),
));
static BoxDecoration boxDecoration1 = const BoxDecoration(
static BoxDecoration get boxDecoration1 => BoxDecoration(
boxShadow: [
BoxShadow(
color: Color.fromARGB(255, 237, 230, 230),
blurRadius: 5,
offset: Offset(2, 4)),
color: Colors.black.withOpacity(0.05),
blurRadius: 10,
offset: const Offset(0, 4)),
BoxShadow(
color: Color.fromARGB(255, 242, 237, 237),
color: AppColor.primaryColor.withOpacity(0.02),
blurRadius: 5,
offset: Offset(-2, -2))
offset: const Offset(-2, -2))
],
color: AppColor.secondaryColor,
borderRadius: BorderRadius.all(
borderRadius: const BorderRadius.all(
Radius.elliptical(15, 30),
),
);

View File

@@ -1,4 +1,4 @@
import 'package:Intaleq/env/env.dart';
// import 'package:Intaleq/env/env.dart';
class TableName {
static const String placesFavorite = "placesFavorite";