-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.html
More file actions
88 lines (84 loc) · 3.75 KB
/
Copy pathapp.html
File metadata and controls
88 lines (84 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>RizelIQ – Real-Time Market Intelligence for Founders</title>
<meta name="description" content="Discover, analyze, and track startups, competitors, and market opportunities with precision."/>
<meta property="og:title" content="RizelIQ – Real-Time Market Intelligence for Founders"/>
<meta property="og:description" content="Discover, analyze, and track startups, competitors, and market opportunities with precision."/>
<meta name="theme-color" content="#09090F"/>
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,600;12..96,700;12..96,800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet"/>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
background: #0F0F1A;
color: #EEEEF8;
font-family: 'DM Sans', sans-serif;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
}
#app-loading {
position: fixed; inset: 0;
display: flex; align-items: center; justify-content: center;
flex-direction: column; gap: 16px;
background: #0F0F1A; z-index: 9999;
transition: opacity .4s ease;
}
#app-loading.hidden { opacity: 0; pointer-events: none; }
.loading-logo {
width: 40px; height: 40px; border-radius: 12px;
background: linear-gradient(135deg, #00C8B4, #007A6E);
display: flex; align-items: center; justify-content: center;
box-shadow: 0 4px 20px rgba(0,200,180,.3);
animation: loadPulse 1.5s ease infinite;
}
.loading-wordmark {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 22px; font-weight: 800; letter-spacing: -.02em;
color: #EEEEF8;
}
.loading-wordmark span { color: #00C8B4; }
.loading-bar {
width: 120px; height: 2px;
background: rgba(255,255,255,.07); border-radius: 1px; overflow: hidden;
}
.loading-fill {
height: 100%; border-radius: 1px;
background: linear-gradient(90deg, #00C8B4, #F5C842);
animation: loadBar 1.6s ease infinite;
}
@keyframes loadPulse { 0%,100%{box-shadow:0 4px 20px rgba(0,200,180,.3)} 50%{box-shadow:0 4px 32px rgba(0,200,180,.55)} }
@keyframes loadBar { 0%{width:0;margin-left:0} 60%{width:100%;margin-left:0} 100%{width:0;margin-left:100%} }
</style>
</head>
<body>
<div id="app-loading">
<div class="loading-logo">
<svg width="20" height="20" viewBox="0 0 16 16" fill="none" stroke="#fff" stroke-width="1.7" stroke-linecap="round">
<polyline points="1,12 5,7 9,9.5 15,3"/>
<circle cx="15" cy="3" r="1.5" fill="#fff" stroke="none"/>
</svg>
</div>
<div class="loading-wordmark">Rizel<span>IQ</span></div>
<div class="loading-bar"><div class="loading-fill"></div></div>
</div>
<div id="root"></div>
<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel" src="app.js"></script>
<script>
window.addEventListener('riq-ready', () => {
const el = document.getElementById('app-loading');
if (el) { el.classList.add('hidden'); setTimeout(() => el.remove(), 500); }
});
setTimeout(() => {
const el = document.getElementById('app-loading');
if (el) { el.classList.add('hidden'); setTimeout(() => el.remove(), 500); }
}, 4000);
</script>
</body>
</html>