Skip to content

Commit c3d7e8f

Browse files
committed
Add OASIS Portal dashboard with LayerZero-inspired design
- Created portal.html with minimal, clean design (no emojis) - Added dashboard sections: Installed OAPPs, Active Quests, Transaction History, Message History - Updated login flow to redirect to portal after authentication - Added product pages (identity, data, nfts, smart-contracts, bridges, infrastructure) - Added resources page linking to GitBooks - Created server.py for extensionless URL handling - Updated navigation and styling throughout
1 parent bc2cc9d commit c3d7e8f

12 files changed

Lines changed: 4577 additions & 9 deletions

File tree

oasisweb4 site/new-v2/index.html

Lines changed: 119 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
<a href="#products" class="nav-link">Products</a>
2020
<a href="#solutions" class="nav-link">Solutions</a>
2121
<a href="#developers" class="nav-link">Developers</a>
22-
<a href="#resources" class="nav-link">Resources</a>
22+
<a href="resources" class="nav-link">Resources</a>
2323
</div>
2424
<div class="nav-actions">
25-
<button class="btn-text">Log in</button>
25+
<button class="btn-text" onclick="openLoginModal()">Log in</button>
2626
<button class="btn-primary">Start building</button>
2727
</div>
2828
<button class="nav-toggle" id="navToggle">
@@ -221,47 +221,47 @@ <h2 class="section-title">How OASIS Works</h2>
221221
<h2 class="section-title">Products</h2>
222222
<p class="section-subtitle">Supporting a Universal Web4/Web5 Ecosystem.</p>
223223
<div class="products-grid">
224-
<a href="/products/identity" class="product-card">
224+
<a href="products/identity" class="product-card">
225225
<div class="product-category">IDENTITY</div>
226226
<h3 class="product-title">Identity & Access</h3>
227227
<p class="product-description">
228228
Unified identity system spanning Web2 and Web3. Avatar, Karma, Wallet, and Keys APIs
229229
for complete identity management across all platforms.
230230
</p>
231231
</a>
232-
<a href="/products/data" class="product-card">
232+
<a href="products/data" class="product-card">
233233
<div class="product-category">DATA</div>
234234
<h3 class="product-title">Data & Storage</h3>
235235
<p class="product-description">
236236
Holonic architecture with HyperDrive intelligent routing. Auto-replication, auto-failover,
237237
and provider independence for 100% uptime.
238238
</p>
239239
</a>
240-
<a href="/products/nfts" class="product-card">
240+
<a href="products/nfts" class="product-card">
241241
<div class="product-category">NFT</div>
242242
<h3 class="product-title">NFTs & Digital Assets</h3>
243243
<p class="product-description">
244244
Web4 OASIS NFTs, NFT Mint Studio, yNFTs, and GeoNFTs. Cross-chain collections with
245245
universal metadata and auto-replication.
246246
</p>
247247
</a>
248-
<a href="/products/smart-contracts" class="product-card">
248+
<a href="products/smart-contracts" class="product-card">
249249
<div class="product-category">CONTRACTS</div>
250250
<h3 class="product-title">Smart Contracts</h3>
251251
<p class="product-description">
252252
Multi-chain contract generator supporting Ethereum, Solana, Radix. UAT standard for
253253
RWA tokenization. Write once, deploy everywhere.
254254
</p>
255255
</a>
256-
<a href="/products/bridges" class="product-card">
256+
<a href="products/bridges" class="product-card">
257257
<div class="product-category">BRIDGE</div>
258258
<h3 class="product-title">Interoperability & Bridges</h3>
259259
<p class="product-description">
260260
Universal Asset Bridge with atomic swaps. Cross-chain transfers with real-time exchange
261261
rates and transaction tracking.
262262
</p>
263263
</a>
264-
<a href="/products/infrastructure" class="product-card">
264+
<a href="products/infrastructure" class="product-card">
265265
<div class="product-category">INFRASTRUCTURE</div>
266266
<h3 class="product-title">Infrastructure & Tools</h3>
267267
<p class="product-description">
@@ -580,6 +580,117 @@ <h4>Careers</h4>
580580
</div>
581581
</footer>
582582

583+
<!-- Login Modal -->
584+
<div id="loginModal" class="modal" style="display: none;">
585+
<div class="modal-overlay" onclick="closeLoginModal()"></div>
586+
<div class="modal-content">
587+
<button class="modal-close" onclick="closeLoginModal()">×</button>
588+
589+
<div class="auth-container">
590+
<div class="auth-header">
591+
<div class="auth-logo">
592+
<div class="auth-logo-circle">
593+
<div class="auth-logo-inner">O</div>
594+
</div>
595+
</div>
596+
<p class="auth-label">Avatar Access</p>
597+
</div>
598+
599+
<div class="auth-title-section">
600+
<div class="auth-subtitle">Connect Identity</div>
601+
<h2 class="auth-title">Connect your avatar</h2>
602+
<p class="auth-description">
603+
Sign in with your OASIS avatar to access your multi-chain wallets and data.
604+
</p>
605+
</div>
606+
607+
<div class="auth-tabs">
608+
<button class="auth-tab active" data-mode="login" onclick="switchAuthMode('login')">
609+
Sign in
610+
</button>
611+
<button class="auth-tab" data-mode="register" onclick="switchAuthMode('register')">
612+
Create avatar
613+
</button>
614+
</div>
615+
616+
<form id="authForm" class="auth-form" onsubmit="handleAuthSubmit(event)">
617+
<div class="auth-field">
618+
<label class="auth-label-text">
619+
<span id="usernameLabel">Username or email</span>
620+
</label>
621+
<input
622+
type="text"
623+
id="username"
624+
name="username"
625+
class="auth-input"
626+
placeholder="email@oasis.com"
627+
required
628+
/>
629+
</div>
630+
631+
<div id="registerFields" style="display: none;">
632+
<div class="auth-field">
633+
<label class="auth-label-text">Email</label>
634+
<input
635+
type="email"
636+
id="email"
637+
name="email"
638+
class="auth-input"
639+
placeholder="you@example.com"
640+
/>
641+
</div>
642+
643+
<div class="auth-field-row">
644+
<div class="auth-field">
645+
<label class="auth-label-text">First name</label>
646+
<input
647+
type="text"
648+
id="firstName"
649+
name="firstName"
650+
class="auth-input"
651+
placeholder="Optional"
652+
/>
653+
</div>
654+
<div class="auth-field">
655+
<label class="auth-label-text">Last name</label>
656+
<input
657+
type="text"
658+
id="lastName"
659+
name="lastName"
660+
class="auth-input"
661+
placeholder="Optional"
662+
/>
663+
</div>
664+
</div>
665+
</div>
666+
667+
<div class="auth-field">
668+
<label class="auth-label-text">Password</label>
669+
<input
670+
type="password"
671+
id="password"
672+
name="password"
673+
class="auth-input"
674+
placeholder="••••••••"
675+
required
676+
/>
677+
</div>
678+
679+
<div id="authError" class="auth-error" style="display: none;"></div>
680+
681+
<div class="auth-actions">
682+
<button type="submit" class="btn-primary auth-submit" id="authSubmitBtn">
683+
<span id="authSubmitText">Sign in</span>
684+
</button>
685+
<button type="button" class="btn-text auth-skip" onclick="useDemoAvatar()">
686+
Skip for now
687+
</button>
688+
</div>
689+
</form>
690+
</div>
691+
</div>
692+
</div>
693+
583694
<script src="script.js"></script>
584695
</body>
585696
</html>

0 commit comments

Comments
 (0)