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
2 changes: 1 addition & 1 deletion apps/web/src/components/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1965,7 +1965,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: {
showBadge={showInstanceBadge}
// Glyph dims, badge stays saturated; offset matches the composer trigger.
iconClassName="size-3.5 opacity-60"
badgeClassName="right-[-0.1875rem] bottom-[-0.1875rem] h-3 min-w-3 px-0.5 text-3xs"
badgeClassName="right-[-0.1875rem] bottom-[-0.1875rem] h-3 min-w-3 px-0.5 text-5xs"
/>
</span>
) : null}
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/ModelPickerSidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ export const ModelPickerSidebar = memo(function ModelPickerSidebar(props: {
? "var(--background)"
: "color-mix(in oklab, var(--muted) 30%, transparent)"
}
{...(entry.accentColor ? { badgeClassName: "h-3 min-w-3 px-0.5 text-3xs" } : {})}
{...(entry.accentColor ? { badgeClassName: "h-3 min-w-3 px-0.5 text-5xs" } : {})}
/>
{showNewBadge ? (
<span className={NEW_BADGE_CLASS} aria-hidden>
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/ProviderInstanceIcon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export const ProviderInstanceIcon = memo(function ProviderInstanceIcon(props: {
{props.showBadge ? (
<span
className={cn(
"pointer-events-none absolute right-0 bottom-0 z-10 flex h-3.5 min-w-3.5 items-center justify-center rounded-full border px-0.5 text-3xs font-semibold leading-none shadow-sm",
"pointer-events-none absolute right-0 bottom-0 z-10 flex h-3.5 min-w-3.5 items-center justify-center rounded-full border px-0.5 text-4xs font-semibold leading-none shadow-sm",
props.accentColor
? "bg-(--provider-accent) text-white"
: "bg-card text-muted-foreground",
Expand Down
3 changes: 0 additions & 3 deletions apps/web/src/components/chat/ProviderModelPicker.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,5 @@ describe("ProviderModelPicker", () => {
);

expect(markup).toContain(">CP</span>");
expect(markup).toContain("size-4");
expect(markup).toContain("h-3");
expect(markup).toContain("text-3xs");
});
});
2 changes: 1 addition & 1 deletion apps/web/src/components/chat/ProviderModelPicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ export const ProviderModelPicker = memo(function ProviderModelPicker(props: {
iconClassName={cn("size-4", props.activeProviderIconClassName)}
indicatorBackground={props.instanceIndicatorBackground ?? "var(--contrast-input)"}
badgeClassName={cn(
"right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 px-0.5 text-3xs",
"right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 px-0.5 text-5xs",
size === "xs" && "shadow-none",
)}
/>
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/settings/ProviderInstanceCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,7 @@ export function ProviderInstanceCard({
showBadge={Boolean(accentColor)}
className="size-5"
iconClassName="size-4 text-foreground/80"
badgeClassName="right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 px-0.5 text-3xs"
badgeClassName="right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 px-0.5 text-5xs"
/>
) : FallbackIconComponent ? (
<span className="inline-flex size-5 shrink-0 items-center justify-center">
Expand Down
7 changes: 6 additions & 1 deletion apps/web/src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -161,12 +161,17 @@ html[data-mobile-composer-route-transition="true"]::view-transition-old(t3-mobil
@theme inline {
/* Two steps below Tailwind's text-xs (12px) for dense UI: metadata rows,
badges, counters, keyboard hints and diagnostics tables. 2xs is 11px,
3xs is 10px and the floor of the scale. Registered with tailwind-merge in
3xs is 10px. Provider icon overlays use 4xs (8px) and 5xs (7px) to fit
their smaller badges. Registered with tailwind-merge in
lib/utils.ts so cn() treats them as font sizes, not colours. */
--text-2xs: 0.6875rem;
--text-2xs--line-height: calc(1 / 0.6875);
--text-3xs: 0.625rem;
--text-3xs--line-height: calc(0.875 / 0.625);
--text-4xs: 0.5rem;
--text-4xs--line-height: 1;
--text-5xs: 0.4375rem;
--text-5xs--line-height: 1;
/* Motion. drawer is the decelerating curve for surfaces that slide or pop in
(composer context, pills). */
--ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { DraftId } from "../composerDraftStore";

// The theme's extra font sizes (index.css). Unregistered, tailwind-merge reads
// text-2xs as a colour and drops it next to text-muted-foreground.
const twMerge = extendTailwindMerge({ extend: { theme: { text: ["2xs", "3xs"] } } });
const twMerge = extendTailwindMerge({ extend: { theme: { text: ["2xs", "3xs", "4xs", "5xs"] } } });

export function cn(...inputs: CxOptions) {
return twMerge(cx(inputs));
Expand Down
Loading