Skip to content

Commit 1d1a4a7

Browse files
authored
Merge pull request #218 from Context-Engine-AI/feature/new-landing-page
feat(ui): add BYOK pill badge to header
2 parents f7041f5 + 18a1526 commit 1d1a4a7

File tree

2 files changed

+100
-1
lines changed

2 files changed

+100
-1
lines changed

src/app.scss

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,101 @@ body::before {
285285
font-weight: 500;
286286
}
287287

288+
/* BYOK Pill (next to logo) */
289+
.byok-pill {
290+
display: inline-flex;
291+
align-items: center;
292+
gap: 5px;
293+
padding: 4px 10px;
294+
background: rgba(0, 184, 148, 0.12);
295+
border: 1px solid rgba(0, 184, 148, 0.3);
296+
border-radius: 100px;
297+
font-size: 11px;
298+
font-weight: 600;
299+
letter-spacing: 0.05em;
300+
color: var(--accent);
301+
white-space: nowrap;
302+
animation: byokGlow 2.5s ease-in-out infinite alternate;
303+
}
304+
305+
.byok-pill :global(svg) {
306+
width: 12px;
307+
height: 12px;
308+
}
309+
310+
@keyframes byokGlow {
311+
0% {
312+
box-shadow: 0 0 8px rgba(0, 184, 148, 0.15);
313+
border-color: rgba(0, 184, 148, 0.25);
314+
}
315+
100% {
316+
box-shadow: 0 0 14px rgba(0, 184, 148, 0.35);
317+
border-color: rgba(0, 184, 148, 0.5);
318+
}
319+
}
320+
321+
[data-theme="light"] .byok-pill {
322+
background: rgba(0, 184, 148, 0.08);
323+
box-shadow: 0 0 10px rgba(0, 184, 148, 0.12);
324+
}
325+
326+
/* BYOK Tooltip */
327+
.byok-pill[data-tooltip] {
328+
position: relative;
329+
cursor: default;
330+
}
331+
332+
.byok-pill[data-tooltip]::after {
333+
content: attr(data-tooltip);
334+
position: absolute;
335+
top: calc(100% + 8px);
336+
left: 50%;
337+
transform: translateX(-50%);
338+
padding: 6px 12px;
339+
background: var(--bg-card-solid);
340+
border: 1px solid var(--border);
341+
border-radius: var(--radius);
342+
font-size: 12px;
343+
font-weight: 500;
344+
color: var(--text-primary);
345+
white-space: nowrap;
346+
opacity: 0;
347+
visibility: hidden;
348+
transition: opacity 0.2s ease, visibility 0.2s ease;
349+
box-shadow: var(--shadow-md);
350+
z-index: 200;
351+
}
352+
353+
.byok-pill[data-tooltip]::before {
354+
content: '';
355+
position: absolute;
356+
top: calc(100% + 2px);
357+
left: 50%;
358+
transform: translateX(-50%);
359+
border: 5px solid transparent;
360+
border-bottom-color: var(--border);
361+
opacity: 0;
362+
visibility: hidden;
363+
transition: opacity 0.2s ease, visibility 0.2s ease;
364+
z-index: 201;
365+
}
366+
367+
.byok-pill[data-tooltip]:hover::after,
368+
.byok-pill[data-tooltip]:hover::before {
369+
opacity: 1;
370+
visibility: visible;
371+
}
372+
373+
@media (max-width: 768px) {
374+
.byok-pill {
375+
padding: 4px 6px;
376+
gap: 0;
377+
}
378+
.byok-pill span:not(:first-child) {
379+
display: none;
380+
}
381+
}
382+
288383
.hero-title {
289384
font-size: 56px;
290385
font-weight: 700;

src/routes/+layout.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { onMount } from 'svelte';
44
import { page } from '$app/stores';
55
import { base } from '$app/paths';
6-
import { Sun, Moon, Mail, Github, Layers, Menu, X } from 'lucide-svelte';
6+
import { Sun, Moon, Mail, Github, Layers, Menu, X, Key } from 'lucide-svelte';
77
88
let { children } = $props();
99
@@ -65,6 +65,10 @@
6565
</span>
6666
Context Engine
6767
</a>
68+
<span class="byok-pill" data-tooltip="Bring Your Own LLM Key">
69+
<Key size={12} />
70+
<span>BYOK</span>
71+
</span>
6872
<nav class="nav">
6973
<a
7074
href="https://www.npmjs.com/package/@context-engine-bridge/context-engine-mcp-bridge"

0 commit comments

Comments
 (0)