6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
197 lines
6.0 KiB
HTML
197 lines
6.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>quiXzoom Asia — Capture the World. Get Paid.</title>
|
|
<meta name="description" content="quiXzoom pays you to photograph infrastructure, nature and urban environments. Available in 8 Asian languages. No platform fee.">
|
|
<link rel="canonical" href="https://quixzoom.asia/">
|
|
<link rel="alternate" hreflang="x-default" href="https://quixzoom.asia/">
|
|
<link rel="alternate" hreflang="zh-CN" href="https://quixzoom.asia/zh-cn/">
|
|
<link rel="alternate" hreflang="zh-TW" href="https://quixzoom.asia/zh-tw/">
|
|
<link rel="alternate" hreflang="ja" href="https://quixzoom.asia/ja/">
|
|
<link rel="alternate" hreflang="ko" href="https://quixzoom.asia/ko/">
|
|
<link rel="alternate" hreflang="th" href="https://quixzoom.asia/th/">
|
|
<link rel="alternate" hreflang="vi" href="https://quixzoom.asia/vi/">
|
|
<link rel="alternate" hreflang="id" href="https://quixzoom.asia/id/">
|
|
<link rel="alternate" hreflang="ms" href="https://quixzoom.asia/ms/">
|
|
<link rel="alternate" hreflang="hi" href="https://quixzoom.asia/hi/">
|
|
<link rel="alternate" hreflang="en" href="https://www.quixzoom.com/">
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<style>
|
|
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
background: #0a0a0a;
|
|
color: #ffffff;
|
|
line-height: 1.6;
|
|
min-height: 100vh;
|
|
}
|
|
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
|
|
header {
|
|
padding: 24px 0;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.logo { font-size: 24px; font-weight: 700; color: #0066ff; }
|
|
.hero {
|
|
padding: 80px 0 60px;
|
|
text-align: center;
|
|
}
|
|
.hero h1 {
|
|
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
font-weight: 800;
|
|
line-height: 1.2;
|
|
margin-bottom: 16px;
|
|
}
|
|
.hero p {
|
|
font-size: 1.125rem;
|
|
color: rgba(255,255,255,0.7);
|
|
max-width: 600px;
|
|
margin: 0 auto 40px;
|
|
}
|
|
.language-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: 16px;
|
|
padding: 40px 0;
|
|
}
|
|
.language-card {
|
|
background: rgba(255,255,255,0.05);
|
|
padding: 24px;
|
|
border-radius: 12px;
|
|
border: 1px solid rgba(255,255,255,0.1);
|
|
text-decoration: none;
|
|
color: #fff;
|
|
transition: transform 0.2s, background 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
}
|
|
.language-card:hover {
|
|
transform: translateY(-2px);
|
|
background: rgba(255,255,255,0.08);
|
|
}
|
|
.lang-flag {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 24px;
|
|
background: rgba(255,255,255,0.1);
|
|
}
|
|
.lang-info h3 {
|
|
font-size: 1.125rem;
|
|
margin-bottom: 4px;
|
|
}
|
|
.lang-info p {
|
|
font-size: 0.875rem;
|
|
color: rgba(255,255,255,0.6);
|
|
}
|
|
.region-note {
|
|
text-align: center;
|
|
padding: 60px 0 40px;
|
|
color: rgba(255,255,255,0.5);
|
|
font-size: 0.875rem;
|
|
}
|
|
footer {
|
|
padding: 40px 0;
|
|
text-align: center;
|
|
color: rgba(255,255,255,0.4);
|
|
font-size: 0.875rem;
|
|
border-top: 1px solid rgba(255,255,255,0.1);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<div class="logo">quiXzoom</div>
|
|
</header>
|
|
|
|
<section class="hero">
|
|
<h1>Choose your language<br><br></h1>
|
|
<p>Select your preferred language to continue. quiXzoom is available in 8 Asian languages.</p>
|
|
</section>
|
|
|
|
<section class="language-grid">
|
|
<a href="/zh-cn/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3></h3>
|
|
<p>Simplified Chinese — </p>
|
|
</div>
|
|
</a>
|
|
<a href="/zh-tw/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3></h3>
|
|
<p>Traditional Chinese — /</p>
|
|
</div>
|
|
</a>
|
|
<a href="/ja/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3></h3>
|
|
<p>Japanese — </p>
|
|
</div>
|
|
</a>
|
|
<a href="/ko/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3></h3>
|
|
<p>Korean — </p>
|
|
</div>
|
|
</a>
|
|
<a href="/th/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3>ไทย</h3>
|
|
<p>Thai — ประเทศไทย</p>
|
|
</div>
|
|
</a>
|
|
<a href="/vi/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3>Tiếng Việt</h3>
|
|
<p>Vietnamese — Việt Nam</p>
|
|
</div>
|
|
</a>
|
|
<a href="/id/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3>Bahasa Indonesia</h3>
|
|
<p>Indonesian — Indonesia</p>
|
|
</div>
|
|
</a>
|
|
<a href="/ms/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3>Bahasa Melayu</h3>
|
|
<p>Malay — Malaysia/Singapore</p>
|
|
</div>
|
|
</a>
|
|
<a href="/hi/" class="language-card">
|
|
<div class="lang-flag"></div>
|
|
<div class="lang-info">
|
|
<h3>हिन्दी</h3>
|
|
<p>Hindi — भारत</p>
|
|
</div>
|
|
</a>
|
|
</section>
|
|
|
|
<div class="region-note">
|
|
<p>quiXzoom Asia covers: China, Japan, South Korea, Thailand, Vietnam, Indonesia, Malaysia, Singapore, India</p>
|
|
<p>Payments available in: CNY, JPY, KRW, THB, VND, IDR, MYR, INR</p>
|
|
</div>
|
|
|
|
<footer>
|
|
<p>quiXzoom Asia | asia@quixzoom.com</p>
|
|
<p>Part of the quiXzoom Global Network</p>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html> |