Files
maps-saas/apps/dashboard/index.html
T
2026-04-15 19:56:49 +03:00

266 lines
15 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Intaleq Maps | The Premium Google Maps Alternative</title>
<script src="js/lib/tailwind.min.js"></script>
<script src="js/lib/lucide.min.js"></script>
<script src="js/lib/maplibre-gl.js"></script>
<link href="css/lib/maplibre-gl.css" rel="stylesheet" />
<style>
/* Local Font Definitions */
@font-face {
font-family: 'Plus Jakarta Sans';
src: url('fonts/pjs-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Plus Jakarta Sans';
src: url('fonts/pjs-bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Cairo';
src: url('fonts/cairo-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Cairo';
src: url('fonts/cairo-bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
}
body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #050505; color: #fff; }
.glass { background: rgba(20, 20, 25, 0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.05); }
.text-gradient { background: linear-gradient(135deg, #fff 0%, #94a3b8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.blue-gradient { background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%); }
.feature-card:hover { transform: translateY(-5px); border-color: rgba(37, 99, 235, 0.3); }
.glow { box-shadow: 0 0 50px -10px rgba(37, 99, 235, 0.2); }
</style>
</head>
<body class="overflow-x-hidden selection:bg-blue-500/30">
<!-- Nav -->
<nav class="fixed top-0 w-full z-50 border-b border-white/5 bg-black/50 backdrop-blur-xl">
<div class="max-w-7xl mx-auto px-6 h-20 flex items-center justify-between">
<div class="flex items-center gap-3">
<div class="w-10 h-10 rounded-xl blue-gradient flex items-center justify-center shadow-lg shadow-blue-500/20">
<i data-lucide="layers" class="w-6 h-6 text-white text-white"></i>
</div>
<span class="font-black text-xl tracking-tight">Intaleq <span class="text-blue-500">Maps</span></span>
</div>
<div class="hidden md:flex items-center gap-8 text-sm font-bold text-slate-400">
<a href="#features" class="hover:text-white transition-colors" data-i18n="nav-features">Features</a>
<a href="#comparison" class="hover:text-white transition-colors" data-i18n="nav-why">Why Us?</a>
<a href="#pricing" class="hover:text-white transition-colors" data-i18n="nav-pricing">Pricing</a>
<button onclick="i18n.toggle()" class="flex items-center gap-2 px-3 py-1.5 rounded-lg border border-white/10 hover:bg-white/5 transition-all" data-i18n="lang-toggle">
العربية
</button>
</div>
<a href="dashboard.html" class="px-6 py-2.5 rounded-xl bg-white text-black font-black text-sm hover:scale-105 transition-all" data-i18n="nav-launch">Launch Dashboard</a>
</div>
</nav>
<!-- Hero -->
<section class="relative pt-40 pb-20 px-6 overflow-hidden">
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-[1000px] h-[600px] bg-blue-600/10 blur-[120px] rounded-full pointer-events-none"></div>
<div class="max-w-5xl mx-auto text-center relative z-10">
<div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-blue-500/10 border border-blue-500/20 text-blue-400 text-xs font-black uppercase tracking-widest mb-8" data-i18n="hero-badge">
<i data-lucide="sparkles" class="w-3.5 h-3.5"></i> Now with 3D Buildings in Jordan & Syria
</div>
<h1 class="text-6xl md:text-8xl font-black tracking-tighter mb-8 leading-[0.9] text-gradient" data-i18n="hero-title">
The Map API That <br> <span class="text-blue-500">Doesn't Break</span> The Bank.
</h1>
<p class="text-xl text-slate-400 max-w-2xl mx-auto mb-12 font-medium leading-relaxed" data-i18n="hero-desc">
Build premium location-based apps with high-fidelity vector tiles, optimized routing, and 3D buildings. 85% cheaper than Google Maps.
</p>
<div class="flex flex-col sm:flex-row items-center justify-center gap-4">
<a href="dashboard.html" class="w-full sm:w-auto px-8 py-4 rounded-2xl blue-gradient text-white font-black text-lg shadow-2xl shadow-blue-500/30 hover:scale-105 transition-all flex items-center justify-center gap-3" data-i18n="hero-cta-start">
Start Building Free <i data-lucide="arrow-right" class="w-5 h-5"></i>
</a>
<a href="#comparison" class="w-full sm:w-auto px-8 py-4 rounded-2xl glass text-white font-black text-lg hover:bg-white/5 transition-all text-center" data-i18n="hero-cta-view">
View Comparison
</a>
</div>
</div>
</section>
<section class="px-6 pb-40">
<div class="max-w-6xl mx-auto glass rounded-[3rem] p-4 glow relative overflow-hidden group">
<div id="hero-map" class="rounded-[2rem] overflow-hidden bg-slate-900 aspect-video relative">
<!-- Live Map Context -->
</div>
<!-- Overlay Info -->
<div class="absolute bottom-12 left-12 max-w-md pointer-events-none">
<div class="glass p-6 rounded-3xl border-blue-500/20 backdrop-blur-md">
<h3 class="text-xl font-black mb-2 flex items-center gap-2 italic">
<i data-lucide="box" class="text-blue-400 w-5 h-5"></i> REAL-TIME 3D
</h3>
<p class="text-sm text-slate-400 font-medium">Render every skyscraper in Amman and every street in Damascus with sub-meter precision and beautiful 3D extrusions.</p>
</div>
</div>
</div>
</section>
<!-- Comparison Table -->
<section id="comparison" class="py-24 px-6 bg-white/[0.01]">
<div class="max-w-5xl mx-auto">
<div class="text-center mb-16">
<h2 class="text-4xl font-black mb-4">Numbers Don't Lie.</h2>
<p class="text-slate-400 font-medium">Switch from Google Maps and save thousands every month.</p>
</div>
<div class="glass rounded-[2.5rem] overflow-hidden">
<table class="w-full text-left">
<thead>
<tr class="border-b border-white/5 bg-blue-600/5">
<th class="px-8 py-6 text-sm font-black uppercase tracking-widest text-slate-400">Feature</th>
<th class="px-8 py-6 text-sm font-black uppercase tracking-widest text-slate-400 text-center">Google Maps</th>
<th class="px-8 py-6 text-sm font-black uppercase tracking-widest text-blue-400 text-center bg-blue-500/10">Intaleq Maps</th>
</tr>
</thead>
<tbody class="divide-y divide-white/5">
<tr>
<td class="px-8 py-6 font-bold">50,000 API Requests</td>
<td class="px-8 py-6 text-center text-red-400 font-medium">$350 / mo</td>
<td class="px-8 py-6 text-center text-emerald-400 font-black bg-blue-500/5">$40 / mo</td>
</tr>
<tr>
<td class="px-8 py-6 font-bold">Map Tiles (Vector)</td>
<td class="px-8 py-6 text-center text-slate-400">Charged per load</td>
<td class="px-8 py-6 text-center text-white font-black bg-blue-500/5">UNLIMITED / FREE</td>
</tr>
<tr>
<td class="px-8 py-6 font-bold">3D Buildings Data</td>
<td class="px-8 py-6 text-center text-slate-400">Limited in Levant</td>
<td class="px-8 py-6 text-center text-white font-black bg-blue-500/5">Full Coverage (Jordan/Syria)</td>
</tr>
<tr>
<td class="px-8 py-6 font-bold">Bill Transparency</td>
<td class="px-8 py-6 text-center text-slate-400">Hidden Costs</td>
<td class="px-8 py-6 text-center text-white font-black bg-blue-500/5">Fixed Pricing</td>
</tr>
</tbody>
</table>
</div>
<p class="mt-8 text-center text-xs text-slate-500 font-bold uppercase tracking-widest leading-loose">
* Based on public pricing as of April 2026. Savings calculated on equivalent request volume.
</p>
</div>
</section>
<!-- Features -->
<section id="features" class="py-40 px-6">
<div class="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="glass p-10 rounded-[2.5rem] feature-card transition-all duration-300">
<div class="w-14 h-14 rounded-2xl bg-blue-500/10 flex items-center justify-center text-blue-400 mb-8">
<i data-lucide="zap" class="w-7 h-7"></i>
</div>
<h3 class="text-2xl font-black mb-4" data-i18n="feat-latency-title">Zero Latency</h3>
<p class="text-slate-400 font-medium leading-relaxed" data-i18n="feat-latency-desc">Our infrastructure is optimized for MENA region, ensuring map tiles load in under 200ms anywhere in Amman or Damascus.</p>
</div>
<div class="glass p-10 rounded-[2.5rem] feature-card transition-all duration-300">
<div class="w-14 h-14 rounded-2xl bg-cyan-500/10 flex items-center justify-center text-cyan-400 mb-8">
<i data-lucide="navigation" class="w-7 h-7"></i>
</div>
<h3 class="text-2xl font-black mb-4" data-i18n="feat-routing-title">Smart Routing</h3>
<p class="text-slate-400 font-medium leading-relaxed" data-i18n="feat-routing-desc">Enterprise-grade routing engine with support for alternative paths, traffic awareness, and custom road constraints.</p>
</div>
<div class="glass p-10 rounded-[2.5rem] feature-card transition-all duration-300">
<div class="w-14 h-14 rounded-2xl bg-violet-500/10 flex items-center justify-center text-violet-400 mb-8">
<i data-lucide="shield-check" class="w-7 h-7"></i>
</div>
<h3 class="text-2xl font-black mb-4" data-i18n="feat-geocoding-title">Local Geocoding</h3>
<p class="text-slate-400 font-medium leading-relaxed" data-i18n="feat-geocoding-desc">Highly accurate search for local landmarks, neighborhoods, and buildings often missing from global providers.</p>
</div>
</div>
</section>
<!-- Pricing (Simplified) -->
<section id="pricing" class="py-24 px-6 relative">
<div class="max-w-3xl mx-auto glass p-12 rounded-[3rem] text-center border-blue-500/30 overflow-hidden">
<div class="absolute -top-24 -right-24 w-64 h-64 bg-blue-500/10 blur-[80px] rounded-full"></div>
<h2 class="text-4xl font-black mb-4">Simple, Transparent Pricing.</h2>
<div class="my-10">
<h4 class="text-6xl font-black text-blue-500">$40<span class="text-xl text-slate-500 font-bold tracking-normal italic"> / 50k requests</span></h4>
</div>
<ul class="space-y-4 mb-10 text-slate-400 font-bold">
<li>Everything in Free Tier included</li>
<li>Commercial License for Fleet Tracking</li>
<li>Premium 3D Map Tiles (Unlimited)</li>
<li>24/7 Priority Support</li>
</ul>
<a href="dashboard.html#billing" class="inline-flex btn px-12 py-4 rounded-2xl blue-gradient text-white font-black text-lg shadow-xl shadow-blue-500/20 hover:scale-105 transition-all">Get Professional Access</a>
</div>
</section>
<!-- Footer -->
<footer class="py-20 border-t border-white/5 text-center">
<div class="flex items-center justify-center gap-3 mb-8">
<div class="w-8 h-8 rounded-lg blue-gradient flex items-center justify-center text-white">
<i data-lucide="layers" class="w-5 h-5 text-white"></i>
</div>
<span class="font-black text-lg">Intaleq <span class="text-blue-500">Maps</span></span>
</div>
<p class="text-slate-500 text-sm font-bold tracking-widest uppercase">Intaleq Software Solutions &copy; 2026</p>
</footer>
<script src="js/i18n.js"></script>
<script>
lucide.createIcons();
// Initialize Cinematic Hero Map
try {
const map = new maplibregl.Map({
container: 'hero-map',
style: '/api/maps/styles/obsidian', // Using our local premium style
center: [35.9285, 31.9454], // Amman
zoom: 14,
pitch: 60,
bearing: -20,
interactive: false,
antialias: true
});
// Smooth rotation for cinematic feel
let angle = -20;
function rotate() {
angle += 0.05;
map.setBearing(angle % 360);
requestAnimationFrame(rotate);
}
map.on('load', () => {
rotate();
// Add 3D building layer if available in style
if (map.getSource('openmaptiles')) {
const layers = map.getStyle().layers;
const labelLayerId = layers.find(l => l.type === 'symbol' && l.layout['text-field'])?.id;
map.addLayer({
'id': '3d-buildings',
'source': 'openmaptiles',
'source-layer': 'building',
'type': 'fill-extrusion',
'minzoom': 15,
'paint': {
'fill-extrusion-color': '#334155',
'fill-extrusion-height': ['get', 'render_height'],
'fill-extrusion-base': ['get', 'render_min_height'],
'fill-extrusion-opacity': 0.6
}
}, labelLayerId);
}
});
} catch (e) {
console.warn('Hero map initialization skipped (offline/style error)');
}
</script>
</body>
</html>