|
19 | 19 | <a href="#products" class="nav-link">Products</a> |
20 | 20 | <a href="#solutions" class="nav-link">Solutions</a> |
21 | 21 | <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> |
23 | 23 | </div> |
24 | 24 | <div class="nav-actions"> |
25 | | - <button class="btn-text">Log in</button> |
| 25 | + <button class="btn-text" onclick="openLoginModal()">Log in</button> |
26 | 26 | <button class="btn-primary">Start building</button> |
27 | 27 | </div> |
28 | 28 | <button class="nav-toggle" id="navToggle"> |
@@ -221,47 +221,47 @@ <h2 class="section-title">How OASIS Works</h2> |
221 | 221 | <h2 class="section-title">Products</h2> |
222 | 222 | <p class="section-subtitle">Supporting a Universal Web4/Web5 Ecosystem.</p> |
223 | 223 | <div class="products-grid"> |
224 | | - <a href="/products/identity" class="product-card"> |
| 224 | + <a href="products/identity" class="product-card"> |
225 | 225 | <div class="product-category">IDENTITY</div> |
226 | 226 | <h3 class="product-title">Identity & Access</h3> |
227 | 227 | <p class="product-description"> |
228 | 228 | Unified identity system spanning Web2 and Web3. Avatar, Karma, Wallet, and Keys APIs |
229 | 229 | for complete identity management across all platforms. |
230 | 230 | </p> |
231 | 231 | </a> |
232 | | - <a href="/products/data" class="product-card"> |
| 232 | + <a href="products/data" class="product-card"> |
233 | 233 | <div class="product-category">DATA</div> |
234 | 234 | <h3 class="product-title">Data & Storage</h3> |
235 | 235 | <p class="product-description"> |
236 | 236 | Holonic architecture with HyperDrive intelligent routing. Auto-replication, auto-failover, |
237 | 237 | and provider independence for 100% uptime. |
238 | 238 | </p> |
239 | 239 | </a> |
240 | | - <a href="/products/nfts" class="product-card"> |
| 240 | + <a href="products/nfts" class="product-card"> |
241 | 241 | <div class="product-category">NFT</div> |
242 | 242 | <h3 class="product-title">NFTs & Digital Assets</h3> |
243 | 243 | <p class="product-description"> |
244 | 244 | Web4 OASIS NFTs, NFT Mint Studio, yNFTs, and GeoNFTs. Cross-chain collections with |
245 | 245 | universal metadata and auto-replication. |
246 | 246 | </p> |
247 | 247 | </a> |
248 | | - <a href="/products/smart-contracts" class="product-card"> |
| 248 | + <a href="products/smart-contracts" class="product-card"> |
249 | 249 | <div class="product-category">CONTRACTS</div> |
250 | 250 | <h3 class="product-title">Smart Contracts</h3> |
251 | 251 | <p class="product-description"> |
252 | 252 | Multi-chain contract generator supporting Ethereum, Solana, Radix. UAT standard for |
253 | 253 | RWA tokenization. Write once, deploy everywhere. |
254 | 254 | </p> |
255 | 255 | </a> |
256 | | - <a href="/products/bridges" class="product-card"> |
| 256 | + <a href="products/bridges" class="product-card"> |
257 | 257 | <div class="product-category">BRIDGE</div> |
258 | 258 | <h3 class="product-title">Interoperability & Bridges</h3> |
259 | 259 | <p class="product-description"> |
260 | 260 | Universal Asset Bridge with atomic swaps. Cross-chain transfers with real-time exchange |
261 | 261 | rates and transaction tracking. |
262 | 262 | </p> |
263 | 263 | </a> |
264 | | - <a href="/products/infrastructure" class="product-card"> |
| 264 | + <a href="products/infrastructure" class="product-card"> |
265 | 265 | <div class="product-category">INFRASTRUCTURE</div> |
266 | 266 | <h3 class="product-title">Infrastructure & Tools</h3> |
267 | 267 | <p class="product-description"> |
@@ -580,6 +580,117 @@ <h4>Careers</h4> |
580 | 580 | </div> |
581 | 581 | </footer> |
582 | 582 |
|
| 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 | + |
583 | 694 | <script src="script.js"></script> |
584 | 695 | </body> |
585 | 696 | </html> |
|
0 commit comments