Files
flatrender/coming-soon/index.html
T
soroush.asadi e3f025cd2d fix(coming-soon): match the app's light brand design
Rebuild the landing on the real site language: white background with the same
pastel violet/sky/rose/amber hero blobs, the actual hero copy with the blue→violet
gradient highlight on «هوش مصنوعی», light countdown cards, light feature chips, and
the violet→blue gradient button. Countdown still to ۱ تیر ۱۴۰۵.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 16:29:54 +03:30

178 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>فلت‌رندر — به‌زودی</title>
<meta name="description" content="ویدیو ساز و تصویر ساز مبتنی بر هوش مصنوعی با بیش از ۱٬۲۰۰ قالب. به‌زودی." />
<meta property="og:title" content="فلت‌رندر — به‌زودی" />
<meta property="og:description" content="ویدیوها و تصاویر خیره‌کننده با هوش مصنوعی در چند دقیقه بسازید. به‌زودی." />
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' rx='9' fill='%232563EB'/%3E%3Cpath d='M12 12.5L12 27.5L24.5 20L12 12.5Z' fill='white'/%3E%3C/svg%3E" />
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vazirmatn@33.003/Vazirmatn-font-face.css" />
<style>
:root {
--blue-600: #2563eb;
--blue-500: #3b82f6;
--violet-600: #7c3aed;
--violet-500: #8b5cf6;
--violet-50: #f5f3ff;
--violet-100: #ede9fe;
--blue-light: #eff6ff;
--n900: #171717;
--n700: #404040;
--n600: #525252;
--n500: #737373;
--n200: #e5e5e5;
--n100: #f5f5f5;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
font-family: "Vazirmatn", Tahoma, "Segoe UI", system-ui, sans-serif;
color: var(--n900);
background: #ffffff;
min-height: 100vh;
display: flex; flex-direction: column;
position: relative; overflow-x: hidden;
}
/* Light hero gradient + soft pastel blobs (matches the site hero) */
.bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.bg .wash { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(245,243,255,.9), rgba(255,255,255,.8) 55%, #fff); }
.blob { position: absolute; border-radius: 50%; filter: blur(64px); opacity: .4; animation: drift 15s ease-in-out infinite; }
.blob.v { width: 384px; height: 384px; background: #ddd6fe; top: 2%; right: 0%; }
.blob.s { width: 320px; height: 320px; background: #bae6fd; top: 6%; left: 0%; animation-delay: -4s; }
.blob.r { width: 288px; height: 288px; background: #ffe4e6; bottom: 18%; right: 28%; animation-delay: -7s; }
.blob.a { width: 256px; height: 256px; background: #fef3c7; bottom: 8%; left: 22%; animation-delay: -10s; }
@keyframes drift { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(0,-22px) scale(1.06); } }
.topbar { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 20px 24px; }
.topbar svg { width: 36px; height: 36px; }
.topbar .name { font-weight: 800; font-size: 19px; color: var(--n900); }
main {
position: relative; z-index: 1; flex: 1;
display: flex; flex-direction: column; align-items: center; justify-content: center;
text-align: center; padding: 24px 20px 56px;
}
.badge {
display: inline-flex; align-items: center; gap: 7px;
border: 1px solid var(--violet-100); background: rgba(255,255,255,.8); backdrop-filter: blur(6px);
padding: 7px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 500; color: var(--n600);
box-shadow: 0 1px 2px rgba(0,0,0,.04); margin-bottom: 26px;
}
.badge .star { color: #f59e0b; }
h1 {
font-size: clamp(30px, 6vw, 52px); font-weight: 800; line-height: 1.18; letter-spacing: -.5px;
color: var(--n900); max-width: 16ch; margin-bottom: 20px;
}
h1 .grad {
background: linear-gradient(90deg, var(--blue-600), var(--violet-500), var(--blue-500));
-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.lead { font-size: clamp(15px, 2.2vw, 19px); color: var(--n600); max-width: 620px; line-height: 1.9; margin-bottom: 34px; }
/* Countdown — light cards */
.countdown { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 12px; }
.unit { background: #fff; border: 1px solid var(--n100); border-radius: 16px; width: 100px; padding: 16px 8px; box-shadow: 0 4px 16px rgba(37,99,235,.06); }
.unit .num { font-size: clamp(30px, 5.5vw, 42px); font-weight: 800; line-height: 1; color: var(--n900); font-variant-numeric: tabular-nums; }
.unit .lbl { font-size: 12.5px; color: var(--n500); margin-top: 9px; }
.target { font-size: 14px; color: var(--n500); margin-bottom: 40px; }
.target b { color: var(--violet-600); font-weight: 700; }
/* Feature chips — light */
.features { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; max-width: 820px; margin-bottom: 40px; }
.feat { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--n100); border-radius: 12px; padding: 10px 16px; font-size: 14px; color: var(--n700); box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.feat svg { width: 18px; height: 18px; color: var(--blue-600); flex-shrink: 0; }
/* Notify form */
.notify { display: flex; gap: 10px; width: 100%; max-width: 440px; }
.notify input { flex: 1; background: #fff; border: 1px solid var(--n200); color: var(--n900); padding: 13px 16px; border-radius: 12px; font-size: 15px; font-family: inherit; outline: none; transition: border-color .15s; }
.notify input::placeholder { color: var(--n500); }
.notify input:focus { border-color: var(--blue-600); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.notify button {
background: linear-gradient(90deg, var(--violet-600), var(--blue-600)); color: #fff; border: 0;
padding: 13px 24px; border-radius: 12px; font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer;
box-shadow: 0 4px 14px rgba(37,99,235,.25); transition: transform .15s, box-shadow .15s; white-space: nowrap;
}
.notify button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(37,99,235,.35); }
.notify-msg { font-size: 14px; color: #059669; margin-top: 13px; min-height: 20px; font-weight: 500; }
footer { position: relative; z-index: 1; text-align: center; padding: 22px; color: var(--n500); font-size: 13px; border-top: 1px solid var(--n100); }
footer a { color: var(--blue-600); text-decoration: none; }
@media (max-width: 480px) { .unit { width: 74px; } }
</style>
</head>
<body>
<div class="bg">
<div class="wash"></div>
<div class="blob v"></div><div class="blob s"></div><div class="blob r"></div><div class="blob a"></div>
</div>
<header class="topbar">
<svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<rect width="40" height="40" rx="9" fill="#2563EB" />
<path d="M12 12.5L12 27.5L24.5 20L12 12.5Z" fill="white" />
<rect x="27" y="13" width="7" height="2.5" rx="1.25" fill="white" fill-opacity="0.9" />
<rect x="27" y="18.75" width="5.5" height="2.5" rx="1.25" fill="white" fill-opacity="0.75" />
<rect x="27" y="24.5" width="4" height="2.5" rx="1.25" fill="white" fill-opacity="0.6" />
</svg>
<span class="name">فلت‌رندر</span>
</header>
<main>
<div class="badge"><span class="star"></span> به‌زودی راه‌اندازی می‌شود</div>
<h1>ویدیوها و تصاویر خیره‌کننده با <span class="grad">هوش مصنوعی</span> در چند دقیقه بسازید</h1>
<p class="lead">ویدیو ساز و تصویر ساز مبتنی بر هوش مصنوعی با بیش از ۱٬۲۰۰ قالب ساخته‌شده توسط طراحان حرفه‌ای موشن.</p>
<div class="countdown" id="countdown" aria-live="polite">
<div class="unit"><div class="num" id="d">۰۰</div><div class="lbl">روز</div></div>
<div class="unit"><div class="num" id="h">۰۰</div><div class="lbl">ساعت</div></div>
<div class="unit"><div class="num" id="m">۰۰</div><div class="lbl">دقیقه</div></div>
<div class="unit"><div class="num" id="s">۰۰</div><div class="lbl">ثانیه</div></div>
</div>
<p class="target">زمان راه‌اندازی: <b>۱ تیر ۱۴۰۵</b></p>
<div class="features">
<div class="feat"><svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2"/></svg> ویدیوساز هوش مصنوعی</div>
<div class="feat"><svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="M21 15l-5-5L5 21"/></svg> ویرایشگر تصویر</div>
<div class="feat"><svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M12 2l2.4 7.4H22l-6 4.6 2.3 7.4L12 17l-6.3 4.4L8 14 2 9.4h7.6z"/></svg> بیش از ۱٬۲۰۰ قالب</div>
<div class="feat"><svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg> موسیقی و صداگذاری</div>
</div>
<form class="notify" id="notify" onsubmit="return notifyMe(event)">
<input type="email" id="email" placeholder="ایمیل شما برای اطلاع از راه‌اندازی" required />
<button type="submit">به من خبر بده</button>
</form>
<p class="notify-msg" id="notifyMsg"></p>
</main>
<footer>© <span id="year">۱۴۰۵</span> فلت‌رندر — تمامی حقوق محفوظ است. · <a href="mailto:hello@flatrender.com">hello@flatrender.com</a></footer>
<script>
// Countdown to 1 Tir 1405 (22 June 2026, 00:00 Iran time, UTC+03:30)
var TARGET = new Date("2026-06-22T00:00:00+03:30").getTime();
function fa(n) { return String(n).padStart(2, "0").replace(/[0-9]/g, function (d) { return "۰۱۲۳۴۵۶۷۸۹"[d]; }); }
function tick() {
var diff = Math.max(0, TARGET - Date.now());
var s = Math.floor(diff / 1000);
document.getElementById("d").textContent = fa(Math.floor(s / 86400));
document.getElementById("h").textContent = fa(Math.floor((s % 86400) / 3600));
document.getElementById("m").textContent = fa(Math.floor((s % 3600) / 60));
document.getElementById("s").textContent = fa(s % 60);
}
tick(); setInterval(tick, 1000);
function notifyMe(e) {
e.preventDefault();
var email = document.getElementById("email").value;
try { fetch("/subscribe", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email: email }) }).catch(function () {}); } catch (_) {}
document.getElementById("notifyMsg").textContent = "ممنون! به‌محض راه‌اندازی به شما اطلاع می‌دهیم. ✓";
document.getElementById("notify").reset();
return false;
}
</script>
</body>
</html>