Skip to content

Commit 7a98760

Browse files
committed
feat(web): render app in Circular + Models source-tree parity
- Load licensed Circular (Book/SemiBold/Bold) via @font-face and set --font-sans to Circular with Geist fallback, matching bud's typeface app-wide. - Models: Cheatcode Credits is only a source for the free model (DeepSeek); every other model routes through a provider API key, so credits is no longer listed there. - Enlarge the selected-source check node to bud's size.
1 parent d951d46 commit 7a98760

5 files changed

Lines changed: 34 additions & 12 deletions

File tree

40.8 KB
Binary file not shown.
14.1 KB
Binary file not shown.
46.4 KB
Binary file not shown.

apps/web/src/app/globals.css

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@
66
@source "../../../../node_modules/streamdown/dist/**/*.js";
77
@source "../../../../node_modules/ai-elements/dist/**/*.js";
88

9+
@font-face {
10+
font-family: "circular";
11+
src: url("/fonts/circular/circular-400.woff2") format("woff2");
12+
font-weight: 400;
13+
font-style: normal;
14+
font-display: swap;
15+
}
16+
17+
@font-face {
18+
font-family: "circular";
19+
src: url("/fonts/circular/circular-600.woff2") format("woff2");
20+
font-weight: 600;
21+
font-style: normal;
22+
font-display: swap;
23+
}
24+
25+
@font-face {
26+
font-family: "circular";
27+
src: url("/fonts/circular/circular-700.woff2") format("woff2");
28+
font-weight: 700;
29+
font-style: normal;
30+
font-display: swap;
31+
}
32+
933
@custom-variant dark (&:where(.dark, .dark *));
1034

1135
.cheatcode-workspace-frame {
@@ -31,7 +55,7 @@
3155
@theme inline {
3256
--color-background: var(--background);
3357
--color-foreground: var(--foreground);
34-
--font-sans: var(--font-geist-sans);
58+
--font-sans: "circular", var(--font-geist-sans);
3559
--font-mono: var(--font-geist-mono);
3660
--color-sidebar-ring: var(--sidebar-ring);
3761
--color-sidebar-border: var(--sidebar-border);

apps/web/src/components/settings/agents-panel.tsx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -254,15 +254,13 @@ function modelSourceChoices(
254254
providers = ["deepseek"];
255255
}
256256

257-
const choices: ModelSourceChoice[] = [
258-
accessState === "free"
259-
? { active: true, id: "credits", label: "Cheatcode Credits" }
260-
: {
261-
active: false,
262-
id: "credits",
263-
label: "Cheatcode Credits",
264-
unavailableMessage: "Cheatcode credits are available for DeepSeek V4.",
265-
},
257+
// Cheatcode Credits is only a real source for the free model (DeepSeek); every other model
258+
// routes through a provider/API key, so we don't list credits there at all.
259+
const choices: ModelSourceChoice[] = [];
260+
if (accessState === "free") {
261+
choices.push({ active: true, id: "credits", label: "Cheatcode Credits" });
262+
}
263+
choices.push(
266264
...providers.map(
267265
(provider): ModelSourceChoice => ({
268266
active: provider === model.provider && accessState === "active",
@@ -271,7 +269,7 @@ function modelSourceChoices(
271269
provider,
272270
}),
273271
),
274-
];
272+
);
275273

276274
return choices.map((choice) => {
277275
if (!choice.provider) {
@@ -410,7 +408,7 @@ function ModelSourceList({
410408
aria-hidden="true"
411409
className="absolute top-[18px] -left-3.5 z-10 flex size-4 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full bg-[#1b1b1b] text-white"
412410
>
413-
<Check aria-hidden="true" className="size-2.5" strokeWidth={2.5} />
411+
<Check aria-hidden="true" className="size-3" strokeWidth={2.5} />
414412
</span>
415413
) : null}
416414
<button

0 commit comments

Comments
 (0)