From 7cadbfe2b17c8a3a253a7171e9c07fd5b9ae8218 Mon Sep 17 00:00:00 2001 From: wudi Date: Mon, 24 Mar 2025 11:05:59 +0800 Subject: [PATCH] refactor: Migrate project files and directories to the app directory using the new compatibilityVersion: 4 feature - Moved `app.config.ts` to the `app` directory - Migrated `.vue` files and other assets to the `app` directory - Updated import paths to reflect the new file locations --- app.config.ts => app/app.config.ts | 0 app.vue => app/app.vue | 0 {assets => app/assets}/css/tailwind.css | 0 {assets => app/assets}/images/404.svg | 0 {assets => app/assets}/images/cloudflare.png | Bin {assets => app/assets}/images/hero.svg | 0 {assets => app/assets}/images/nuxtjs.png | Bin .../components}/SwitchLanguage.vue | 0 {components => app/components}/SwitchTheme.vue | 0 .../components}/dashboard/Breadcrumb.vue | 0 .../components}/dashboard/Counters.vue | 0 .../components}/dashboard/DatePicker.vue | 0 .../components}/dashboard/Filters.vue | 0 .../components}/dashboard/Index.vue | 0 .../components}/dashboard/Logout.vue | 0 .../components}/dashboard/Nav.vue | 0 .../components}/dashboard/Views.vue | 0 .../components}/dashboard/links/Delete.vue | 0 .../components}/dashboard/links/Editor.vue | 2 +- .../components}/dashboard/links/Index.vue | 0 .../components}/dashboard/links/Link.vue | 0 .../components}/dashboard/links/QRCode.vue | 0 .../components}/dashboard/links/Search.vue | 0 .../components}/dashboard/links/Sort.vue | 0 .../components}/dashboard/metrics/Group.vue | 0 .../components}/dashboard/metrics/Index.vue | 0 .../components}/dashboard/metrics/List.vue | 0 .../components}/dashboard/metrics/Locations.vue | 0 .../components}/dashboard/metrics/Metric.vue | 0 .../components}/dashboard/metrics/name/Icon.vue | 0 .../dashboard/metrics/name/Index.vue | 0 .../dashboard/metrics/name/Referer.vue | 0 .../components}/dashboard/metrics/name/Slug.vue | 0 {components => app/components}/home/Cta.vue | 0 .../components}/home/Features.vue | 0 {components => app/components}/home/Hero.vue | 0 {components => app/components}/home/Link.vue | 0 {components => app/components}/home/Logos.vue | 0 {components => app/components}/home/Twitter.vue | 0 .../components}/layouts/Footer.vue | 0 .../components}/layouts/Header.vue | 0 {components => app/components}/login/index.vue | 0 .../components}/ui/accordion/Accordion.vue | 0 .../ui/accordion/AccordionContent.vue | 0 .../components}/ui/accordion/AccordionItem.vue | 0 .../ui/accordion/AccordionTrigger.vue | 0 .../components}/ui/accordion/index.ts | 0 .../components}/ui/alert-dialog/AlertDialog.vue | 0 .../ui/alert-dialog/AlertDialogAction.vue | 0 .../ui/alert-dialog/AlertDialogCancel.vue | 0 .../ui/alert-dialog/AlertDialogContent.vue | 0 .../ui/alert-dialog/AlertDialogDescription.vue | 0 .../ui/alert-dialog/AlertDialogFooter.vue | 0 .../ui/alert-dialog/AlertDialogHeader.vue | 0 .../ui/alert-dialog/AlertDialogTitle.vue | 0 .../ui/alert-dialog/AlertDialogTrigger.vue | 0 .../components}/ui/alert-dialog/index.ts | 0 .../components}/ui/alert/Alert.vue | 0 .../components}/ui/alert/AlertDescription.vue | 0 .../components}/ui/alert/AlertTitle.vue | 0 .../components}/ui/alert/index.ts | 0 .../components}/ui/aspect-ratio/AspectRatio.vue | 0 .../components}/ui/aspect-ratio/index.ts | 0 .../components}/ui/auto-form/AutoForm.vue | 0 .../components}/ui/auto-form/AutoFormField.vue | 0 .../ui/auto-form/AutoFormFieldArray.vue | 0 .../ui/auto-form/AutoFormFieldBoolean.vue | 0 .../ui/auto-form/AutoFormFieldDate.vue | 0 .../ui/auto-form/AutoFormFieldEnum.vue | 0 .../ui/auto-form/AutoFormFieldFile.vue | 0 .../ui/auto-form/AutoFormFieldInput.vue | 0 .../ui/auto-form/AutoFormFieldNumber.vue | 0 .../ui/auto-form/AutoFormFieldObject.vue | 0 .../components}/ui/auto-form/AutoFormLabel.vue | 0 .../components}/ui/auto-form/constant.ts | 0 .../components}/ui/auto-form/dependencies.ts | 0 .../components}/ui/auto-form/index.ts | 0 .../components}/ui/auto-form/interface.ts | 0 .../components}/ui/auto-form/utils.ts | 0 .../components}/ui/avatar/Avatar.vue | 0 .../components}/ui/avatar/AvatarFallback.vue | 0 .../components}/ui/avatar/AvatarImage.vue | 0 .../components}/ui/avatar/index.ts | 0 .../components}/ui/badge/Badge.vue | 0 .../components}/ui/badge/index.ts | 0 .../components}/ui/breadcrumb/Breadcrumb.vue | 0 .../ui/breadcrumb/BreadcrumbEllipsis.vue | 0 .../ui/breadcrumb/BreadcrumbItem.vue | 0 .../ui/breadcrumb/BreadcrumbLink.vue | 0 .../ui/breadcrumb/BreadcrumbList.vue | 0 .../ui/breadcrumb/BreadcrumbPage.vue | 0 .../ui/breadcrumb/BreadcrumbSeparator.vue | 0 .../components}/ui/breadcrumb/index.ts | 0 .../components}/ui/button/Button.vue | 0 .../components}/ui/button/index.ts | 0 .../components}/ui/calendar/Calendar.vue | 0 .../components}/ui/calendar/CalendarCell.vue | 0 .../ui/calendar/CalendarCellTrigger.vue | 0 .../components}/ui/calendar/CalendarGrid.vue | 0 .../ui/calendar/CalendarGridBody.vue | 0 .../ui/calendar/CalendarGridHead.vue | 0 .../components}/ui/calendar/CalendarGridRow.vue | 0 .../ui/calendar/CalendarHeadCell.vue | 0 .../components}/ui/calendar/CalendarHeader.vue | 0 .../components}/ui/calendar/CalendarHeading.vue | 0 .../ui/calendar/CalendarNextButton.vue | 0 .../ui/calendar/CalendarPrevButton.vue | 0 .../components}/ui/calendar/index.ts | 0 {components => app/components}/ui/card/Card.vue | 0 .../components}/ui/card/CardContent.vue | 0 .../components}/ui/card/CardDescription.vue | 0 .../components}/ui/card/CardFooter.vue | 0 .../components}/ui/card/CardHeader.vue | 0 .../components}/ui/card/CardTitle.vue | 0 {components => app/components}/ui/card/index.ts | 0 .../components}/ui/chart-area/AreaChart.vue | 0 .../components}/ui/chart-area/index.ts | 0 .../components}/ui/chart-bar/BarChart.vue | 0 .../components}/ui/chart-bar/index.ts | 0 .../components}/ui/chart/ChartCrosshair.vue | 0 .../components}/ui/chart/ChartLegend.vue | 0 .../components}/ui/chart/ChartSingleTooltip.vue | 0 .../components}/ui/chart/ChartTooltip.vue | 0 .../components}/ui/chart/index.ts | 0 .../components}/ui/chart/interface.ts | 0 .../components}/ui/checkbox/Checkbox.vue | 0 .../components}/ui/checkbox/index.ts | 0 .../components}/ui/command/Command.vue | 0 .../components}/ui/command/CommandDialog.vue | 0 .../components}/ui/command/CommandEmpty.vue | 0 .../components}/ui/command/CommandGroup.vue | 0 .../components}/ui/command/CommandInput.vue | 0 .../components}/ui/command/CommandItem.vue | 0 .../components}/ui/command/CommandList.vue | 0 .../components}/ui/command/CommandSeparator.vue | 0 .../components}/ui/command/CommandShortcut.vue | 0 .../components}/ui/command/index.ts | 0 .../components}/ui/dialog/Dialog.vue | 0 .../components}/ui/dialog/DialogClose.vue | 0 .../components}/ui/dialog/DialogContent.vue | 0 .../components}/ui/dialog/DialogDescription.vue | 0 .../components}/ui/dialog/DialogFooter.vue | 0 .../components}/ui/dialog/DialogHeader.vue | 0 .../ui/dialog/DialogScrollContent.vue | 0 .../components}/ui/dialog/DialogTitle.vue | 0 .../components}/ui/dialog/DialogTrigger.vue | 0 .../components}/ui/dialog/index.ts | 0 .../components}/ui/drawer/Drawer.vue | 0 .../components}/ui/drawer/DrawerContent.vue | 0 .../components}/ui/drawer/DrawerDescription.vue | 0 .../components}/ui/drawer/DrawerFooter.vue | 0 .../components}/ui/drawer/DrawerHeader.vue | 0 .../components}/ui/drawer/DrawerOverlay.vue | 0 .../components}/ui/drawer/DrawerTitle.vue | 0 .../components}/ui/drawer/index.ts | 0 .../ui/dropdown-menu/DropdownMenu.vue | 0 .../dropdown-menu/DropdownMenuCheckboxItem.vue | 0 .../ui/dropdown-menu/DropdownMenuContent.vue | 0 .../ui/dropdown-menu/DropdownMenuGroup.vue | 0 .../ui/dropdown-menu/DropdownMenuItem.vue | 0 .../ui/dropdown-menu/DropdownMenuLabel.vue | 0 .../ui/dropdown-menu/DropdownMenuRadioGroup.vue | 0 .../ui/dropdown-menu/DropdownMenuRadioItem.vue | 0 .../ui/dropdown-menu/DropdownMenuSeparator.vue | 0 .../ui/dropdown-menu/DropdownMenuShortcut.vue | 0 .../ui/dropdown-menu/DropdownMenuSub.vue | 0 .../ui/dropdown-menu/DropdownMenuSubContent.vue | 0 .../ui/dropdown-menu/DropdownMenuSubTrigger.vue | 0 .../ui/dropdown-menu/DropdownMenuTrigger.vue | 0 .../components}/ui/dropdown-menu/index.ts | 0 .../components}/ui/form/FormControl.vue | 0 .../components}/ui/form/FormDescription.vue | 0 .../components}/ui/form/FormItem.vue | 6 ++---- .../components}/ui/form/FormLabel.vue | 0 .../components}/ui/form/FormMessage.vue | 0 {components => app/components}/ui/form/index.ts | 0 .../components}/ui/form/useFormField.ts | 2 +- .../components}/ui/hover-card/HoverCard.vue | 0 .../ui/hover-card/HoverCardContent.vue | 0 .../ui/hover-card/HoverCardTrigger.vue | 0 .../components}/ui/hover-card/index.ts | 0 .../components}/ui/input/Input.vue | 0 .../components}/ui/input/index.ts | 0 .../components}/ui/label/Label.vue | 0 .../components}/ui/label/index.ts | 0 .../components}/ui/menubar/Menubar.vue | 0 .../ui/menubar/MenubarCheckboxItem.vue | 0 .../components}/ui/menubar/MenubarContent.vue | 0 .../components}/ui/menubar/MenubarGroup.vue | 0 .../components}/ui/menubar/MenubarItem.vue | 0 .../components}/ui/menubar/MenubarLabel.vue | 0 .../components}/ui/menubar/MenubarMenu.vue | 0 .../ui/menubar/MenubarRadioGroup.vue | 0 .../components}/ui/menubar/MenubarRadioItem.vue | 0 .../components}/ui/menubar/MenubarSeparator.vue | 0 .../components}/ui/menubar/MenubarShortcut.vue | 0 .../components}/ui/menubar/MenubarSub.vue | 0 .../ui/menubar/MenubarSubContent.vue | 0 .../ui/menubar/MenubarSubTrigger.vue | 0 .../components}/ui/menubar/MenubarTrigger.vue | 0 .../components}/ui/menubar/index.ts | 0 .../ui/navigation-menu/NavigationMenu.vue | 0 .../navigation-menu/NavigationMenuContent.vue | 0 .../navigation-menu/NavigationMenuIndicator.vue | 0 .../ui/navigation-menu/NavigationMenuItem.vue | 0 .../ui/navigation-menu/NavigationMenuLink.vue | 0 .../ui/navigation-menu/NavigationMenuList.vue | 0 .../navigation-menu/NavigationMenuTrigger.vue | 0 .../navigation-menu/NavigationMenuViewport.vue | 0 .../components}/ui/navigation-menu/index.ts | 0 .../components}/ui/popover/Popover.vue | 0 .../components}/ui/popover/PopoverContent.vue | 0 .../components}/ui/popover/PopoverTrigger.vue | 0 .../components}/ui/popover/index.ts | 0 .../components}/ui/progress/Progress.vue | 0 .../components}/ui/progress/index.ts | 0 .../components}/ui/radio-group/RadioGroup.vue | 0 .../ui/radio-group/RadioGroupItem.vue | 0 .../components}/ui/radio-group/index.ts | 0 .../ui/range-calendar/RangeCalendar.vue | 0 .../ui/range-calendar/RangeCalendarCell.vue | 0 .../range-calendar/RangeCalendarCellTrigger.vue | 0 .../ui/range-calendar/RangeCalendarGrid.vue | 0 .../ui/range-calendar/RangeCalendarGridBody.vue | 0 .../ui/range-calendar/RangeCalendarGridHead.vue | 0 .../ui/range-calendar/RangeCalendarGridRow.vue | 0 .../ui/range-calendar/RangeCalendarHeadCell.vue | 0 .../ui/range-calendar/RangeCalendarHeader.vue | 0 .../ui/range-calendar/RangeCalendarHeading.vue | 0 .../range-calendar/RangeCalendarNextButton.vue | 0 .../range-calendar/RangeCalendarPrevButton.vue | 0 .../components}/ui/range-calendar/index.ts | 0 .../components}/ui/select/Select.vue | 0 .../components}/ui/select/SelectContent.vue | 0 .../components}/ui/select/SelectGroup.vue | 0 .../components}/ui/select/SelectItem.vue | 0 .../components}/ui/select/SelectItemText.vue | 0 .../components}/ui/select/SelectLabel.vue | 0 .../ui/select/SelectScrollDownButton.vue | 0 .../ui/select/SelectScrollUpButton.vue | 0 .../components}/ui/select/SelectSeparator.vue | 0 .../components}/ui/select/SelectTrigger.vue | 0 .../components}/ui/select/SelectValue.vue | 0 .../components}/ui/select/index.ts | 0 .../components}/ui/separator/Separator.vue | 0 .../components}/ui/separator/index.ts | 0 .../components}/ui/skeleton/Skeleton.vue | 0 .../components}/ui/skeleton/index.ts | 0 .../components}/ui/sonner/Sonner.vue | 0 .../components}/ui/sonner/index.ts | 0 .../components}/ui/switch/Switch.vue | 0 .../components}/ui/switch/index.ts | 0 .../components}/ui/table/Table.vue | 0 .../components}/ui/table/TableBody.vue | 0 .../components}/ui/table/TableCaption.vue | 0 .../components}/ui/table/TableCell.vue | 0 .../components}/ui/table/TableEmpty.vue | 0 .../components}/ui/table/TableFooter.vue | 0 .../components}/ui/table/TableHead.vue | 0 .../components}/ui/table/TableHeader.vue | 0 .../components}/ui/table/TableRow.vue | 0 .../components}/ui/table/index.ts | 0 {components => app/components}/ui/tabs/Tabs.vue | 0 .../components}/ui/tabs/TabsContent.vue | 0 .../components}/ui/tabs/TabsList.vue | 0 .../components}/ui/tabs/TabsTrigger.vue | 0 {components => app/components}/ui/tabs/index.ts | 0 .../components}/ui/textarea/Textarea.vue | 0 .../components}/ui/textarea/index.ts | 0 .../components}/ui/tooltip/Tooltip.vue | 0 .../components}/ui/tooltip/TooltipContent.vue | 0 .../components}/ui/tooltip/TooltipProvider.vue | 0 .../components}/ui/tooltip/TooltipTrigger.vue | 0 .../components}/ui/tooltip/index.ts | 0 app/composables/index.ts | 2 ++ error.vue => app/error.vue | 0 {layouts => app/layouts}/default.vue | 0 {middleware => app/middleware}/auth.global.ts | 0 {pages => app/pages}/dashboard/analysis.vue | 0 {pages => app/pages}/dashboard/link.vue | 0 {pages => app/pages}/dashboard/links.vue | 0 {pages => app/pages}/dashboard/login.vue | 0 {pages => app/pages}/index.vue | 0 {utils => app/utils}/api.ts | 0 {utils => app/utils}/color.ts | 0 {utils => app/utils}/flag.ts | 0 {utils => app/utils}/index.ts | 0 {utils => app/utils}/number.ts | 0 {utils => app/utils}/time.ts | 0 eslint.config.mjs | 2 +- nuxt.config.ts | 16 ++++++++++++++++ server/api/link/create.post.ts | 2 +- server/api/link/edit.put.ts | 2 +- server/api/stats/counters.get.ts | 2 +- server/api/stats/metrics.get.ts | 2 +- server/api/stats/views.get.ts | 2 +- server/middleware/1.redirect.ts | 2 +- server/utils/access-log.ts | 4 ++++ server/utils/query-filter.ts | 2 +- 299 files changed, 34 insertions(+), 14 deletions(-) rename app.config.ts => app/app.config.ts (100%) rename app.vue => app/app.vue (100%) rename {assets => app/assets}/css/tailwind.css (100%) rename {assets => app/assets}/images/404.svg (100%) rename {assets => app/assets}/images/cloudflare.png (100%) rename {assets => app/assets}/images/hero.svg (100%) rename {assets => app/assets}/images/nuxtjs.png (100%) rename {components => app/components}/SwitchLanguage.vue (100%) rename {components => app/components}/SwitchTheme.vue (100%) rename {components => app/components}/dashboard/Breadcrumb.vue (100%) rename {components => app/components}/dashboard/Counters.vue (100%) rename {components => app/components}/dashboard/DatePicker.vue (100%) rename {components => app/components}/dashboard/Filters.vue (100%) rename {components => app/components}/dashboard/Index.vue (100%) rename {components => app/components}/dashboard/Logout.vue (100%) rename {components => app/components}/dashboard/Nav.vue (100%) rename {components => app/components}/dashboard/Views.vue (100%) rename {components => app/components}/dashboard/links/Delete.vue (100%) rename {components => app/components}/dashboard/links/Editor.vue (98%) rename {components => app/components}/dashboard/links/Index.vue (100%) rename {components => app/components}/dashboard/links/Link.vue (100%) rename {components => app/components}/dashboard/links/QRCode.vue (100%) rename {components => app/components}/dashboard/links/Search.vue (100%) rename {components => app/components}/dashboard/links/Sort.vue (100%) rename {components => app/components}/dashboard/metrics/Group.vue (100%) rename {components => app/components}/dashboard/metrics/Index.vue (100%) rename {components => app/components}/dashboard/metrics/List.vue (100%) rename {components => app/components}/dashboard/metrics/Locations.vue (100%) rename {components => app/components}/dashboard/metrics/Metric.vue (100%) rename {components => app/components}/dashboard/metrics/name/Icon.vue (100%) rename {components => app/components}/dashboard/metrics/name/Index.vue (100%) rename {components => app/components}/dashboard/metrics/name/Referer.vue (100%) rename {components => app/components}/dashboard/metrics/name/Slug.vue (100%) rename {components => app/components}/home/Cta.vue (100%) rename {components => app/components}/home/Features.vue (100%) rename {components => app/components}/home/Hero.vue (100%) rename {components => app/components}/home/Link.vue (100%) rename {components => app/components}/home/Logos.vue (100%) rename {components => app/components}/home/Twitter.vue (100%) rename {components => app/components}/layouts/Footer.vue (100%) rename {components => app/components}/layouts/Header.vue (100%) rename {components => app/components}/login/index.vue (100%) rename {components => app/components}/ui/accordion/Accordion.vue (100%) rename {components => app/components}/ui/accordion/AccordionContent.vue (100%) rename {components => app/components}/ui/accordion/AccordionItem.vue (100%) rename {components => app/components}/ui/accordion/AccordionTrigger.vue (100%) rename {components => app/components}/ui/accordion/index.ts (100%) rename {components => app/components}/ui/alert-dialog/AlertDialog.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogAction.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogCancel.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogContent.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogDescription.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogFooter.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogHeader.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogTitle.vue (100%) rename {components => app/components}/ui/alert-dialog/AlertDialogTrigger.vue (100%) rename {components => app/components}/ui/alert-dialog/index.ts (100%) rename {components => app/components}/ui/alert/Alert.vue (100%) rename {components => app/components}/ui/alert/AlertDescription.vue (100%) rename {components => app/components}/ui/alert/AlertTitle.vue (100%) rename {components => app/components}/ui/alert/index.ts (100%) rename {components => app/components}/ui/aspect-ratio/AspectRatio.vue (100%) rename {components => app/components}/ui/aspect-ratio/index.ts (100%) rename {components => app/components}/ui/auto-form/AutoForm.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormField.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldArray.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldBoolean.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldDate.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldEnum.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldFile.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldInput.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldNumber.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormFieldObject.vue (100%) rename {components => app/components}/ui/auto-form/AutoFormLabel.vue (100%) rename {components => app/components}/ui/auto-form/constant.ts (100%) rename {components => app/components}/ui/auto-form/dependencies.ts (100%) rename {components => app/components}/ui/auto-form/index.ts (100%) rename {components => app/components}/ui/auto-form/interface.ts (100%) rename {components => app/components}/ui/auto-form/utils.ts (100%) rename {components => app/components}/ui/avatar/Avatar.vue (100%) rename {components => app/components}/ui/avatar/AvatarFallback.vue (100%) rename {components => app/components}/ui/avatar/AvatarImage.vue (100%) rename {components => app/components}/ui/avatar/index.ts (100%) rename {components => app/components}/ui/badge/Badge.vue (100%) rename {components => app/components}/ui/badge/index.ts (100%) rename {components => app/components}/ui/breadcrumb/Breadcrumb.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbEllipsis.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbItem.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbLink.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbList.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbPage.vue (100%) rename {components => app/components}/ui/breadcrumb/BreadcrumbSeparator.vue (100%) rename {components => app/components}/ui/breadcrumb/index.ts (100%) rename {components => app/components}/ui/button/Button.vue (100%) rename {components => app/components}/ui/button/index.ts (100%) rename {components => app/components}/ui/calendar/Calendar.vue (100%) rename {components => app/components}/ui/calendar/CalendarCell.vue (100%) rename {components => app/components}/ui/calendar/CalendarCellTrigger.vue (100%) rename {components => app/components}/ui/calendar/CalendarGrid.vue (100%) rename {components => app/components}/ui/calendar/CalendarGridBody.vue (100%) rename {components => app/components}/ui/calendar/CalendarGridHead.vue (100%) rename {components => app/components}/ui/calendar/CalendarGridRow.vue (100%) rename {components => app/components}/ui/calendar/CalendarHeadCell.vue (100%) rename {components => app/components}/ui/calendar/CalendarHeader.vue (100%) rename {components => app/components}/ui/calendar/CalendarHeading.vue (100%) rename {components => app/components}/ui/calendar/CalendarNextButton.vue (100%) rename {components => app/components}/ui/calendar/CalendarPrevButton.vue (100%) rename {components => app/components}/ui/calendar/index.ts (100%) rename {components => app/components}/ui/card/Card.vue (100%) rename {components => app/components}/ui/card/CardContent.vue (100%) rename {components => app/components}/ui/card/CardDescription.vue (100%) rename {components => app/components}/ui/card/CardFooter.vue (100%) rename {components => app/components}/ui/card/CardHeader.vue (100%) rename {components => app/components}/ui/card/CardTitle.vue (100%) rename {components => app/components}/ui/card/index.ts (100%) rename {components => app/components}/ui/chart-area/AreaChart.vue (100%) rename {components => app/components}/ui/chart-area/index.ts (100%) rename {components => app/components}/ui/chart-bar/BarChart.vue (100%) rename {components => app/components}/ui/chart-bar/index.ts (100%) rename {components => app/components}/ui/chart/ChartCrosshair.vue (100%) rename {components => app/components}/ui/chart/ChartLegend.vue (100%) rename {components => app/components}/ui/chart/ChartSingleTooltip.vue (100%) rename {components => app/components}/ui/chart/ChartTooltip.vue (100%) rename {components => app/components}/ui/chart/index.ts (100%) rename {components => app/components}/ui/chart/interface.ts (100%) rename {components => app/components}/ui/checkbox/Checkbox.vue (100%) rename {components => app/components}/ui/checkbox/index.ts (100%) rename {components => app/components}/ui/command/Command.vue (100%) rename {components => app/components}/ui/command/CommandDialog.vue (100%) rename {components => app/components}/ui/command/CommandEmpty.vue (100%) rename {components => app/components}/ui/command/CommandGroup.vue (100%) rename {components => app/components}/ui/command/CommandInput.vue (100%) rename {components => app/components}/ui/command/CommandItem.vue (100%) rename {components => app/components}/ui/command/CommandList.vue (100%) rename {components => app/components}/ui/command/CommandSeparator.vue (100%) rename {components => app/components}/ui/command/CommandShortcut.vue (100%) rename {components => app/components}/ui/command/index.ts (100%) rename {components => app/components}/ui/dialog/Dialog.vue (100%) rename {components => app/components}/ui/dialog/DialogClose.vue (100%) rename {components => app/components}/ui/dialog/DialogContent.vue (100%) rename {components => app/components}/ui/dialog/DialogDescription.vue (100%) rename {components => app/components}/ui/dialog/DialogFooter.vue (100%) rename {components => app/components}/ui/dialog/DialogHeader.vue (100%) rename {components => app/components}/ui/dialog/DialogScrollContent.vue (100%) rename {components => app/components}/ui/dialog/DialogTitle.vue (100%) rename {components => app/components}/ui/dialog/DialogTrigger.vue (100%) rename {components => app/components}/ui/dialog/index.ts (100%) rename {components => app/components}/ui/drawer/Drawer.vue (100%) rename {components => app/components}/ui/drawer/DrawerContent.vue (100%) rename {components => app/components}/ui/drawer/DrawerDescription.vue (100%) rename {components => app/components}/ui/drawer/DrawerFooter.vue (100%) rename {components => app/components}/ui/drawer/DrawerHeader.vue (100%) rename {components => app/components}/ui/drawer/DrawerOverlay.vue (100%) rename {components => app/components}/ui/drawer/DrawerTitle.vue (100%) rename {components => app/components}/ui/drawer/index.ts (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenu.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuCheckboxItem.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuContent.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuGroup.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuItem.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuLabel.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuRadioGroup.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuRadioItem.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuSeparator.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuShortcut.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuSub.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuSubContent.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuSubTrigger.vue (100%) rename {components => app/components}/ui/dropdown-menu/DropdownMenuTrigger.vue (100%) rename {components => app/components}/ui/dropdown-menu/index.ts (100%) rename {components => app/components}/ui/form/FormControl.vue (100%) rename {components => app/components}/ui/form/FormDescription.vue (100%) rename {components => app/components}/ui/form/FormItem.vue (74%) rename {components => app/components}/ui/form/FormLabel.vue (100%) rename {components => app/components}/ui/form/FormMessage.vue (100%) rename {components => app/components}/ui/form/index.ts (100%) rename {components => app/components}/ui/form/useFormField.ts (93%) rename {components => app/components}/ui/hover-card/HoverCard.vue (100%) rename {components => app/components}/ui/hover-card/HoverCardContent.vue (100%) rename {components => app/components}/ui/hover-card/HoverCardTrigger.vue (100%) rename {components => app/components}/ui/hover-card/index.ts (100%) rename {components => app/components}/ui/input/Input.vue (100%) rename {components => app/components}/ui/input/index.ts (100%) rename {components => app/components}/ui/label/Label.vue (100%) rename {components => app/components}/ui/label/index.ts (100%) rename {components => app/components}/ui/menubar/Menubar.vue (100%) rename {components => app/components}/ui/menubar/MenubarCheckboxItem.vue (100%) rename {components => app/components}/ui/menubar/MenubarContent.vue (100%) rename {components => app/components}/ui/menubar/MenubarGroup.vue (100%) rename {components => app/components}/ui/menubar/MenubarItem.vue (100%) rename {components => app/components}/ui/menubar/MenubarLabel.vue (100%) rename {components => app/components}/ui/menubar/MenubarMenu.vue (100%) rename {components => app/components}/ui/menubar/MenubarRadioGroup.vue (100%) rename {components => app/components}/ui/menubar/MenubarRadioItem.vue (100%) rename {components => app/components}/ui/menubar/MenubarSeparator.vue (100%) rename {components => app/components}/ui/menubar/MenubarShortcut.vue (100%) rename {components => app/components}/ui/menubar/MenubarSub.vue (100%) rename {components => app/components}/ui/menubar/MenubarSubContent.vue (100%) rename {components => app/components}/ui/menubar/MenubarSubTrigger.vue (100%) rename {components => app/components}/ui/menubar/MenubarTrigger.vue (100%) rename {components => app/components}/ui/menubar/index.ts (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenu.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuContent.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuIndicator.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuItem.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuLink.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuList.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuTrigger.vue (100%) rename {components => app/components}/ui/navigation-menu/NavigationMenuViewport.vue (100%) rename {components => app/components}/ui/navigation-menu/index.ts (100%) rename {components => app/components}/ui/popover/Popover.vue (100%) rename {components => app/components}/ui/popover/PopoverContent.vue (100%) rename {components => app/components}/ui/popover/PopoverTrigger.vue (100%) rename {components => app/components}/ui/popover/index.ts (100%) rename {components => app/components}/ui/progress/Progress.vue (100%) rename {components => app/components}/ui/progress/index.ts (100%) rename {components => app/components}/ui/radio-group/RadioGroup.vue (100%) rename {components => app/components}/ui/radio-group/RadioGroupItem.vue (100%) rename {components => app/components}/ui/radio-group/index.ts (100%) rename {components => app/components}/ui/range-calendar/RangeCalendar.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarCell.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarCellTrigger.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarGrid.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarGridBody.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarGridHead.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarGridRow.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarHeadCell.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarHeader.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarHeading.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarNextButton.vue (100%) rename {components => app/components}/ui/range-calendar/RangeCalendarPrevButton.vue (100%) rename {components => app/components}/ui/range-calendar/index.ts (100%) rename {components => app/components}/ui/select/Select.vue (100%) rename {components => app/components}/ui/select/SelectContent.vue (100%) rename {components => app/components}/ui/select/SelectGroup.vue (100%) rename {components => app/components}/ui/select/SelectItem.vue (100%) rename {components => app/components}/ui/select/SelectItemText.vue (100%) rename {components => app/components}/ui/select/SelectLabel.vue (100%) rename {components => app/components}/ui/select/SelectScrollDownButton.vue (100%) rename {components => app/components}/ui/select/SelectScrollUpButton.vue (100%) rename {components => app/components}/ui/select/SelectSeparator.vue (100%) rename {components => app/components}/ui/select/SelectTrigger.vue (100%) rename {components => app/components}/ui/select/SelectValue.vue (100%) rename {components => app/components}/ui/select/index.ts (100%) rename {components => app/components}/ui/separator/Separator.vue (100%) rename {components => app/components}/ui/separator/index.ts (100%) rename {components => app/components}/ui/skeleton/Skeleton.vue (100%) rename {components => app/components}/ui/skeleton/index.ts (100%) rename {components => app/components}/ui/sonner/Sonner.vue (100%) rename {components => app/components}/ui/sonner/index.ts (100%) rename {components => app/components}/ui/switch/Switch.vue (100%) rename {components => app/components}/ui/switch/index.ts (100%) rename {components => app/components}/ui/table/Table.vue (100%) rename {components => app/components}/ui/table/TableBody.vue (100%) rename {components => app/components}/ui/table/TableCaption.vue (100%) rename {components => app/components}/ui/table/TableCell.vue (100%) rename {components => app/components}/ui/table/TableEmpty.vue (100%) rename {components => app/components}/ui/table/TableFooter.vue (100%) rename {components => app/components}/ui/table/TableHead.vue (100%) rename {components => app/components}/ui/table/TableHeader.vue (100%) rename {components => app/components}/ui/table/TableRow.vue (100%) rename {components => app/components}/ui/table/index.ts (100%) rename {components => app/components}/ui/tabs/Tabs.vue (100%) rename {components => app/components}/ui/tabs/TabsContent.vue (100%) rename {components => app/components}/ui/tabs/TabsList.vue (100%) rename {components => app/components}/ui/tabs/TabsTrigger.vue (100%) rename {components => app/components}/ui/tabs/index.ts (100%) rename {components => app/components}/ui/textarea/Textarea.vue (100%) rename {components => app/components}/ui/textarea/index.ts (100%) rename {components => app/components}/ui/tooltip/Tooltip.vue (100%) rename {components => app/components}/ui/tooltip/TooltipContent.vue (100%) rename {components => app/components}/ui/tooltip/TooltipProvider.vue (100%) rename {components => app/components}/ui/tooltip/TooltipTrigger.vue (100%) rename {components => app/components}/ui/tooltip/index.ts (100%) create mode 100644 app/composables/index.ts rename error.vue => app/error.vue (100%) rename {layouts => app/layouts}/default.vue (100%) rename {middleware => app/middleware}/auth.global.ts (100%) rename {pages => app/pages}/dashboard/analysis.vue (100%) rename {pages => app/pages}/dashboard/link.vue (100%) rename {pages => app/pages}/dashboard/links.vue (100%) rename {pages => app/pages}/dashboard/login.vue (100%) rename {pages => app/pages}/index.vue (100%) rename {utils => app/utils}/api.ts (100%) rename {utils => app/utils}/color.ts (100%) rename {utils => app/utils}/flag.ts (100%) rename {utils => app/utils}/index.ts (100%) rename {utils => app/utils}/number.ts (100%) rename {utils => app/utils}/time.ts (100%) diff --git a/app.config.ts b/app/app.config.ts similarity index 100% rename from app.config.ts rename to app/app.config.ts diff --git a/app.vue b/app/app.vue similarity index 100% rename from app.vue rename to app/app.vue diff --git a/assets/css/tailwind.css b/app/assets/css/tailwind.css similarity index 100% rename from assets/css/tailwind.css rename to app/assets/css/tailwind.css diff --git a/assets/images/404.svg b/app/assets/images/404.svg similarity index 100% rename from assets/images/404.svg rename to app/assets/images/404.svg diff --git a/assets/images/cloudflare.png b/app/assets/images/cloudflare.png similarity index 100% rename from assets/images/cloudflare.png rename to app/assets/images/cloudflare.png diff --git a/assets/images/hero.svg b/app/assets/images/hero.svg similarity index 100% rename from assets/images/hero.svg rename to app/assets/images/hero.svg diff --git a/assets/images/nuxtjs.png b/app/assets/images/nuxtjs.png similarity index 100% rename from assets/images/nuxtjs.png rename to app/assets/images/nuxtjs.png diff --git a/components/SwitchLanguage.vue b/app/components/SwitchLanguage.vue similarity index 100% rename from components/SwitchLanguage.vue rename to app/components/SwitchLanguage.vue diff --git a/components/SwitchTheme.vue b/app/components/SwitchTheme.vue similarity index 100% rename from components/SwitchTheme.vue rename to app/components/SwitchTheme.vue diff --git a/components/dashboard/Breadcrumb.vue b/app/components/dashboard/Breadcrumb.vue similarity index 100% rename from components/dashboard/Breadcrumb.vue rename to app/components/dashboard/Breadcrumb.vue diff --git a/components/dashboard/Counters.vue b/app/components/dashboard/Counters.vue similarity index 100% rename from components/dashboard/Counters.vue rename to app/components/dashboard/Counters.vue diff --git a/components/dashboard/DatePicker.vue b/app/components/dashboard/DatePicker.vue similarity index 100% rename from components/dashboard/DatePicker.vue rename to app/components/dashboard/DatePicker.vue diff --git a/components/dashboard/Filters.vue b/app/components/dashboard/Filters.vue similarity index 100% rename from components/dashboard/Filters.vue rename to app/components/dashboard/Filters.vue diff --git a/components/dashboard/Index.vue b/app/components/dashboard/Index.vue similarity index 100% rename from components/dashboard/Index.vue rename to app/components/dashboard/Index.vue diff --git a/components/dashboard/Logout.vue b/app/components/dashboard/Logout.vue similarity index 100% rename from components/dashboard/Logout.vue rename to app/components/dashboard/Logout.vue diff --git a/components/dashboard/Nav.vue b/app/components/dashboard/Nav.vue similarity index 100% rename from components/dashboard/Nav.vue rename to app/components/dashboard/Nav.vue diff --git a/components/dashboard/Views.vue b/app/components/dashboard/Views.vue similarity index 100% rename from components/dashboard/Views.vue rename to app/components/dashboard/Views.vue diff --git a/components/dashboard/links/Delete.vue b/app/components/dashboard/links/Delete.vue similarity index 100% rename from components/dashboard/links/Delete.vue rename to app/components/dashboard/links/Delete.vue diff --git a/components/dashboard/links/Editor.vue b/app/components/dashboard/links/Editor.vue similarity index 98% rename from components/dashboard/links/Editor.vue rename to app/components/dashboard/links/Editor.vue index 90113d7e..a8735a1d 100644 --- a/components/dashboard/links/Editor.vue +++ b/app/components/dashboard/links/Editor.vue @@ -1,6 +1,6 @@