diff --git a/qwen3-tts-frontend/@/components/ui/dropdown-menu.tsx b/qwen3-tts-frontend/@/components/ui/dropdown-menu.tsx deleted file mode 100644 index fc790a8..0000000 --- a/qwen3-tts-frontend/@/components/ui/dropdown-menu.tsx +++ /dev/null @@ -1,198 +0,0 @@ -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" - -const DropdownMenu = DropdownMenuPrimitive.Root - -const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger - -const DropdownMenuGroup = DropdownMenuPrimitive.Group - -const DropdownMenuPortal = DropdownMenuPrimitive.Portal - -const DropdownMenuSub = DropdownMenuPrimitive.Sub - -const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup - -const DropdownMenuSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, children, ...props }, ref) => ( - - {children} - - -)) -DropdownMenuSubTrigger.displayName = - DropdownMenuPrimitive.SubTrigger.displayName - -const DropdownMenuSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSubContent.displayName = - DropdownMenuPrimitive.SubContent.displayName - -const DropdownMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, sideOffset = 4, ...props }, ref) => ( - - - -)) -DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName - -const DropdownMenuItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName - -const DropdownMenuCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, checked, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuCheckboxItem.displayName = - DropdownMenuPrimitive.CheckboxItem.displayName - -const DropdownMenuRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName - -const DropdownMenuLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName - -const DropdownMenuSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName - -const DropdownMenuShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -DropdownMenuShortcut.displayName = "DropdownMenuShortcut" - -export { - DropdownMenu, - DropdownMenuTrigger, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuCheckboxItem, - DropdownMenuRadioItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuShortcut, - DropdownMenuGroup, - DropdownMenuPortal, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuRadioGroup, -} diff --git a/qwen3-tts-frontend/vite.config.ts b/qwen3-tts-frontend/vite.config.ts index 3303259..fb32bda 100644 --- a/qwen3-tts-frontend/vite.config.ts +++ b/qwen3-tts-frontend/vite.config.ts @@ -12,21 +12,34 @@ export default defineConfig({ build: { rollupOptions: { output: { - manualChunks: { - 'react-vendor': ['react', 'react-dom', 'react-router-dom'], - 'icons': ['lucide-react'], - 'ui-vendor': [ - '@radix-ui/react-tabs', - '@radix-ui/react-label', - '@radix-ui/react-select', - '@radix-ui/react-slider', - '@radix-ui/react-scroll-area', - ], - 'form-vendor': ['react-hook-form', 'zod', '@hookform/resolvers'], - 'utils': ['axios', 'clsx', 'tailwind-merge'], + manualChunks(id) { + if (id.includes('node_modules')) { + if (id.includes('react') || id.includes('react-dom') || id.includes('react-router-dom')) { + return 'react-vendor'; + } + if (id.includes('lucide-react')) { + return 'icons'; + } + if (id.includes('@radix-ui')) { + return 'radix-ui'; + } + if (id.includes('react-hook-form') || id.includes('zod') || id.includes('@hookform')) { + return 'form-vendor'; + } + if (id.includes('i18next')) { + return 'i18n'; + } + if (id.includes('react-h5-audio-player') || id.includes('sonner')) { + return 'audio'; + } + if (id.includes('axios') || id.includes('clsx') || id.includes('tailwind-merge') || + id.includes('class-variance-authority') || id.includes('next-themes')) { + return 'utils'; + } + } }, }, }, - chunkSizeWarningLimit: 300, + chunkSizeWarningLimit: 500, }, })