Commit 4ce8aec3 authored by Mahmoud Aglan's avatar Mahmoud Aglan

fix: disable browser cache for index.html + premium login/register UI

Nginx now serves index.html with no-cache headers so every deploy is
immediately visible. Login/Register pages get floating card treatment
with visible gutters, gold borders, and centered buttons.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 608dd2b0
......@@ -6,6 +6,9 @@ server {
location / {
try_files $uri $uri/ /index.html;
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires "0";
}
location /assets {
......
import { chromium } from 'playwright'
import { mkdirSync } from 'fs'
async function main() {
mkdirSync('screenshots', { recursive: true })
const browser = await chromium.launch()
const context = await browser.newContext({
viewport: { width: 390, height: 844 },
deviceScaleFactor: 2,
locale: 'ar',
})
const page = await context.newPage()
await page.goto('https://el3ab-player.caprover.al-arcade.com/login', { waitUntil: 'networkidle', timeout: 15000 })
await page.waitForTimeout(2000)
await page.screenshot({ path: 'screenshots/login.png' })
console.log('captured login')
await browser.close()
}
main()
......@@ -32,7 +32,7 @@ export function LoginPage() {
}
return (
<div className="min-h-dvh flex flex-col items-center justify-center px-6 relative overflow-hidden">
<div className="min-h-dvh flex flex-col items-center justify-center px-7 relative overflow-hidden">
<motion.div
className="absolute inset-0 opacity-30"
style={{
......@@ -49,7 +49,7 @@ export function LoginPage() {
/>
<motion.div
className="relative w-full max-w-sm"
className="relative w-full max-w-[310px]"
initial={{ opacity: 0, y: 30 }}
animate={{ opacity: 1, y: 0 }}
transition={{ type: 'spring', stiffness: 300, damping: 25 }}
......@@ -60,7 +60,7 @@ export function LoginPage() {
<p className="mt-1 text-text-secondary">تسجيل الدخول</p>
</div>
<form onSubmit={handleLogin} className="flex flex-col gap-4 p-6 rounded-2xl bg-surface-1/60 backdrop-blur-xl border border-border-gold">
<form onSubmit={handleLogin} className="flex flex-col gap-4 p-7 rounded-2xl bg-surface-3 border-2 border-gold/30 shadow-[0_8px_40px_rgba(0,0,0,0.6),0_0_20px_rgba(212,168,67,0.08)]">
<Input
label="البريد الالكتروني"
type="email"
......@@ -86,7 +86,7 @@ export function LoginPage() {
</motion.p>
)}
<Button type="submit" loading={loading} className="w-full mt-2">
<Button type="submit" loading={loading} className="w-[85%] mx-auto mt-2">
دخول
</Button>
</form>
......
......@@ -50,7 +50,7 @@ export function RegisterPage() {
}
return (
<div className="min-h-dvh flex flex-col items-center justify-center px-6 relative overflow-hidden">
<div className="min-h-dvh flex flex-col items-center justify-center px-7 relative overflow-hidden">
<motion.div
className="absolute inset-0 opacity-30"
style={{
......@@ -59,7 +59,7 @@ export function RegisterPage() {
/>
<motion.div
className="relative w-full max-w-sm"
className="relative w-full max-w-[310px]"
initial={{ opacity: 0, y: 30 }}
animate={{ opacity: 1, y: 0 }}
transition={{ type: 'spring', stiffness: 300, damping: 25 }}
......@@ -70,7 +70,7 @@ export function RegisterPage() {
<p className="mt-1 text-sm text-text-secondary">انضم الى مجتمع EL3AB</p>
</div>
<form onSubmit={handleRegister} className="flex flex-col gap-3.5 p-6 rounded-2xl bg-surface-1/60 backdrop-blur-xl border border-border-gold">
<form onSubmit={handleRegister} className="flex flex-col gap-3.5 p-7 rounded-2xl bg-surface-3 border-2 border-gold/30 shadow-[0_8px_40px_rgba(0,0,0,0.6),0_0_20px_rgba(212,168,67,0.08)]">
<Input
label="اسم المستخدم"
value={username}
......@@ -108,7 +108,7 @@ export function RegisterPage() {
</motion.p>
)}
<Button type="submit" loading={loading} className="w-full mt-2">
<Button type="submit" loading={loading} className="w-[85%] mx-auto mt-2">
انشاء حساب
</Button>
</form>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment