From 94e55409927cf61b4bf5a6d86688608959161262 Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:11:48 -0500 Subject: [PATCH 1/8] feat: add prominent Login/Sign Up button to navigation bar - Add glowing Login/Sign Up link in desktop header (top-right) - Add highlighted Login/Sign Up link in mobile menu - Links to https://dev.context-engine.ai/login - Pulsing glow animation for high visibility - Light theme support --- src/app.scss | 51 +++++++++++++++++++++++++++++++++++++++ src/routes/+layout.svelte | 14 ++++++++++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/app.scss b/src/app.scss index 31ee16c5..dbae56c0 100644 --- a/src/app.scss +++ b/src/app.scss @@ -234,6 +234,45 @@ body::before { font-size: 15px; } +/* Login / Sign Up - attention-grabbing */ +.btn-login { + background: transparent; + color: #00ffcc; + border: 2px solid #00ffcc; + padding: 8px 20px; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.02em; + box-shadow: 0 0 12px rgba(0, 255, 204, 0.3), inset 0 0 12px rgba(0, 255, 204, 0.06); + animation: loginGlow 2s ease-in-out infinite alternate; + position: relative; +} + +.btn-login:hover { + background: rgba(0, 255, 204, 0.12); + box-shadow: 0 0 24px rgba(0, 255, 204, 0.5), inset 0 0 16px rgba(0, 255, 204, 0.1); + transform: translateY(-1px); + color: #fff; + border-color: #00ffcc; +} + +@keyframes loginGlow { + 0% { box-shadow: 0 0 10px rgba(0, 255, 204, 0.25), inset 0 0 10px rgba(0, 255, 204, 0.04); } + 100% { box-shadow: 0 0 20px rgba(0, 255, 204, 0.45), inset 0 0 14px rgba(0, 255, 204, 0.08); } +} + +[data-theme="light"] .btn-login { + color: #00896b; + border-color: #00896b; + box-shadow: 0 0 12px rgba(0, 137, 107, 0.25), inset 0 0 10px rgba(0, 137, 107, 0.05); +} + +[data-theme="light"] .btn-login:hover { + background: rgba(0, 137, 107, 0.1); + box-shadow: 0 0 22px rgba(0, 137, 107, 0.4), inset 0 0 14px rgba(0, 137, 107, 0.08); + color: #005d49; +} + .icon-btn { display: flex; align-items: center; @@ -939,6 +978,18 @@ body::before { color: var(--text-primary); } + .mobile-login-link { + color: #00ffcc !important; + font-weight: 600; + border: 1px solid rgba(0, 255, 204, 0.3); + background: rgba(0, 255, 204, 0.06); + } + + .mobile-login-link:hover { + background: rgba(0, 255, 204, 0.12) !important; + color: #fff !important; + } + .mobile-menu-cta { margin-top: auto; padding-top: 24px; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 66366076..360e6f04 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -3,7 +3,7 @@ import { onMount } from 'svelte'; import { page } from '$app/stores'; import { base } from '$app/paths'; - import { Sun, Moon, Mail, Github, Layers, Menu, X, Key } from 'lucide-svelte'; + import { Sun, Moon, Mail, Github, Layers, Menu, X, Key, LogIn } from 'lucide-svelte'; let { children } = $props(); @@ -117,6 +117,10 @@ {/if} Request Demo + + + Login / Sign Up + Request Demo - + Login / Sign Up @@ -183,11 +185,7 @@ Support - From 6ee067eacd48ffa8275d015c20e96e4ecb46105a Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:28:20 -0500 Subject: [PATCH 4/8] fix: use light-theme-safe colors for mobile login link Use darker green (#00896b) in light theme for proper contrast instead of neon #00ffcc which is hard to read on light backgrounds. --- src/app.scss | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/app.scss b/src/app.scss index d9788455..23a925f8 100644 --- a/src/app.scss +++ b/src/app.scss @@ -999,6 +999,17 @@ body::before { color: #fff !important; } + [data-theme="light"] .mobile-login-link { + color: #00896b !important; + border-color: rgba(0, 137, 107, 0.35); + background: rgba(0, 137, 107, 0.06); + } + + [data-theme="light"] .mobile-login-link:hover { + background: rgba(0, 137, 107, 0.12) !important; + color: #005d49 !important; + } + .mobile-menu-cta { margin-top: auto; padding-top: 24px; From 46e2853f28dd6d462c82ebd8b9f876d015085f85 Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:29:47 -0500 Subject: [PATCH 5/8] fix: default login URL to relative /login path Avoids silently routing to dev environment if VITE_CTX_LOGIN_URL is not set in staging/prod deploys. --- src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 926a4a0c..cf112383 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,7 +5,7 @@ import { base } from '$app/paths'; import { Sun, Moon, Mail, Github, Layers, Menu, X, Key, LogIn } from 'lucide-svelte'; - const loginUrl = import.meta.env.VITE_CTX_LOGIN_URL || 'https://dev.context-engine.ai/login'; + const loginUrl = import.meta.env.VITE_CTX_LOGIN_URL || '/login'; let { children } = $props(); From 2ac69d7ac34f0f23a430973b13861dc8eccb68a9 Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:31:48 -0500 Subject: [PATCH 6/8] docs: add VITE_CTX_LOGIN_URL to .env.example --- .env.example | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.env.example b/.env.example index 973c937b..db97bda7 100644 --- a/.env.example +++ b/.env.example @@ -590,3 +590,6 @@ OPENLIT_ENVIRONMENT=development # End of Auth & Bridge Configuration # --------------------------------------------------------------------------- + +# Landing page login URL (used by SvelteKit frontend) +# VITE_CTX_LOGIN_URL=https://dev.context-engine.ai/login From 832bc9d762b34eafe6b6a2976b55ae21d8b5195c Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:33:36 -0500 Subject: [PATCH 7/8] ci: pass VITE_CTX_LOGIN_URL secret to landing page build --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3acc9277..8ce69f5f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -42,6 +42,7 @@ jobs: env: NODE_ENV: production GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VITE_CTX_LOGIN_URL: ${{ secrets.VITE_CTX_LOGIN_URL }} run: npm run build - name: Upload artifact From 78f6d58e29a67021e90f6f22bb42323f9f2a6ed0 Mon Sep 17 00:00:00 2001 From: chris-stinemetz Date: Wed, 18 Feb 2026 20:36:19 -0500 Subject: [PATCH 8/8] fix: make login URL fallback base-path-aware Use ${base}/login so the fallback works correctly on GitHub Pages and other deployments with a non-empty base path. --- src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index cf112383..c8dfb620 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,7 +5,7 @@ import { base } from '$app/paths'; import { Sun, Moon, Mail, Github, Layers, Menu, X, Key, LogIn } from 'lucide-svelte'; - const loginUrl = import.meta.env.VITE_CTX_LOGIN_URL || '/login'; + const loginUrl = import.meta.env.VITE_CTX_LOGIN_URL || `${base}/login`; let { children } = $props();