Redesign the frontend with a dark-tech theme: add Tailwind + PostCSS, design tokens, and shadcn-style primitives (Button/Card/Input/Dialog/ DropdownMenu/Tabs/ScrollArea/etc.); restyle the app shell, navigation, sidebar tree, content view, markdown rendering, editors, modals and settings panels. Behavior/props unchanged; Font Awesome replaced with lucide-react. Add the patch cards feature UI: patch-queries hooks and a PatchCards component rendered below the markdown body, with an Add Patch button and create/edit dialog. Fix tree expandability: folders with an index page now expand on name click (and navigate), and the chevron+folder icon is one larger toggle. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
933 B
JavaScript
26 lines
933 B
JavaScript
import React from "react";
|
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
import { cn } from "../../lib/utils";
|
|
|
|
const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (
|
|
<ScrollAreaPrimitive.Root
|
|
ref={ref}
|
|
className={cn("relative overflow-hidden", className)}
|
|
{...props}
|
|
>
|
|
<ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">
|
|
{children}
|
|
</ScrollAreaPrimitive.Viewport>
|
|
<ScrollAreaPrimitive.Scrollbar
|
|
orientation="vertical"
|
|
className="flex w-2 touch-none select-none p-0.5 transition-colors"
|
|
>
|
|
<ScrollAreaPrimitive.Thumb className="relative flex-1 rounded-full bg-border" />
|
|
</ScrollAreaPrimitive.Scrollbar>
|
|
<ScrollAreaPrimitive.Corner />
|
|
</ScrollAreaPrimitive.Root>
|
|
));
|
|
ScrollArea.displayName = "ScrollArea";
|
|
|
|
export { ScrollArea };
|