refactor: organize supply frontend structure

This commit is contained in:
2026-07-22 18:16:43 +08:00
parent 699a0bced4
commit b9bc9c3d39
96 changed files with 917 additions and 745 deletions
+1 -3
View File
@@ -1,5 +1,3 @@
"use client";
import {
Accordion,
AccordionContent,
@@ -7,7 +5,7 @@ import {
AccordionTrigger,
} from "@/shared/ui/accordion";
import { Badge } from "@/shared/ui/badge";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import type { Tool } from "ai";
import { BotIcon } from "lucide-react";
import type { ComponentProps } from "react";
+1 -3
View File
@@ -1,5 +1,3 @@
"use client";
import { Button } from "@/shared/ui/button";
import {
Select,
@@ -8,7 +6,7 @@ import {
SelectTrigger,
SelectValue,
} from "@/shared/ui/select";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import { CheckIcon, CopyIcon } from "lucide-react";
import type { ComponentProps, CSSProperties, HTMLAttributes } from "react";
import {
+1 -3
View File
@@ -1,7 +1,5 @@
"use client";
import { Button } from "@/shared/ui/button";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import type { UIMessage } from "ai";
import { ArrowDownIcon, DownloadIcon } from "lucide-react";
import type { ComponentProps } from "react";
+1 -3
View File
@@ -1,5 +1,3 @@
"use client";
import { Button } from "@/shared/ui/button";
import {
ButtonGroup,
@@ -11,7 +9,7 @@ import {
TooltipProvider,
TooltipTrigger,
} from "@/shared/ui/tooltip";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import { cjk } from "@streamdown/cjk";
import { code } from "@streamdown/code";
import { createMathPlugin } from "@streamdown/math";
+1 -1
View File
@@ -1,7 +1,7 @@
import type { RiveParameters } from "@rive-app/react-webgl2";
import { useRive, useStateMachineInput } from "@rive-app/react-webgl2";
import { memo, useEffect, useState } from "react";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
const RIVE_SOURCE = "https://ejiidnob33g9ap1r.public.blob.vercel-storage.com/obsidian-2.0.riv";
const STATE_MACHINE = "default";
+1 -3
View File
@@ -1,5 +1,3 @@
"use client";
import { Button } from "@/shared/ui/button";
import {
Card,
@@ -15,7 +13,7 @@ import {
CollapsibleContent,
CollapsibleTrigger,
} from "@/shared/ui/collapsible";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import { ChevronsUpDownIcon } from "lucide-react";
import type { ComponentProps } from "react";
import { createContext, useContext, useMemo } from "react";
+1 -3
View File
@@ -1,5 +1,3 @@
"use client";
import {
Command,
CommandEmpty,
@@ -39,7 +37,7 @@ import {
TooltipContent,
TooltipTrigger,
} from "@/shared/ui/tooltip";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import type { ChatStatus, FileUIPart, SourceDocumentUIPart } from "ai";
import {
CornerDownLeftIcon,
+1 -3
View File
@@ -1,6 +1,4 @@
"use client";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import type { MotionProps } from "motion/react";
import { motion } from "motion/react";
import type { CSSProperties, ElementType, JSX } from "react";
+1 -3
View File
@@ -1,8 +1,6 @@
"use client";
import type { ComponentProps } from "react";
import { useCallback, useEffect, useRef } from "react";
import { cn } from "@/lib/utils";
import { cn } from "@/shared/ui/cn";
import { Button } from "@/shared/ui/button";
export type SuggestionsProps = ComponentProps<"div">;
+1 -3
View File
@@ -1,10 +1,8 @@
"use client"
import * as React from "react"
import * as AccordionPrimitive from "@radix-ui/react-accordion"
import { ChevronDown } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Accordion = AccordionPrimitive.Root
+1 -1
View File
@@ -1,7 +1,7 @@
import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const badgeVariants = cva(
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
+1 -1
View File
@@ -1,7 +1,7 @@
import { Slot } from "@radix-ui/react-slot"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
import { Separator } from "@/shared/ui/separator"
const buttonGroupVariants = cva(
+1 -1
View File
@@ -2,7 +2,7 @@ import * as React from "react"
import { Slot } from "@radix-ui/react-slot"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const buttonVariants = cva(
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
+1 -1
View File
@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Card = React.forwardRef<
HTMLDivElement,
-2
View File
@@ -1,5 +1,3 @@
"use client"
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"
const Collapsible = CollapsiblePrimitive.Root
+1 -3
View File
@@ -1,11 +1,9 @@
"use client"
import * as React from "react"
import { type DialogProps } from "@radix-ui/react-dialog"
import { Command as CommandPrimitive } from "cmdk"
import { Search } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
import { Dialog, DialogContent } from "@/shared/ui/dialog"
const Command = React.forwardRef<
+1 -3
View File
@@ -1,10 +1,8 @@
"use client"
import * as React from "react"
import * as DialogPrimitive from "@radix-ui/react-dialog"
import { X } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Dialog = DialogPrimitive.Root
+1 -3
View File
@@ -1,10 +1,8 @@
"use client"
import * as React from "react"
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
import { Check, ChevronRight, Circle } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const DropdownMenu = DropdownMenuPrimitive.Root
+1 -3
View File
@@ -1,9 +1,7 @@
"use client"
import * as React from "react"
import * as HoverCardPrimitive from "@radix-ui/react-hover-card"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const HoverCard = HoverCardPrimitive.Root
+1 -3
View File
@@ -1,9 +1,7 @@
"use client"
import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
import { Button } from "@/shared/ui/button"
import { Input } from "@/shared/ui/input"
import { Textarea } from "@/shared/ui/textarea"
+1 -1
View File
@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Input = React.forwardRef<HTMLInputElement, React.ComponentProps<"input">>(
({ className, type, ...props }, ref) => {
+1 -3
View File
@@ -1,10 +1,8 @@
"use client"
import * as React from "react"
import * as SelectPrimitive from "@radix-ui/react-select"
import { Check, ChevronDown, ChevronUp } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Select = SelectPrimitive.Root
+1 -3
View File
@@ -1,9 +1,7 @@
"use client"
import * as React from "react"
import * as SeparatorPrimitive from "@radix-ui/react-separator"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Separator = React.forwardRef<
React.ElementRef<typeof SeparatorPrimitive.Root>,
+1 -1
View File
@@ -1,6 +1,6 @@
import { Loader2Icon } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
return (
+1 -1
View File
@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const Textarea = React.forwardRef<
HTMLTextAreaElement,
+1 -3
View File
@@ -1,9 +1,7 @@
"use client"
import * as React from "react"
import * as TooltipPrimitive from "@radix-ui/react-tooltip"
import { cn } from "@/lib/utils"
import { cn } from "@/shared/ui/cn"
const TooltipProvider = TooltipPrimitive.Provider