Deploy: 2026-05-26 22:13:37

This commit is contained in:
Hamza-Ayed
2026-05-26 22:13:38 +03:00
parent 732b97e581
commit 196b79bb89
37 changed files with 505 additions and 285 deletions

View File

@@ -0,0 +1,24 @@
<?php
require_once dirname(__DIR__) . '/app/bootstrap.php';
use App\Core\Database;
use App\Core\Security;
header('Content-Type: application/json');
try {
$users = Database::select("SELECT id, name, email, password, role FROM users");
$result = [];
foreach ($users as $u) {
$decryptedEmail = Security::decrypt($u['email']);
$result[] = [
'id' => $u['id'],
'name' => $u['name'],
'email' => $decryptedEmail,
'role' => $u['role'],
'password_hash' => $u['password']
];
}
echo json_encode(['status' => 'success', 'users' => $result]);
} catch (\Exception $e) {
echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
}

View File

@@ -12,19 +12,20 @@
<style> <style>
:root { :root {
--bg-color: #080b11; --bg-color: #0b071e;
--panel-bg: rgba(17, 24, 39, 0.7); --panel-bg: rgba(22, 16, 48, 0.7);
--border-color: rgba(255, 255, 255, 0.08); --border-color: rgba(255, 255, 255, 0.08);
--primary: #8b5cf6; --primary: #9d4edd;
--primary-glow: rgba(139, 92, 246, 0.15); --primary-glow: rgba(157, 78, 221, 0.2);
--secondary: #06b6d4; --secondary: #240046;
--secondary-glow: rgba(6, 182, 212, 0.15); --accent: #00f5d4;
--accent-glow: rgba(0, 245, 212, 0.15);
--text-main: #f3f4f6; --text-main: #f8f9fa;
--text-muted: #9ca3af; --text-muted: #b3b3b3;
--success: #10b981; --success: #00f5d4;
--warning: #f59e0b; --warning: #ffb703;
} }
* { * {
@@ -54,23 +55,23 @@
.glow-1 { .glow-1 {
top: -10%; top: -10%;
left: -10%; left: -10%;
width: 40vw; width: 45vw;
height: 40vw; height: 45vw;
background: radial-gradient(circle, var(--primary) 0%, rgba(0,0,0,0) 70%); background: radial-gradient(circle, var(--primary) 0%, rgba(0,0,0,0) 70%);
} }
.glow-2 { .glow-2 {
top: 40%; top: 35%;
right: -10%; right: -10%;
width: 50vw; width: 50vw;
height: 50vw; height: 50vw;
background: radial-gradient(circle, var(--secondary) 0%, rgba(0,0,0,0) 70%); background: radial-gradient(circle, var(--accent) 0%, rgba(0,0,0,0) 70%);
} }
.glow-3 { .glow-3 {
bottom: -5%; bottom: -5%;
left: 10%; left: 10%;
width: 35vw; width: 35vw;
height: 35vw; height: 35vw;
background: radial-gradient(circle, #4f46e5 0%, rgba(0,0,0,0) 70%); background: radial-gradient(circle, #5a189a 0%, rgba(0,0,0,0) 70%);
} }
/* Container & Grid layout */ /* Container & Grid layout */
@@ -83,9 +84,9 @@
/* Navbar Styling */ /* Navbar Styling */
header { header {
border-bottom: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color);
backdrop-filter: blur(12px); backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(16px);
background: rgba(8, 11, 17, 0.75); background: rgba(11, 7, 30, 0.8);
position: sticky; position: sticky;
top: 0; top: 0;
z-index: 100; z-index: 100;
@@ -107,14 +108,14 @@
letter-spacing: -0.5px; letter-spacing: -0.5px;
} }
.logo-icon { .logo-icon {
width: 40px; width: 42px;
height: 40px; height: 42px;
background: linear-gradient(135deg, var(--primary), var(--secondary)); background: linear-gradient(135deg, var(--primary), var(--accent));
border-radius: 12px; border-radius: 14px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-shadow: 0 4px 20px rgba(139, 92, 246, 0.4); box-shadow: 0 4px 20px rgba(157, 78, 221, 0.4);
} }
.logo-icon svg { .logo-icon svg {
width: 24px; width: 24px;
@@ -141,8 +142,8 @@
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 0.75rem 1.5rem; padding: 0.75rem 1.6rem;
border-radius: 10px; border-radius: 12px;
font-weight: 700; font-weight: 700;
text-decoration: none; text-decoration: none;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
@@ -151,53 +152,64 @@
font-size: 0.95rem; font-size: 0.95rem;
} }
.btn-primary { .btn-primary {
background: linear-gradient(135deg, var(--primary), var(--secondary)); background: linear-gradient(135deg, var(--primary), #e0aaff);
color: white; color: #0b071e;
box-shadow: 0 4px 20px rgba(139, 92, 246, 0.35); box-shadow: 0 4px 20px rgba(157, 78, 221, 0.35);
} }
.btn-primary:hover { .btn-primary:hover {
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 6px 25px rgba(139, 92, 246, 0.5); box-shadow: 0 6px 25px rgba(157, 78, 221, 0.5);
background: linear-gradient(135deg, #e0aaff, var(--primary));
} }
.btn-secondary { .btn-secondary {
background: rgba(255, 255, 255, 0.05); background: rgba(255, 255, 255, 0.04);
color: var(--text-main); color: var(--text-main);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
} }
.btn-secondary:hover { .btn-secondary:hover {
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 255, 255, 0.2);
transform: translateY(-2px); transform: translateY(-2px);
} }
.btn-accent {
background: linear-gradient(135deg, var(--accent), #e0aaff);
color: #0b071e;
box-shadow: 0 4px 20px rgba(0, 245, 212, 0.3);
}
.btn-accent:hover {
transform: translateY(-2px);
box-shadow: 0 6px 25px rgba(0, 245, 212, 0.5);
}
/* Hero Section */ /* Hero Section */
.hero { .hero {
padding: 5rem 0; padding: 6rem 0;
position: relative; position: relative;
} }
.hero-grid { .hero-grid {
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1.1fr 0.9fr;
gap: 4rem; gap: 4rem;
align-items: center; align-items: center;
} }
.hero-content h1 { .hero-content h1 {
font-size: 3.2rem; font-size: 3.5rem;
font-weight: 800; font-weight: 800;
line-height: 1.25; line-height: 1.25;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
background: linear-gradient(to left, #ffffff, #c084fc, #22d3ee); background: linear-gradient(to left, #ffffff, #e0aaff, #00f5d4);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
.hero-content p { .hero-content p {
font-size: 1.15rem; font-size: 1.2rem;
color: var(--text-muted); color: var(--text-muted);
line-height: 1.8; line-height: 1.8;
margin-bottom: 2.5rem; margin-bottom: 2.5rem;
} }
.hero-actions { .hero-actions {
display: flex; display: flex;
gap: 1rem; gap: 1.25rem;
} }
.hero-visual { .hero-visual {
position: relative; position: relative;
@@ -206,46 +218,49 @@
} }
.mockup-wrapper { .mockup-wrapper {
position: relative; position: relative;
background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.01) 100%); background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
border: 1px solid var(--border-color); border: 1px solid rgba(255,255,255,0.1);
border-radius: 20px; border-radius: 24px;
padding: 0.5rem; padding: 0.5rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
backdrop-filter: blur(20px); backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
overflow: hidden; overflow: hidden;
width: 100%; width: 100%;
max-width: 500px; transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
transition: transform 0.5s ease;
} }
.mockup-wrapper:hover { .mockup-wrapper:hover {
transform: rotate(-1deg) scale(1.02); transform: translateY(-5px) scale(1.01);
border-color: rgba(157, 78, 221, 0.4);
} }
.mockup-img { .mockup-img {
width: 100%; width: 100%;
height: auto; height: auto;
border-radius: 15px; border-radius: 18px;
display: block; display: block;
} }
/* Features Section */ /* Features Section */
.features { .features {
padding: 6rem 0; padding: 6.5rem 0;
border-top: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
} }
.section-header { .section-header {
text-align: center; text-align: center;
max-width: 600px; max-width: 650px;
margin: 0 auto 4rem auto; margin: 0 auto 4.5rem auto;
} }
.section-header h2 { .section-header h2 {
font-size: 2.2rem; font-size: 2.5rem;
font-weight: 800; font-weight: 800;
margin-bottom: 1rem; margin-bottom: 1rem;
background: linear-gradient(to left, #ffffff, #e0aaff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
} }
.section-header p { .section-header p {
color: var(--text-muted); color: var(--text-muted);
font-size: 1.05rem; font-size: 1.1rem;
line-height: 1.6; line-height: 1.6;
} }
.features-grid { .features-grid {
@@ -256,116 +271,66 @@
.feature-card { .feature-card {
background: var(--panel-bg); background: var(--panel-bg);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 20px; border-radius: 24px;
padding: 2.2rem; padding: 2.5rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
backdrop-filter: blur(10px); backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
} }
.feature-card:hover { .feature-card:hover {
transform: translateY(-8px); transform: translateY(-8px);
border-color: rgba(139, 92, 246, 0.4); border-color: rgba(157, 78, 221, 0.4);
box-shadow: 0 12px 30px rgba(139, 92, 246, 0.1); box-shadow: 0 12px 30px rgba(157, 78, 221, 0.15);
} }
.feature-icon { .feature-icon {
width: 55px; width: 60px;
height: 55px; height: 60px;
border-radius: 12px; border-radius: 14px;
background: rgba(139, 92, 246, 0.1); background: rgba(157, 78, 221, 0.1);
border: 1px solid rgba(139, 92, 246, 0.2); border: 1px solid rgba(157, 78, 221, 0.2);
color: var(--primary); color: var(--primary);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 1.6rem; font-size: 1.8rem;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
box-shadow: 0 4px 15px rgba(157, 78, 221, 0.1);
} }
.feature-card:nth-child(even) .feature-icon { .feature-card:nth-child(even) .feature-icon {
background: rgba(6, 182, 212, 0.1); background: rgba(0, 245, 212, 0.1);
border: 1px solid rgba(6, 182, 212, 0.2); border: 1px solid rgba(0, 245, 212, 0.2);
color: var(--secondary); color: var(--accent);
box-shadow: 0 4px 15px rgba(0, 245, 212, 0.1);
} }
.feature-card h3 { .feature-card h3 {
font-size: 1.25rem; font-size: 1.35rem;
font-weight: 700; font-weight: 700;
margin-bottom: 0.75rem; margin-bottom: 0.75rem;
color: var(--text-main);
} }
.feature-card p { .feature-card p {
color: var(--text-muted); color: var(--text-muted);
font-size: 0.95rem; font-size: 0.98rem;
line-height: 1.6;
}
/* Coming Soon / Roadmap Section */
.roadmap {
padding: 6rem 0;
border-top: 1px solid var(--border-color);
background: linear-gradient(180deg, rgba(8,11,17,0) 0%, rgba(139, 92, 246, 0.03) 50%, rgba(8,11,17,0) 100%);
}
.roadmap-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 2rem;
}
.roadmap-card {
background: rgba(17, 24, 39, 0.4);
border: 1px solid var(--border-color);
border-radius: 20px;
padding: 2rem;
position: relative;
overflow: hidden;
}
.roadmap-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--primary), var(--secondary));
}
.badge-soon {
position: absolute;
top: 1rem;
left: 1rem;
background: rgba(245, 158, 11, 0.15);
border: 1px solid rgba(245, 158, 11, 0.3);
color: var(--warning);
padding: 0.25rem 0.75rem;
border-radius: 30px;
font-size: 0.75rem;
font-weight: 700;
}
.roadmap-card h3 {
font-size: 1.3rem;
font-weight: 700;
margin-top: 1.5rem;
margin-bottom: 0.75rem;
}
.roadmap-card p {
color: var(--text-muted);
font-size: 0.9rem;
line-height: 1.6; line-height: 1.6;
} }
/* Pricing Section */ /* Pricing Section */
.pricing { .pricing {
padding: 6rem 0; padding: 6.5rem 0;
border-top: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
} }
.pricing-grid { .pricing-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 2rem; gap: 2rem;
align-items: stretch; align-items: stretch;
max-width: 1000px;
margin: 0 auto; margin: 0 auto;
} }
.price-card { .price-card {
background: var(--panel-bg); background: var(--panel-bg);
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 24px; border-radius: 24px;
padding: 3rem 2.5rem; padding: 2.5rem 2rem;
text-align: center; text-align: center;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -373,35 +338,46 @@
position: relative; position: relative;
backdrop-filter: blur(10px); backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.price-card:hover {
transform: translateY(-5px);
border-color: rgba(255, 255, 255, 0.15);
} }
.price-card.featured { .price-card.featured {
border-color: var(--primary); border-color: var(--primary);
box-shadow: 0 10px 40px rgba(139, 92, 246, 0.15); box-shadow: 0 10px 40px rgba(157, 78, 221, 0.15);
background: linear-gradient(180deg, rgba(22, 16, 48, 0.9) 0%, rgba(36, 0, 70, 0.6) 100%);
} }
.price-card.featured .popular-tag { .price-card.featured .popular-tag {
position: absolute; position: absolute;
top: -12px; top: -12px;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
background: var(--primary); background: linear-gradient(135deg, var(--primary), #e0aaff);
color: white; color: #0b071e;
padding: 0.3rem 1.2rem; padding: 0.3rem 1.2rem;
border-radius: 30px; border-radius: 30px;
font-size: 0.8rem; font-size: 0.8rem;
font-weight: 700; font-weight: 800;
box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4); box-shadow: 0 4px 15px rgba(157, 78, 221, 0.4);
} }
.price-name { .price-name {
font-size: 1.3rem; font-size: 1.35rem;
font-weight: 700; font-weight: 700;
color: var(--text-muted);
margin-bottom: 1rem;
}
.price-val {
font-size: 3rem;
font-weight: 800;
color: var(--text-main); color: var(--text-main);
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
}
.price-desc {
font-size: 0.85rem;
color: var(--text-muted);
margin-bottom: 1.5rem;
}
.price-val {
font-size: 2.8rem;
font-weight: 800;
color: var(--text-main);
margin-bottom: 1.5rem;
display: flex; display: flex;
align-items: baseline; align-items: baseline;
justify-content: center; justify-content: center;
@@ -414,29 +390,29 @@
} }
.price-features { .price-features {
list-style: none; list-style: none;
margin: 2.5rem 0; margin-bottom: 2.5rem;
text-align: right; text-align: right;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 1rem; gap: 0.85rem;
} }
.price-features li { .price-features li {
font-size: 0.95rem; font-size: 0.92rem;
color: var(--text-main); color: var(--text-main);
display: flex; display: flex;
align-items: center; align-items: center;
gap: 0.75rem; gap: 0.65rem;
} }
.price-features li svg { .price-features li svg {
width: 18px; width: 16px;
height: 18px; height: 16px;
fill: var(--success); fill: var(--accent);
flex-shrink: 0; flex-shrink: 0;
} }
/* Simulated Chat Area */ /* Simulated Chat Area */
.chat-demo { .chat-demo {
padding: 6rem 0; padding: 6.5rem 0;
border-top: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
} }
.chat-container { .chat-container {
@@ -446,12 +422,19 @@
border: 1px solid var(--border-color); border: 1px solid var(--border-color);
border-radius: 24px; border-radius: 24px;
overflow: hidden; overflow: hidden;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
} }
.chat-header { .chat-header {
background: rgba(255, 255, 255, 0.03); background: rgba(255, 255, 255, 0.03);
border-bottom: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color);
padding: 1.2rem 1.5rem; padding: 1.2rem 1.5rem;
display: flex;
align-items: center;
justify-content: space-between;
}
.chat-header-user {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 1rem; gap: 1rem;
@@ -460,12 +443,12 @@
width: 45px; width: 45px;
height: 45px; height: 45px;
border-radius: 50%; border-radius: 50%;
background: linear-gradient(135deg, var(--primary), var(--secondary)); background: linear-gradient(135deg, var(--primary), var(--accent));
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: white; color: #0b071e;
font-weight: 700; font-weight: 800;
font-size: 1.2rem; font-size: 1.2rem;
} }
.chat-header-info h4 { .chat-header-info h4 {
@@ -496,13 +479,14 @@
} }
.msg-in { .msg-in {
align-self: flex-start; align-self: flex-start;
background: rgba(255, 255, 255, 0.06); background: rgba(255, 255, 255, 0.05);
color: var(--text-main); color: var(--text-main);
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
border: 1px solid rgba(255, 255, 255, 0.03);
} }
.msg-out { .msg-out {
align-self: flex-end; align-self: flex-end;
background: linear-gradient(135deg, var(--primary), #6366f1); background: linear-gradient(135deg, var(--primary), #7209b7);
color: white; color: white;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
} }
@@ -527,11 +511,66 @@
border-color: var(--primary); border-color: var(--primary);
} }
/* Coming Soon / Roadmap Section */
.roadmap {
padding: 6.5rem 0;
border-top: 1px solid var(--border-color);
background: linear-gradient(180deg, rgba(8,11,17,0) 0%, rgba(157, 78, 221, 0.03) 50%, rgba(8,11,17,0) 100%);
}
.roadmap-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 2rem;
}
.roadmap-card {
background: rgba(22, 16, 48, 0.4);
border: 1px solid var(--border-color);
border-radius: 24px;
padding: 2.2rem;
position: relative;
overflow: hidden;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
.roadmap-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--primary), var(--accent));
}
.badge-soon {
position: absolute;
top: 1.2rem;
left: 1.2rem;
background: rgba(255, 183, 3, 0.15);
border: 1px solid rgba(255, 183, 3, 0.3);
color: var(--warning);
padding: 0.25rem 0.75rem;
border-radius: 30px;
font-size: 0.75rem;
font-weight: 700;
}
.roadmap-card h3 {
font-size: 1.3rem;
font-weight: 700;
margin-top: 1.5rem;
margin-bottom: 0.75rem;
color: var(--text-main);
}
.roadmap-card p {
color: var(--text-muted);
font-size: 0.92rem;
line-height: 1.6;
}
/* Footer */ /* Footer */
footer { footer {
border-top: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
background: #04060a; background: #060411;
padding: 4rem 0 2rem 0; padding: 5rem 0 2rem 0;
color: var(--text-muted); color: var(--text-muted);
font-size: 0.9rem; font-size: 0.9rem;
} }
@@ -539,13 +578,13 @@
display: grid; display: grid;
grid-template-columns: 2fr 1fr 1fr; grid-template-columns: 2fr 1fr 1fr;
gap: 4rem; gap: 4rem;
margin-bottom: 3rem; margin-bottom: 3.5rem;
} }
.footer-logo { .footer-logo {
font-size: 1.4rem; font-size: 1.5rem;
font-weight: 800; font-weight: 800;
color: var(--text-main); color: var(--text-main);
margin-bottom: 1rem; margin-bottom: 1.2rem;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 0.5rem; gap: 0.5rem;
@@ -574,6 +613,7 @@
text-align: center; text-align: center;
padding-top: 2rem; padding-top: 2rem;
border-top: 1px solid var(--border-color); border-top: 1px solid var(--border-color);
color: rgba(255,255,255,0.3);
} }
/* Responsive adjustments */ /* Responsive adjustments */
@@ -591,7 +631,7 @@
gap: 2.5rem; gap: 2.5rem;
} }
.nav-links { .nav-links {
display: none; /* Mobile menu can be added later */ display: none;
} }
} }
</style> </style>
@@ -615,10 +655,11 @@
<ul class="nav-links"> <ul class="nav-links">
<li><a href="#features">الميزات</a></li> <li><a href="#features">الميزات</a></li>
<li><a href="#pricing">باقات الاشتراك</a></li>
<li><a href="#demo">التجربة التفاعلية</a></li>
<li><a href="#coming-soon">قريباً</a></li> <li><a href="#coming-soon">قريباً</a></li>
<li><a href="#pricing">الأسعار</a></li>
<li><a href="#demo">تجربة حية</a></li>
<li><a href="/login" class="btn btn-secondary" style="padding: 0.5rem 1.25rem;">تسجيل الدخول</a></li> <li><a href="/login" class="btn btn-secondary" style="padding: 0.5rem 1.25rem;">تسجيل الدخول</a></li>
<li><a href="/register" class="btn btn-accent" style="padding: 0.5rem 1.25rem;">ابدأ مجاناً</a></li>
</ul> </ul>
</div> </div>
</header> </header>
@@ -627,16 +668,15 @@
<section class="hero"> <section class="hero">
<div class="container hero-grid"> <div class="container hero-grid">
<div class="hero-content"> <div class="hero-content">
<h1>نبيه: مستقبل خدمة العملاء والأتمتة الذكية</h1> <h1>أتمتة خدمة العملاء والردود الذكية المتكاملة</h1>
<p>منصة الساس المتكاملة لربط قنوات واتساب وإدارة المحادثات تلقائياً بالاعتماد على الذكاء الاصطناعي. ابدأ فترتك التجريبية مجاناً اليوم وزد من مبيعات متجرك وفعالية الدعم الفني لديك بمعدل 5 أضعاف.</p> <p>منصة نبيه تمنحك إمكانية ربط قنوات الاتصال والواتساب وتشغيل مساعد ذكي مدعوم بـ AI يقوم بقراءة الرسائل والصور والإجابة على العملاء فورياً لزيادة مبيعات متجرك وتفعيل أتمتة الدعم والعمليات بمعدل 5 أضعاف.</p>
<div class="hero-actions"> <div class="hero-actions">
<a href="/register" class="btn btn-primary">ابدأ مجاناً (14 يوم)</a> <a href="/register" class="btn btn-accent">ابدأ تجربتك المجانية (14 يوم)</a>
<a href="#demo" class="btn btn-secondary">شاهد عرضاً حياً</a> <a href="#demo" class="btn btn-secondary">جرب المحاكاة التفاعلية</a>
</div> </div>
</div> </div>
<div class="hero-visual"> <div class="hero-visual">
<div class="mockup-wrapper"> <div class="mockup-wrapper">
<!-- Referencing the generated image served dynamically -->
<img src="/landing_mockup.php" alt="لوحة تحكم نبيه الذكية" class="mockup-img"> <img src="/landing_mockup.php" alt="لوحة تحكم نبيه الذكية" class="mockup-img">
</div> </div>
</div> </div>
@@ -647,63 +687,33 @@
<section class="features" id="features"> <section class="features" id="features">
<div class="container"> <div class="container">
<div class="section-header"> <div class="section-header">
<h2>لماذا تختار منصة نبيه؟</h2> <h2>لماذا تختار منصة نبيه لأعمالك؟</h2>
<p>نجمع لك أفضل تقنيات ربط قنوات الاتصال والردود الذكية لتوفر الوقت والجهد وتصنع تجربة عميل فائقة.</p> <p>نجمع لك أفضل تقنيات المحادثة الذكية وأدوات التفاعل المتكاملة لتوفير الوقت وتحسين تجربة العميل.</p>
</div> </div>
<div class="features-grid"> <div class="features-grid">
<div class="feature-card"> <div class="feature-card">
<div class="feature-icon">🤖</div> <div class="feature-icon">🤖</div>
<h3>ذكاء اصطناعي تفاعلي (Gemini)</h3> <h3>مساعد ذكي بالذكاء الاصطناعي</h3>
<p>مساعد ذكي يقرأ نية العميل ويجيب على الاستفسارات، كما يدعم قراءة المستندات والصور (OCR) للمطابقة التلقائية.</p> <p>مساعد مخصص يفهم سياق الحديث، ويجيب على الاستفسارات المعقدة بلغات ولهجات مختلفة، ويقرأ الصور والملفات المرفقة (OCR).</p>
</div> </div>
<div class="feature-card"> <div class="feature-card">
<div class="feature-icon"></div> <div class="feature-icon"></div>
<h3>محرك تدفق المحادثات (Flow Engine)</h3> <h3>محرك المحادثات التفاعلية</h3>
<p>رسم سيناريوهات محادثة ديناميكية متعددة الخطوات لجمع البيانات، تسجيل السائقين، أو تتبع الشحنات بكل مرونة.</p> <p>صياغة مسارات محادثات تفاعلية خطوة بخطوة للتحقق من أرقام الهواتف، تسجيل السائقين الجدد، أو أخذ بيانات الحجز بكل سلاسة.</p>
</div> </div>
<div class="feature-card"> <div class="feature-card">
<div class="feature-icon">🛍️</div> <div class="feature-icon">🛍️</div>
<h3>أتمتة التجارة الإلكترونية</h3> <h3>تكامل المتاجر الإلكترونية</h3>
<p>إشعارات تلقائية فورية لتأكيد الطلب وشحنه، وإرسال تنبيهات استعادة السلات المتروكة لزيادة مبيعات متجرك.</p> <p>الربط المباشر مع سلة (Salla) و WooCommerce لإرسال تحديثات حالة الطلب تلقائياً وتذكير العملاء بالسلات المتروكة.</p>
</div> </div>
<div class="feature-card"> <div class="feature-card">
<div class="feature-icon">📢</div> <div class="feature-icon">📢</div>
<h3>حملات البث الجماعي</h3> <h3>حملات الرسائل الجماعية</h3>
<p>إرسال رسائل وحملات تسويقية جماعية للفئات المستهدفة مع تقارير وإحصائيات تفصيلية لمعدلات التسليم والاستهلاك.</p> <p>أرسل عروضك وحملاتك التسويقية إلى قائمة عملائك بكبسة زر واحدة، مع متابعة فورية لمعدلات التسليم والقراءة.</p>
</div>
</div>
</div>
</section>
<!-- Coming Soon Section -->
<section class="roadmap" id="coming-soon">
<div class="container">
<div class="section-header">
<h2>رؤيتنا المستقبلية وقريباً بالمنصة</h2>
<p>نسعى لبناء نظام اتصالات موحد لكافة قنوات أعمالك. إليك الميزات والمنصات التي نعمل على إطلاقها حالياً:</p>
</div>
<div class="roadmap-grid">
<div class="roadmap-card">
<span class="badge-soon">الربع الحالي</span>
<h3>بوتات تيليجرام (Telegram)</h3>
<p>ربط قنوات التليجرام والمجموعات بمحرك الرد والخطوات التفاعلية لخدمة العملاء على نطاق واسع.</p>
</div>
<div class="roadmap-card">
<span class="badge-soon">الربع الحالي</span>
<h3>ماسنجر وإنستغرام (Meta API)</h3>
<p>استقبال الردود والرسائل المباشرة (DMs) لصفحات الفيسبوك وحسابات الإنستغرام وإدارتها من لوحة واحدة وبشكل مؤتمت.</p>
</div>
<div class="roadmap-card">
<span class="badge-soon">قريباً جداً</span>
<h3>تكامل شوبيفاي المباشر (Shopify)</h3>
<p>إرسال ويب هوك تلقائي لحالات الطلب وتوفير ميزة البحث عن الشحنات لعملاء متاجر شوبيفاي عبر البوت.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -713,26 +723,28 @@
<section class="chat-demo" id="demo"> <section class="chat-demo" id="demo">
<div class="container"> <div class="container">
<div class="section-header"> <div class="section-header">
<h2>جرّب البوت التفاعلي الآن</h2> <h2>تفاعل مع محاكاة البوت الذكي</h2>
<p>تفاعل مع النموذج أدناه لترى كيف يقوم محرك المحادثة بالاستجابة لطلب العميل وحفظ حالته:</p> <p>قم بكتابة أي رسالة للتعرف على سرعة ردود المساعد التلقائي ومحرك المحادثات التفاعلية:</p>
</div> </div>
<div class="chat-container"> <div class="chat-container">
<div class="chat-header"> <div class="chat-header">
<div class="chat-avatar">ن</div> <div class="chat-header-user">
<div class="chat-header-info"> <div class="chat-avatar">ن</div>
<h4>مساعد نبيه الذكي</h4> <div class="chat-header-info">
<span>🟢 متصل بالإنترنت</span> <h4>مساعد نبيه الافتراضي</h4>
<span>🟢 متصل ومستعد للرد</span>
</div>
</div> </div>
</div> </div>
<div class="chat-body" id="chat-box"> <div class="chat-body" id="chat-box">
<div class="msg msg-in">مرحباً بك! أنا مساعد منصة نبيه الذكي. كيف يمكنني خدمتك اليوم؟</div> <div class="msg msg-in">أهلاً بك! أنا مساعد منصة نبيه المخصص لخدمتك. ما الذي يمكنني إرشادك إليه اليوم؟</div>
</div> </div>
<div class="chat-footer"> <div class="chat-footer">
<input type="text" id="chat-input" class="chat-input" placeholder="اكتب رسالتك هنا... (مثال: 'طلب ترقية الحساب' أو 'أسعار الباقات')" onkeypress="handleKeyPress(event)"> <input type="text" id="chat-input" class="chat-input" placeholder="مثال: 'كم سعر الباقة الفضية؟' أو 'أريد تجربة الخدمة'" onkeypress="handleKeyPress(event)">
<button class="btn btn-primary" style="padding: 0.5rem 1.25rem;" onclick="sendMessage()">إرسال</button> <button class="btn btn-accent" style="padding: 0.5rem 1.25rem;" onclick="sendMessage()">إرسال</button>
</div> </div>
</div> </div>
</div> </div>
@@ -742,39 +754,110 @@
<section class="pricing" id="pricing"> <section class="pricing" id="pricing">
<div class="container"> <div class="container">
<div class="section-header"> <div class="section-header">
<h2>باقات تناسب نمو أعمالك</h2> <h2>باقات اشتراك مرنة لكل مستويات الأعمال</h2>
<p>ابدأ بفترة تجريبية مجانية واختر الباقة الأنسب لاحقاً. لا نطلب بطاقة ائتمانية للتسجيل.</p> <p>ابدأ بفترة تجريبية مجانية واستكشف كافة الميزات دون الحاجة لبطاقة ائتمان.</p>
</div> </div>
<div class="pricing-grid"> <div class="pricing-grid">
<!-- Trial --> <!-- Free Trial (Plan ID: 4) -->
<div class="price-card"> <div class="price-card">
<div> <div>
<div class="price-name">باقة التجربة المجانية</div> <div class="price-name">الفترة التجريبية</div>
<div class="price-desc">استكشف جميع ميزات المنصة مجاناً</div>
<div class="price-val">0 <span>د.أ / 14 يوم</span></div> <div class="price-val">0 <span>د.أ / 14 يوم</span></div>
<ul class="price-features"> <ul class="price-features">
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> خط واتساب واحد نشط</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> خط واتساب واحد نشط</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 100 رسالة تجريبية</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 5,000 رسالة تجريبية</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> دعم بوت الرد التلقائي الأساسي</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 100 رسالة صوتية مدمجة</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 100 عملية تحليل مستندات OCR</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> اختبار متكامل مع المتاجر</li>
</ul> </ul>
</div> </div>
<a href="/register" class="btn btn-secondary">ابدأ الفترة التجريبية</a> <a href="/register" class="btn btn-secondary">ابدأ التجربة مجاناً</a>
</div>
<!-- Starter (Plan ID: 1) -->
<div class="price-card">
<div>
<div class="price-name">الباقة الأساسية</div>
<div class="price-desc">مثالية للمتاجر الصغيرة والناشئة</div>
<div class="price-val">19 <span>د.أ / شهرياً</span></div>
<ul class="price-features">
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> خط واتساب واحد نشط</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 1,000 رسالة / شهرياً</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> بوت رد تلقائي أساسي</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> إدارة الحملات التسويقية</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> تقارير وإحصائيات أساسية</li>
</ul>
</div>
<a href="/register" class="btn btn-secondary">اشترك الآن</a>
</div> </div>
<!-- Silver (Featured) --> <!-- Growth (Plan ID: 2 - Featured) -->
<div class="price-card featured"> <div class="price-card featured">
<div class="popular-tag">الأكثر طلباً</div> <div class="popular-tag">الأكثر طلباً</div>
<div> <div>
<div class="price-name">الباقة الفضية (Silver)</div> <div class="price-name">الباقة المتقدمة</div>
<div class="price-val">29 <span>د.أ / شهرياً</span></div> <div class="price-desc">للشركات والمتاجر متوسطة الحجم</div>
<div class="price-val">49 <span>د.أ / شهرياً</span></div>
<ul class="price-features"> <ul class="price-features">
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> خطين واتساب متصلين</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> خطين واتساب متصلين</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 5,000 رسالة / شهرياً</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 5,000 رسالة / شهرياً</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> تكامل متكامل مع الذكاء الاصطناعي</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 500 رسالة صوتية شهرياً</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> ربط المتاجر الإلكترونية والسلات المتروكة</li> <li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 500 عملية تحليل مستندات OCR</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> ربط متاجر سلة و WooCommerce</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> محادثات تفاعلية ومساعد ذكي AI</li>
</ul> </ul>
</div> </div>
<a href="/register" class="btn btn-primary">اشترك الآن</a> <a href="/register" class="btn btn-accent">اشترك الآن</a>
</div>
<!-- Professional (Plan ID: 3) -->
<div class="price-card">
<div>
<div class="price-name">باقة المحترفين</div>
<div class="price-desc">للشركات الكبرى والعمليات الواسعة</div>
<div class="price-val">99 <span>د.أ / شهرياً</span></div>
<ul class="price-features">
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 5 خطوط واتساب نشطة</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 15,000 رسالة / شهرياً</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 2,000 رسالة صوتية شهرياً</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> 2,000 عملية تحليل OCR</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> تكامل مع الويب هوك والربط الخارجي</li>
<li><svg viewBox="0 0 20 20"><path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/></svg> ذكاء اصطناعي تفاعلي وصوتي كامل</li>
</ul>
</div>
<a href="/register" class="btn btn-secondary">اشترك الآن</a>
</div>
</div>
</div>
</section>
<!-- Coming Soon Section -->
<section class="roadmap" id="coming-soon">
<div class="container">
<div class="section-header">
<h2>رؤيتنا المستقبلية وقنوات الاتصال القادمة</h2>
<p>نعمل باستمرار على تمكينك من إدارة كافة تفاعلاتك مع العملاء من منصة واحدة وموحدة:</p>
</div>
<div class="roadmap-grid">
<div class="roadmap-card">
<span class="badge-soon">الربع الحالي</span>
<h3>بوتات تيليجرام (Telegram)</h3>
<p>أتمتة المحادثات والرد التلقائي وإدارة مجموعات وقنوات التيليجرام بمساعد الذكاء الاصطناعي مباشرة.</p>
</div>
<div class="roadmap-card">
<span class="badge-soon">الربع الحالي</span>
<h3>ماسنجر وإنستغرام (Meta APIs)</h3>
<p>استقبال وإرسال الرسائل لصفحات الفيسبوك وحسابات الإنستغرام وإطلاق ردود ذكية ومسارات حجز تلقائية.</p>
</div>
<div class="roadmap-card">
<span class="badge-soon">قريباً جداً</span>
<h3>تكامل شوبيفاي المباشر (Shopify)</h3>
<p>تزامن فوري للمنتجات وحالة الطلب وتتبع الشحنات لعملاء متاجر شوبيفاي لتقليل تذاكر الدعم الفني.</p>
</div> </div>
</div> </div>
</div> </div>
@@ -785,38 +868,32 @@
<div class="container footer-grid"> <div class="container footer-grid">
<div class="footer-col"> <div class="footer-col">
<div class="footer-logo"> <div class="footer-logo">
<span style="font-weight: 800;">نبيه</span> <span style="font-weight: 800; color: white;">نبيه</span>
</div> </div>
<p style="line-height: 1.6; margin-bottom: 1.5rem;">منصة ساس متكاملة لتشغيل أتمتة الأعمال وخدمة العملاء الذكية عبر قنوات المراسلة الفورية.</p> <p style="line-height: 1.6; margin-bottom: 1.5rem;">منصة المحادثة الفورية المتكاملة لربط أعمالك مع الذكاء الاصطناعي وأتمتة خدمة العملاء على مدار الساعة.</p>
</div> </div>
<div class="footer-col"> <div class="footer-col">
<h5>روابط سريعة</h5> <h5>روابط سريعة</h5>
<ul class="footer-links"> <ul class="footer-links">
<li><a href="#features">الميزات الأساسية</a></li> <li><a href="#features">الميزات الأساسية</a></li>
<li><a href="#coming-soon">خطة العمل المستقبلية</a></li>
<li><a href="#pricing">باقات الاشتراك</a></li> <li><a href="#pricing">باقات الاشتراك</a></li>
<li><a href="#demo">التجربة التفاعلية</a></li>
</ul> </ul>
</div> </div>
<div class="footer-col"> <div class="footer-col">
<h5>الحساب</h5> <h5>تواصل معنا</h5>
<ul class="footer-links"> <p style="line-height: 1.6;">البريد الإلكتروني: support@nabeh.app<br>عمان، الأردن</p>
<li><a href="/login">تسجيل الدخول</a></li>
<li><a href="/register">حساب جديد</a></li>
</ul>
</div> </div>
</div> </div>
<div class="copyright container"> <div class="copyright">
<p>&copy; 2026 منصة نبيه (Nabeh). جميع الحقوق محفوظة.</p> جميع الحقوق محفوظة لمنصة نبيه © 2026
</div> </div>
</footer> </footer>
<script> <script>
const chatBox = document.getElementById('chat-box');
const chatInput = document.getElementById('chat-input');
function handleKeyPress(event) { function handleKeyPress(event) {
if (event.key === 'Enter') { if (event.key === 'Enter') {
sendMessage(); sendMessage();
@@ -824,33 +901,41 @@
} }
function sendMessage() { function sendMessage() {
const text = chatInput.value.trim(); const input = document.getElementById('chat-input');
if (!text) return; const message = input.value.trim();
if (!message) return;
// Add user message const chatBox = document.getElementById('chat-box');
addMessage(text, 'msg-out');
chatInput.value = ''; // Append user message
const userMsgDiv = document.createElement('div');
// Simulated response logic userMsgDiv.className = 'msg msg-out';
setTimeout(() => { userMsgDiv.textContent = message;
let reply = 'شكراً لرسالتك! لطلب تفعيل الحساب أو الترقية، يرجى التسجيل وتوجه لتبويب "الباقات والاشتراكات" في حسابك.'; chatBox.appendChild(userMsgDiv);
if (text.includes('سعر') || text.includes('باق') || text.includes('اسعار')) {
reply = 'تبدأ باقاتنا من 0 د.أ للفترة التجريبية، ولدينا باقات مميزة كالباقة الفضية بقيمة 29 د.أ شهرياً تشمل ميزات الذكاء الاصطناعي وسيناريوهات التدفق التفاعلي.'; input.value = '';
} else if (text.includes('الذكاء') || text.includes('اصطناعي') || text.includes('gemini')) {
reply = 'نستخدم نموذج Gemini AI الذكي لقراءة الرسائل وفهم نية العميل، كما ندعم استخراج البيانات النصية من الصور (OCR) لتسجيل وتفعيل الاشتراكات.';
} else if (text.includes('شوبيفاي') || text.includes('shopify') || text.includes('متجر')) {
reply = 'أهلاً بك! ميزة الربط المباشر مع شوبيفاي وسلة المشتريات قيد التطوير وستنطلق قريباً جداً في الربع الحالي لأتمتة الرسائل التنبيهية.';
}
addMessage(reply, 'msg-in');
}, 800);
}
function addMessage(text, className) {
const msgDiv = document.createElement('div');
msgDiv.className = `msg ${className}`;
msgDiv.innerText = text;
chatBox.appendChild(msgDiv);
chatBox.scrollTop = chatBox.scrollHeight; chatBox.scrollTop = chatBox.scrollHeight;
// Generate reply based on keywords
setTimeout(() => {
const replyDiv = document.createElement('div');
replyDiv.className = 'msg msg-in';
let reply = 'أهلاً بك! لقد استلمت رسالتك بنجاح. مساعد نبيه الذكي قيد التشغيل وسيقوم بالتواصل معك بكافة التفاصيل.';
const msgLower = message.toLowerCase();
if (msgLower.includes('سعر') || msgLower.includes('باق') || msgLower.includes('أسعار') || msgLower.includes('بكم')) {
reply = 'منصة نبيه توفر 4 باقات:\n1. الباقة التجريبية: مجاناً لـ 14 يوماً.\n2. الباقة الأساسية: 19 د.أ / شهرياً.\n3. الباقة المتقدمة: 49 د.أ / شهرياً.\n4. باقة المحترفين: 99 د.أ / شهرياً.';
} else if (msgLower.includes('تجرب') || msgLower.includes('مجانا') || msgLower.includes('trial')) {
reply = 'يمكنك بدء التجربة المجانية لمدة 14 يوماً فوراً دون الحاجة لبطاقة ائتمان من خلال الضغط على زر "ابدأ مجاناً" أعلى الصفحة.';
} else if (msgLower.includes('سلة') || msgLower.includes('woocommerce') || msgLower.includes('متجر')) {
reply = 'نعم! تدعم باقاتنا المتقدمة والاحترافية التكامل الفوري والمباشر مع متاجر سلة و WooCommerce لمتابعة الطلبات وتذكير السلات المتروكة.';
}
replyDiv.innerText = reply;
chatBox.appendChild(replyDiv);
chatBox.scrollTop = chatBox.scrollHeight;
}, 800);
} }
</script> </script>
</body> </body>

View File

@@ -1,3 +1,3 @@
<?php <?php
header('Content-Type: image/png'); header('Content-Type: image/png');
readfile('/Users/hamzaaleghwairyeen/.gemini/antigravity-ide/brain/ded33709-0084-4a6b-881c-786000c9ec5a/nabeh_landing_mockup_1779496984022.png'); readfile('/Users/hamzaaleghwairyeen/.gemini/antigravity-ide/brain/02dd4532-05ee-439e-aa7b-3a6871c36063/nabeh_dashboard_mockup_1779822572824.png');

View File

@@ -2,7 +2,7 @@
<application <application
android:label="nabeh" android:label="nabeh"
android:name="${applicationName}" android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/launcher_icon">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true" android:exported="true"

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:

View File

@@ -5,11 +5,14 @@ PODS:
- path_provider_foundation (0.0.1): - path_provider_foundation (0.0.1):
- Flutter - Flutter
- FlutterMacOS - FlutterMacOS
- url_launcher_ios (0.0.1):
- Flutter
DEPENDENCIES: DEPENDENCIES:
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
EXTERNAL SOURCES: EXTERNAL SOURCES:
Flutter: Flutter:
@@ -18,11 +21,14 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_secure_storage/ios" :path: ".symlinks/plugins/flutter_secure_storage/ios"
path_provider_foundation: path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin" :path: ".symlinks/plugins/path_provider_foundation/darwin"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13 flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
PODFILE CHECKSUM: 912e34f102da91123e38965ab4e5b3fb21e195f0 PODFILE CHECKSUM: 912e34f102da91123e38965ab4e5b3fb21e195f0

View File

@@ -155,7 +155,6 @@
5F67C1A9F2BBE935C19BC982 /* Pods-RunnerTests.release.xcconfig */, 5F67C1A9F2BBE935C19BC982 /* Pods-RunnerTests.release.xcconfig */,
4D196AD247F4CB184C87F520 /* Pods-RunnerTests.profile.xcconfig */, 4D196AD247F4CB184C87F520 /* Pods-RunnerTests.profile.xcconfig */,
); );
name = Pods;
path = Pods; path = Pods;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@@ -418,9 +417,10 @@
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = { 249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 79E5A6F3F41074AD93D3FE67 /* Pods-Runner.profile.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
@@ -542,9 +542,10 @@
}; };
97C147031CF9000F007C117D /* Debug */ = { 97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 0D7BC64BC15C3D1622EAE826 /* Pods-Runner.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
@@ -599,9 +600,10 @@
}; };
97C147041CF9000F007C117D /* Release */ = { 97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 9DB9D60ABA54EABFC41D4762 /* Pods-Runner.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 32 KiB

BIN
mobile/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

View File

@@ -5,11 +5,14 @@ PODS:
- path_provider_foundation (0.0.1): - path_provider_foundation (0.0.1):
- Flutter - Flutter
- FlutterMacOS - FlutterMacOS
- url_launcher_macos (0.0.1):
- FlutterMacOS
DEPENDENCIES: DEPENDENCIES:
- flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`)
- FlutterMacOS (from `Flutter/ephemeral`) - FlutterMacOS (from `Flutter/ephemeral`)
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
EXTERNAL SOURCES: EXTERNAL SOURCES:
flutter_secure_storage_macos: flutter_secure_storage_macos:
@@ -18,11 +21,14 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral :path: Flutter/ephemeral
path_provider_foundation: path_provider_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
SPEC CHECKSUMS: SPEC CHECKSUMS:
flutter_secure_storage_macos: 7f45e30f838cf2659862a4e4e3ee1c347c2b3b54 flutter_secure_storage_macos: 7f45e30f838cf2659862a4e4e3ee1c347c2b3b54
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009 PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009

View File

@@ -1,6 +1,22 @@
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
archive:
dependency: transitive
description:
name: archive
sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff
url: "https://pub.dev"
source: hosted
version: "4.0.9"
args:
dependency: transitive
description:
name: args
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev"
source: hosted
version: "2.7.0"
async: async:
dependency: transitive dependency: transitive
description: description:
@@ -29,10 +45,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.4.0" version: "1.4.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
url: "https://pub.dev"
source: hosted
version: "2.0.4"
cli_util:
dependency: transitive
description:
name: cli_util
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
url: "https://pub.dev"
source: hosted
version: "0.4.2"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@@ -86,6 +118,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.1.6" version: "8.1.6"
flutter_launcher_icons:
dependency: "direct dev"
description:
name: flutter_launcher_icons
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
url: "https://pub.dev"
source: hosted
version: "0.13.1"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
@@ -168,6 +208,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.2" version: "4.1.2"
image:
dependency: transitive
description:
name: image
sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce
url: "https://pub.dev"
source: hosted
version: "4.8.0"
js: js:
dependency: transitive dependency: transitive
description: description:
@@ -176,30 +224,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.7" version: "0.6.7"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
version: "4.9.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.9" version: "11.0.2"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.9" version: "3.0.10"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@@ -212,26 +268,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.17" version: "0.12.18"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.11.1" version: "0.13.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.16.0" version: "1.17.0"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@@ -296,6 +352,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.0" version: "2.3.0"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675"
url: "https://pub.dev"
source: hosted
version: "7.0.2"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@@ -312,6 +376,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.8" version: "2.1.8"
posix:
dependency: transitive
description:
name: posix
sha256: "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07"
url: "https://pub.dev"
source: hosted
version: "6.5.0"
provider: provider:
dependency: transitive dependency: transitive
description: description:
@@ -369,10 +441,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.4" version: "0.7.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -449,10 +521,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.2.0"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
@@ -485,6 +557,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
xml:
dependency: transitive
description:
name: xml
sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
url: "https://pub.dev"
source: hosted
version: "6.6.1"
yaml:
dependency: transitive
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.dev"
source: hosted
version: "3.1.3"
sdks: sdks:
dart: ">=3.8.0 <4.0.0" dart: ">=3.9.0-0 <4.0.0"
flutter: ">=3.32.0" flutter: ">=3.32.0"

View File

@@ -24,6 +24,12 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^3.0.0 flutter_lints: ^3.0.0
flutter_launcher_icons: ^0.13.1
flutter_launcher_icons:
android: "launcher_icon"
ios: true
image_path: "logo.png"
flutter: flutter:
uses-material-design: true uses-material-design: true