Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 28 additions & 38 deletions src/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,16 @@ body::before {
}

/* Show appropriate logo based on theme */
[data-theme="light"] .hero-logo {
content: url('/Context-Engine/logo.svg');
.hero-logo-light {
display: none;
}

[data-theme="light"] .hero-logo-dark {
display: none;
}

[data-theme="light"] .hero-logo-light {
display: block;
}

/* NVIDIA Inception Badge */
Expand Down Expand Up @@ -491,7 +499,7 @@ body::before {
.hero-form {
display: flex;
gap: 12px;
margin-bottom: 24px;
margin-bottom: 36px;
max-width: 440px;
}

Expand Down Expand Up @@ -850,21 +858,6 @@ body::before {
margin: 0;
}

/* Demo Section */
.demo-section {
padding: 100px 48px;
max-width: 800px;
margin: 0 auto;
text-align: center;
}

.demo-form {
display: flex;
gap: 12px;
max-width: 480px;
margin: 0 auto;
}

.input {
flex: 1;
padding: 14px 18px;
Expand Down Expand Up @@ -922,6 +915,19 @@ body::before {
color: var(--text-muted);
}

.footer-legal {
font-size: 11px;
color: var(--text-muted);
opacity: 0.7;
width: 100%;
max-width: 640px;
margin: 16px auto 0;
padding-top: 16px;
border-top: 1px solid var(--border);
line-height: 1.5;
text-align: center;
}

@keyframes drawLine {
to { stroke-dashoffset: 0; }
}
Expand Down Expand Up @@ -954,8 +960,8 @@ body::before {
.hero-logo { height: 90px; }
.nav { display: none; }
.features-grid { grid-template-columns: 1fr; }
.graph-section, .features-section, .demo-section { padding: 60px 24px; }
.demo-form, .hero-form { flex-direction: column; }
.graph-section, .features-section { padding: 60px 24px; }
.hero-form { flex-direction: column; }
.header { padding: 0 16px; }
.graph-labels { padding: 0 20px; }
.graph-column { width: 140px; }
Expand Down Expand Up @@ -1100,6 +1106,8 @@ body::before {
.hero-actions {
flex-direction: column;
gap: 12px;
width: 100%;
justify-content: center;
}

.hero-actions .btn {
Expand Down Expand Up @@ -1229,24 +1237,6 @@ body::before {
font-size: 13px;
}

/* Demo section */
.demo-section {
padding: 40px 16px;
}

.demo-form {
gap: 12px;
}

.demo-form .input {
min-width: unset;
}

.demo-form .btn {
width: 100%;
justify-content: center;
}

/* Footer */
.footer {
padding: 32px 16px;
Expand Down
4 changes: 0 additions & 4 deletions src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@
<span class="moon-icon"><Moon size={18} /></span>
{/if}
</button>
<a href="#demo" class="btn btn-primary desktop-only">Request Demo</a>
<a href={loginUrl} class="btn btn-login desktop-only">
<LogIn size={16} />
Login / Sign Up
Expand Down Expand Up @@ -187,9 +186,6 @@
<LogIn size={20} />
Login / Sign Up
</a>
<div class="mobile-menu-cta">
<a href="#demo" class="btn btn-primary btn-lg" onclick={closeMobileMenu}>Request Demo</a>
</div>
</nav>
{/if}

Expand Down
69 changes: 8 additions & 61 deletions src/routes/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,9 @@

// Form state
let heroEmail = $state('');
let demoEmail = $state('');
let heroSubmitted = $state(false);
let demoSubmitted = $state(false);
let heroError = $state('');
let demoError = $state('');
let heroLoading = $state(false);
let demoLoading = $state(false);

const BETA_SIGNUP_URL = 'https://dev.context-engine.ai/auth/beta-signup';

Expand Down Expand Up @@ -197,29 +193,6 @@
heroLoading = false;
}
}

async function handleDemoSubmit(e: SubmitEvent) {
e.preventDefault();
demoError = '';
demoLoading = true;
try {
const response = await fetch(BETA_SIGNUP_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email: demoEmail })
});
const data = await response.json();
if (response.ok) {
demoSubmitted = true;
} else {
demoError = data.detail || 'Something went wrong. Please try again.';
}
} catch (error) {
demoError = 'Network error. Please try again.';
} finally {
demoLoading = false;
}
}
</script>

<svelte:head>
Expand All @@ -234,7 +207,8 @@
<section class="hero">
<div class="hero-content">
<div class="hero-brand">
<img src="{base}/logo-white.svg" alt="Context Engine" class="hero-logo" />
<img src="{base}/logo-white.svg" alt="Context Engine" class="hero-logo hero-logo-dark" />
<img src="{base}/logo.svg" alt="Context Engine" class="hero-logo hero-logo-light" />
<a
href="https://www.nvidia.com/en-us/startups/"
target="_blank"
Expand All @@ -258,7 +232,7 @@

{#if heroSubmitted}
<div class="hero-form" style="color: var(--accent); font-size: 16px;">
Beta key sent! Check your email at {heroEmail}
You're in! Check your email at {heroEmail}
</div>
{:else}
<form class="hero-form" onsubmit={handleHeroSubmit}>
Expand All @@ -271,7 +245,7 @@
disabled={heroLoading}
/>
<button type="submit" class="btn btn-primary btn-lg" disabled={heroLoading}>
{heroLoading ? 'Sending…' : 'Request Early Access'}
{heroLoading ? 'Sending…' : 'Join Open Beta'}
</button>
</form>
{#if heroError}
Expand Down Expand Up @@ -442,37 +416,6 @@ result = <span class="c-fn">repo_search</span>(
</div>
</section>

<!-- Demo Section -->
<section class="demo-section" id="demo">
<h2 class="section-title">Get <span class="gradient-text">Early Access</span></h2>
<p class="section-subtitle">Join the beta and give your AI the context it deserves.</p>

{#if demoSubmitted}
<div class="demo-form" style="color: var(--accent); font-size: 16px; justify-content: center;">
Beta key sent! Check your email at {demoEmail}
</div>
{:else}
<form class="demo-form" onsubmit={handleDemoSubmit}>
<input
type="email"
class="input"
placeholder="you@company.com"
required
bind:value={demoEmail}
disabled={demoLoading}
/>
<button type="submit" class="btn btn-primary btn-lg" disabled={demoLoading}>
{demoLoading ? 'Sending…' : 'Request Invite'}
</button>
</form>
{#if demoError}
<div style="color: #ef4444; font-size: 14px; margin-top: 8px; text-align: center;">
{demoError}
</div>
{/if}
{/if}
</section>

<!-- Footer -->
<footer class="footer">
<div class="footer-content">
Expand All @@ -496,4 +439,8 @@ result = <span class="c-fn">repo_search</span>(
</div>
<div class="footer-copy">© {new Date().getFullYear()} Context Engine. All rights reserved.</div>
</div>
<div class="footer-legal">
© 2025 NVIDIA, the NVIDIA logo, and NVIDIA Inception Program are trademarks and/or registered
trademarks of NVIDIA Corporation in the U.S. and other countries.
</div>
</footer>