Skip to content

Commit f107144

Browse files
committed
fix(web): style adjustments
1 parent f2a73d7 commit f107144

3 files changed

Lines changed: 15 additions & 24 deletions

File tree

apps/web/src/components/landing/code-gallery.tsx

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { useRef, useState, useCallback } from "react"
44
import { useInView } from "~/lib/use-in-view"
55
import { useTwoslashPortal } from "~/lib/use-twoslash-portal"
6+
import { Tabs, TabsList, TabsTrigger } from "~/components/ui/tabs"
67
import type { CodeGalleryTab } from "./code-preview"
78

89
function CodePanel({
@@ -76,21 +77,15 @@ export function CodeGallery({ tabs }: { tabs: CodeGalleryTab[] }) {
7677

7778
{/* Tabs */}
7879
<div className="flex justify-center mb-6">
79-
<div className="inline-flex gap-1 rounded-lg border border-fd-border bg-fd-card/50 p-1">
80-
{tabs.map((tab) => (
81-
<button
82-
key={tab.id}
83-
onClick={() => setActiveTab(tab.id)}
84-
className={`rounded-md px-4 py-1.5 text-xs font-medium transition-all cursor-pointer ${
85-
activeTab === tab.id
86-
? "bg-fd-muted text-fd-foreground border border-fd-border"
87-
: "text-fd-muted-foreground hover:text-fd-foreground border border-transparent"
88-
}`}
89-
>
90-
{tab.label}
91-
</button>
92-
))}
93-
</div>
80+
<Tabs value={activeTab} onValueChange={setActiveTab}>
81+
<TabsList>
82+
{tabs.map((tab) => (
83+
<TabsTrigger key={tab.id} value={tab.id} className="px-3.5 py-2.5 text-sm">
84+
{tab.label}
85+
</TabsTrigger>
86+
))}
87+
</TabsList>
88+
</Tabs>
9489
</div>
9590

9691
{/* Code panels */}

apps/web/src/components/playground-tabs.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ export function PlaygroundTabs({ activeTab }: { activeTab: "typescript" | "json"
2222
>
2323
<TabsList>
2424
{tabs.map((tab) => (
25-
<TabsTrigger
26-
key={tab.value}
27-
value={tab.value}
28-
className="data-active:!bg-background data-active:!text-foreground data-active:!shadow-sm dark:data-active:!bg-background dark:data-active:!text-foreground"
29-
>
25+
<TabsTrigger key={tab.value} value={tab.value} className="">
3026
<tab.icon className="size-4" />
3127
{tab.label}
3228
</TabsTrigger>

apps/web/src/components/ui/tabs.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ function Tabs({ className, ...props }: TabsPrimitive.Root.Props) {
1616
}
1717

1818
const tabsListVariants = cva(
19-
"group/tabs-list inline-flex w-fit items-center justify-center rounded-none p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",
19+
"group/tabs-list inline-flex w-fit items-center justify-center gap-0.5 rounded-lg border border-fd-border p-0.5 text-muted-foreground group-data-[orientation=horizontal]/tabs:h-auto group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none data-[variant=line]:border-0",
2020
{
2121
variants: {
2222
variant: {
23-
default: "bg-muted",
23+
default: "bg-fd-card/50",
2424
line: "gap-1 bg-transparent",
2525
},
2626
},
@@ -50,9 +50,9 @@ function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {
5050
<TabsPrimitive.Tab
5151
data-slot="tabs-trigger"
5252
className={cn(
53-
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-none border border-transparent px-1.5 py-0.5 text-xs font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[orientation=vertical]/tabs:py-[calc(--spacing(1.25))] hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
53+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-xs font-medium whitespace-nowrap text-fd-muted-foreground transition-all cursor-pointer group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[orientation=vertical]/tabs:py-[calc(--spacing(1.25))] hover:text-fd-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
5454
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
55-
"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground",
55+
"data-active:bg-fd-accent data-active:text-fd-accent-foreground data-active:border-transparent",
5656
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
5757
className,
5858
)}

0 commit comments

Comments
 (0)