From 9ced2c98e42749fb28dcf37a7255bc16ddb53cb2 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sat, 30 Nov 2024 00:58:04 +0100 Subject: [PATCH] refactor: :recycle: Rewrite sidebar with shadcn --- app.vue | 1 + biome.json | 3 + bun.lockb | Bin 503392 -> 503392 bytes components.json | 2 +- .../composer/autocomplete-suggestbox.vue | 2 +- components/composer/button.vue | 2 +- components/composer/responding-to.vue | 2 +- components/composer/uploader/file-size.vue | 2 +- components/inputs/checkbox-input.vue | 2 +- .../notifications/notifications-renderer.vue | 2 +- components/settings/types/Enum.vue | 2 +- components/sidebars/sidebar.vue | 278 ++++++++++++++++++ components/sidebars/theme-switcher.vue | 35 +++ .../notes/interactions/row.vue | 4 +- components/social-elements/notes/mention.vue | 2 +- components/social-elements/notes/note.vue | 2 +- components/social-elements/users/Account.vue | 2 +- components/social-elements/users/Badge.vue | 4 +- components/social-elements/users/UserCard.vue | 2 +- components/ui/avatar/Avatar.vue | 24 ++ components/ui/avatar/AvatarFallback.vue | 11 + components/ui/avatar/AvatarImage.vue | 9 + components/ui/avatar/index.ts | 24 ++ components/ui/breadcrumb/Breadcrumb.vue | 13 + .../ui/breadcrumb/BreadcrumbEllipsis.vue | 22 ++ components/ui/breadcrumb/BreadcrumbItem.vue | 16 + components/ui/breadcrumb/BreadcrumbLink.vue | 22 ++ components/ui/breadcrumb/BreadcrumbList.vue | 16 + components/ui/breadcrumb/BreadcrumbPage.vue | 19 ++ .../ui/breadcrumb/BreadcrumbSeparator.vue | 21 ++ components/ui/breadcrumb/index.ts | 7 + components/ui/button/Button.vue | 26 ++ components/ui/button/index.ts | 34 +++ components/ui/collapsible/Collapsible.vue | 15 + .../ui/collapsible/CollapsibleContent.vue | 11 + .../ui/collapsible/CollapsibleTrigger.vue | 11 + components/ui/collapsible/index.ts | 3 + components/ui/dropdown-menu/DropdownMenu.vue | 19 ++ .../DropdownMenuCheckboxItem.vue | 42 +++ .../ui/dropdown-menu/DropdownMenuContent.vue | 40 +++ .../ui/dropdown-menu/DropdownMenuGroup.vue | 11 + .../ui/dropdown-menu/DropdownMenuItem.vue | 34 +++ .../ui/dropdown-menu/DropdownMenuLabel.vue | 33 +++ .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 ++ .../dropdown-menu/DropdownMenuRadioItem.vue | 43 +++ .../dropdown-menu/DropdownMenuSeparator.vue | 24 ++ .../ui/dropdown-menu/DropdownMenuShortcut.vue | 14 + .../ui/dropdown-menu/DropdownMenuSub.vue | 19 ++ .../dropdown-menu/DropdownMenuSubContent.vue | 32 ++ .../dropdown-menu/DropdownMenuSubTrigger.vue | 35 +++ .../ui/dropdown-menu/DropdownMenuTrigger.vue | 17 ++ components/ui/dropdown-menu/index.ts | 16 + components/ui/input/Input.vue | 23 ++ components/ui/input/index.ts | 1 + components/ui/separator/Separator.vue | 35 +++ components/ui/separator/index.ts | 1 + components/ui/sheet/Sheet.vue | 19 ++ components/ui/sheet/SheetClose.vue | 11 + components/ui/sheet/SheetContent.vue | 56 ++++ components/ui/sheet/SheetDescription.vue | 24 ++ components/ui/sheet/SheetFooter.vue | 19 ++ components/ui/sheet/SheetHeader.vue | 16 + components/ui/sheet/SheetTitle.vue | 24 ++ components/ui/sheet/SheetTrigger.vue | 11 + components/ui/sheet/index.ts | 29 ++ components/ui/sidebar/Sidebar.vue | 94 ++++++ components/ui/sidebar/SidebarContent.vue | 17 ++ components/ui/sidebar/SidebarFooter.vue | 17 ++ components/ui/sidebar/SidebarGroup.vue | 17 ++ components/ui/sidebar/SidebarGroupAction.vue | 29 ++ components/ui/sidebar/SidebarGroupContent.vue | 17 ++ components/ui/sidebar/SidebarGroupLabel.vue | 26 ++ components/ui/sidebar/SidebarHeader.vue | 17 ++ components/ui/sidebar/SidebarInput.vue | 21 ++ components/ui/sidebar/SidebarInset.vue | 20 ++ components/ui/sidebar/SidebarMenu.vue | 17 ++ components/ui/sidebar/SidebarMenuAction.vue | 39 +++ components/ui/sidebar/SidebarMenuBadge.vue | 25 ++ components/ui/sidebar/SidebarMenuButton.vue | 58 ++++ .../ui/sidebar/SidebarMenuButtonChild.vue | 33 +++ components/ui/sidebar/SidebarMenuItem.vue | 17 ++ components/ui/sidebar/SidebarMenuSkeleton.vue | 33 +++ components/ui/sidebar/SidebarMenuSub.vue | 21 ++ .../ui/sidebar/SidebarMenuSubButton.vue | 40 +++ components/ui/sidebar/SidebarMenuSubItem.vue | 9 + components/ui/sidebar/SidebarProvider.vue | 94 ++++++ components/ui/sidebar/SidebarRail.vue | 32 ++ components/ui/sidebar/SidebarSeparator.vue | 18 ++ components/ui/sidebar/SidebarTrigger.vue | 26 ++ components/ui/sidebar/index.ts | 54 ++++ components/ui/sidebar/utils.ts | 19 ++ components/ui/skeleton/Skeleton.vue | 14 + components/ui/skeleton/index.ts | 1 + components/ui/tooltip/Tooltip.vue | 19 ++ components/ui/tooltip/TooltipContent.vue | 40 +++ components/ui/tooltip/TooltipProvider.vue | 11 + components/ui/tooltip/TooltipTrigger.vue | 11 + components/ui/tooltip/index.ts | 4 + layouts/app.vue | 42 +-- lib/utils.ts | 6 - nuxt.config.ts | 3 + pages/about/apps.vue | 4 +- pages/index.vue | 2 - pages/oauth/authorize.vue | 4 +- pages/oauth/code.vue | 2 +- pages/oauth/consent.vue | 6 +- pages/oauth/reset.vue | 2 +- styles/index.css | 18 ++ tailwind.config.ts | 14 +- 109 files changed, 2261 insertions(+), 72 deletions(-) create mode 100644 components/sidebars/sidebar.vue create mode 100644 components/sidebars/theme-switcher.vue create mode 100644 components/ui/avatar/Avatar.vue create mode 100644 components/ui/avatar/AvatarFallback.vue create mode 100644 components/ui/avatar/AvatarImage.vue create mode 100644 components/ui/avatar/index.ts create mode 100644 components/ui/breadcrumb/Breadcrumb.vue create mode 100644 components/ui/breadcrumb/BreadcrumbEllipsis.vue create mode 100644 components/ui/breadcrumb/BreadcrumbItem.vue create mode 100644 components/ui/breadcrumb/BreadcrumbLink.vue create mode 100644 components/ui/breadcrumb/BreadcrumbList.vue create mode 100644 components/ui/breadcrumb/BreadcrumbPage.vue create mode 100644 components/ui/breadcrumb/BreadcrumbSeparator.vue create mode 100644 components/ui/breadcrumb/index.ts create mode 100644 components/ui/button/Button.vue create mode 100644 components/ui/button/index.ts create mode 100644 components/ui/collapsible/Collapsible.vue create mode 100644 components/ui/collapsible/CollapsibleContent.vue create mode 100644 components/ui/collapsible/CollapsibleTrigger.vue create mode 100644 components/ui/collapsible/index.ts create mode 100644 components/ui/dropdown-menu/DropdownMenu.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 components/ui/dropdown-menu/index.ts create mode 100644 components/ui/input/Input.vue create mode 100644 components/ui/input/index.ts create mode 100644 components/ui/separator/Separator.vue create mode 100644 components/ui/separator/index.ts create mode 100644 components/ui/sheet/Sheet.vue create mode 100644 components/ui/sheet/SheetClose.vue create mode 100644 components/ui/sheet/SheetContent.vue create mode 100644 components/ui/sheet/SheetDescription.vue create mode 100644 components/ui/sheet/SheetFooter.vue create mode 100644 components/ui/sheet/SheetHeader.vue create mode 100644 components/ui/sheet/SheetTitle.vue create mode 100644 components/ui/sheet/SheetTrigger.vue create mode 100644 components/ui/sheet/index.ts create mode 100644 components/ui/sidebar/Sidebar.vue create mode 100644 components/ui/sidebar/SidebarContent.vue create mode 100644 components/ui/sidebar/SidebarFooter.vue create mode 100644 components/ui/sidebar/SidebarGroup.vue create mode 100644 components/ui/sidebar/SidebarGroupAction.vue create mode 100644 components/ui/sidebar/SidebarGroupContent.vue create mode 100644 components/ui/sidebar/SidebarGroupLabel.vue create mode 100644 components/ui/sidebar/SidebarHeader.vue create mode 100644 components/ui/sidebar/SidebarInput.vue create mode 100644 components/ui/sidebar/SidebarInset.vue create mode 100644 components/ui/sidebar/SidebarMenu.vue create mode 100644 components/ui/sidebar/SidebarMenuAction.vue create mode 100644 components/ui/sidebar/SidebarMenuBadge.vue create mode 100644 components/ui/sidebar/SidebarMenuButton.vue create mode 100644 components/ui/sidebar/SidebarMenuButtonChild.vue create mode 100644 components/ui/sidebar/SidebarMenuItem.vue create mode 100644 components/ui/sidebar/SidebarMenuSkeleton.vue create mode 100644 components/ui/sidebar/SidebarMenuSub.vue create mode 100644 components/ui/sidebar/SidebarMenuSubButton.vue create mode 100644 components/ui/sidebar/SidebarMenuSubItem.vue create mode 100644 components/ui/sidebar/SidebarProvider.vue create mode 100644 components/ui/sidebar/SidebarRail.vue create mode 100644 components/ui/sidebar/SidebarSeparator.vue create mode 100644 components/ui/sidebar/SidebarTrigger.vue create mode 100644 components/ui/sidebar/index.ts create mode 100644 components/ui/sidebar/utils.ts create mode 100644 components/ui/skeleton/Skeleton.vue create mode 100644 components/ui/skeleton/index.ts create mode 100644 components/ui/tooltip/Tooltip.vue create mode 100644 components/ui/tooltip/TooltipContent.vue create mode 100644 components/ui/tooltip/TooltipProvider.vue create mode 100644 components/ui/tooltip/TooltipTrigger.vue create mode 100644 components/ui/tooltip/index.ts delete mode 100644 lib/utils.ts diff --git a/app.vue b/app.vue index e70fb99..b049977 100644 --- a/app.vue +++ b/app.vue @@ -16,6 +16,7 @@ + + diff --git a/components/sidebars/theme-switcher.vue b/components/sidebars/theme-switcher.vue new file mode 100644 index 0000000..a0003d9 --- /dev/null +++ b/components/sidebars/theme-switcher.vue @@ -0,0 +1,35 @@ + + + \ No newline at end of file diff --git a/components/social-elements/notes/interactions/row.vue b/components/social-elements/notes/interactions/row.vue index 94f1603..ab92503 100644 --- a/components/social-elements/notes/interactions/row.vue +++ b/components/social-elements/notes/interactions/row.vue @@ -9,9 +9,9 @@ diff --git a/components/social-elements/notes/mention.vue b/components/social-elements/notes/mention.vue index 514bd9f..8eb42cb 100644 --- a/components/social-elements/notes/mention.vue +++ b/components/social-elements/notes/mention.vue @@ -1,6 +1,6 @@