create-tauri-ui 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -12
- package/dist/index.mjs +26 -27
- package/index.js +1 -1
- package/package.json +54 -63
- package/templates/.shared/.github/workflows/release.yml +112 -0
- package/templates/.shared/app-icon.png +0 -0
- package/templates/.shared/src-tauri/Cargo.lock +3701 -0
- package/templates/.shared/src-tauri/Cargo.toml +36 -0
- package/templates/.shared/src-tauri/build.rs +3 -0
- package/templates/.shared/src-tauri/icons/128x128.png +0 -0
- package/templates/.shared/src-tauri/icons/128x128@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/32x32.png +0 -0
- package/templates/.shared/src-tauri/icons/Square107x107Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square142x142Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square150x150Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square284x284Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square30x30Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square310x310Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square44x44Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square71x71Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/Square89x89Logo.png +0 -0
- package/templates/.shared/src-tauri/icons/StoreLogo.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/templates/.shared/src-tauri/icons/icon.icns +0 -0
- package/templates/.shared/src-tauri/icons/icon.ico +0 -0
- package/templates/.shared/src-tauri/icons/icon.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
- package/templates/.shared/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
- package/templates/.shared/src-tauri/src/main.rs +19 -0
- package/templates/.shared/src-tauri/tauri.conf.json +79 -0
- package/templates/next/.env +1 -1
- package/templates/next/.github/workflows/release.yml +108 -108
- package/templates/next/.vscode/extensions.json +3 -3
- package/templates/next/README.md +95 -88
- package/templates/next/components.json +16 -0
- package/templates/next/next-env.d.ts +5 -5
- package/templates/next/next.config.js +14 -17
- package/templates/next/package.json +83 -82
- package/templates/next/pnpm-lock.yaml +4869 -4754
- package/templates/next/postcss.config.js +6 -6
- package/templates/next/prettier.config.js +35 -35
- package/templates/next/src/app/examples/authentication/components/user-auth-form.tsx +1 -1
- package/templates/next/src/app/examples/authentication/page.tsx +67 -59
- package/templates/next/src/app/examples/cards/components/create-account.tsx +1 -1
- package/templates/next/src/app/examples/cards/components/date-picker.tsx +2 -2
- package/templates/next/src/app/examples/cards/components/github-card.tsx +15 -10
- package/templates/next/src/app/examples/cards/components/notifications.tsx +9 -9
- package/templates/next/src/app/examples/cards/components/payment-method.tsx +14 -4
- package/templates/next/src/app/examples/cards/components/report-an-issue.tsx +4 -1
- package/templates/next/src/app/examples/cards/components/share-document.tsx +5 -1
- package/templates/next/src/app/examples/cards/components/team-members.tsx +8 -4
- package/templates/next/src/app/examples/cards/page.tsx +37 -36
- package/templates/next/src/app/examples/dashboard/components/date-range-picker.tsx +2 -3
- package/templates/next/src/app/examples/dashboard/components/main-nav.tsx +10 -8
- package/templates/next/src/app/examples/dashboard/components/recent-sales.tsx +5 -1
- package/templates/next/src/app/examples/dashboard/components/search.tsx +1 -1
- package/templates/next/src/app/examples/dashboard/components/team-switcher.tsx +15 -7
- package/templates/next/src/app/examples/dashboard/components/user-nav.tsx +10 -15
- package/templates/next/src/app/examples/dashboard/page.tsx +164 -114
- package/templates/next/src/app/examples/forms/account/account-form.tsx +13 -13
- package/templates/next/src/app/examples/forms/appearance/appearance-form.tsx +5 -5
- package/templates/next/src/app/examples/forms/components/sidebar-nav.tsx +3 -2
- package/templates/next/src/app/examples/forms/display/display-form.tsx +2 -2
- package/templates/next/src/app/examples/forms/layout.tsx +16 -14
- package/templates/next/src/app/examples/forms/notifications/notifications-form.tsx +6 -5
- package/templates/next/src/app/examples/forms/notifications/page.tsx +0 -1
- package/templates/next/src/app/examples/forms/profile-form.tsx +16 -15
- package/templates/next/src/app/examples/layout.tsx +7 -7
- package/templates/next/src/app/examples/music/components/album-artwork.tsx +15 -4
- package/templates/next/src/app/examples/music/components/menu.tsx +27 -5
- package/templates/next/src/app/examples/music/components/podcast-empty-placeholder.tsx +15 -4
- package/templates/next/src/app/examples/music/components/sidebar.tsx +147 -43
- package/templates/next/src/app/examples/music/page.tsx +113 -106
- package/templates/next/src/app/examples/playground/components/model-selector.tsx +3 -3
- package/templates/next/src/app/examples/playground/components/preset-actions.tsx +2 -4
- package/templates/next/src/app/examples/playground/components/preset-selector.tsx +4 -4
- package/templates/next/src/app/examples/playground/components/preset-share.tsx +2 -2
- package/templates/next/src/app/examples/playground/page.tsx +268 -115
- package/templates/next/src/app/examples/tasks/components/data-table-column-header.tsx +12 -7
- package/templates/next/src/app/examples/tasks/components/data-table-faceted-filter.tsx +4 -4
- package/templates/next/src/app/examples/tasks/components/data-table-pagination.tsx +10 -10
- package/templates/next/src/app/examples/tasks/components/data-table-row-actions.tsx +6 -19
- package/templates/next/src/app/examples/tasks/components/data-table-toolbar.tsx +3 -5
- package/templates/next/src/app/examples/tasks/components/data-table-view-options.tsx +2 -2
- package/templates/next/src/app/examples/tasks/components/user-nav.tsx +10 -15
- package/templates/next/src/app/examples/tasks/data/data.tsx +17 -17
- package/templates/next/src/app/examples/tasks/data/tasks.json +1 -1
- package/templates/next/src/app/examples/tasks/page.tsx +14 -12
- package/templates/next/src/app/layout.tsx +47 -43
- package/templates/next/src/app/page.tsx +5 -5
- package/templates/next/src/components/{examples/date-picker/with-range.tsx → example/date-picker-with-range.tsx} +1 -1
- package/templates/next/src/components/examples-nav.tsx +70 -70
- package/templates/next/src/components/greeting.tsx +21 -21
- package/templates/next/src/components/icons.tsx +154 -154
- package/templates/next/src/components/menu-mode-toggle.tsx +46 -46
- package/templates/next/src/components/menu.tsx +259 -259
- package/templates/next/src/components/mode-toggle.tsx +43 -43
- package/templates/next/src/components/page-header.tsx +50 -50
- package/templates/next/src/components/style-switcher.tsx +19 -19
- package/templates/next/src/components/tailwind-indicator.tsx +18 -18
- package/templates/next/src/components/theme-provider.tsx +9 -9
- package/templates/next/src/components/ui/accordion.tsx +1 -1
- package/templates/next/src/components/ui/alert-dialog.tsx +3 -8
- package/templates/next/src/components/ui/alert.tsx +3 -5
- package/templates/next/src/components/ui/badge.tsx +5 -5
- package/templates/next/src/components/ui/button.tsx +15 -10
- package/templates/next/src/components/ui/card.tsx +1 -3
- package/templates/next/src/components/ui/checkbox.tsx +2 -2
- package/templates/next/src/components/ui/command.tsx +2 -2
- package/templates/next/src/components/ui/context-menu.tsx +6 -6
- package/templates/next/src/components/ui/dialog.tsx +4 -9
- package/templates/next/src/components/ui/dropdown-menu.tsx +6 -6
- package/templates/next/src/components/ui/hover-card.tsx +1 -1
- package/templates/next/src/components/ui/input.tsx +1 -3
- package/templates/next/src/components/ui/label.tsx +1 -1
- package/templates/next/src/components/ui/menubar.tsx +7 -7
- package/templates/next/src/components/ui/navigation-menu.tsx +2 -4
- package/templates/next/src/components/ui/popover.tsx +1 -1
- package/templates/next/src/components/ui/radio-group.tsx +2 -2
- package/templates/next/src/components/ui/select.tsx +4 -3
- package/templates/next/src/components/ui/sheet.tsx +22 -108
- package/templates/next/src/components/ui/skeleton.tsx +0 -2
- package/templates/next/src/components/ui/switch.tsx +1 -1
- package/templates/next/src/components/ui/table.tsx +1 -1
- package/templates/next/src/components/ui/tabs.tsx +1 -1
- package/templates/next/src/components/ui/textarea.tsx +1 -3
- package/templates/next/src/components/ui/toast.tsx +6 -8
- package/templates/next/src/components/ui/toggle.tsx +3 -3
- package/templates/next/src/components/ui/tooltip.tsx +1 -1
- package/templates/next/src/components/ui/use-toast.ts +5 -4
- package/templates/next/src/data/albums.ts +71 -71
- package/templates/next/src/data/playlists.ts +16 -16
- package/templates/next/src/lib/utils.ts +6 -19
- package/templates/next/src/styles/globals.css +86 -124
- package/templates/next/src-tauri/Cargo.lock +3701 -3637
- package/templates/next/src-tauri/Cargo.toml +36 -36
- package/templates/next/src-tauri/build.rs +3 -3
- package/templates/next/src-tauri/icons/128x128.png +0 -0
- package/templates/next/src-tauri/icons/128x128@2x.png +0 -0
- package/templates/next/src-tauri/icons/32x32.png +0 -0
- package/templates/next/src-tauri/icons/Square107x107Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square142x142Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square150x150Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square284x284Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square30x30Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square310x310Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square44x44Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square71x71Logo.png +0 -0
- package/templates/next/src-tauri/icons/Square89x89Logo.png +0 -0
- package/templates/next/src-tauri/icons/StoreLogo.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/templates/next/src-tauri/icons/icon.icns +0 -0
- package/templates/next/src-tauri/icons/icon.ico +0 -0
- package/templates/next/src-tauri/icons/icon.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
- package/templates/next/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
- package/templates/next/src-tauri/src/main.rs +19 -19
- package/templates/next/src-tauri/tauri.conf.json +79 -63
- package/templates/next/tailwind.config.js +78 -80
- package/templates/next/tsconfig.json +35 -35
- package/templates/sveltekit/.github/workflows/release.yml +108 -0
- package/templates/sveltekit/package.json +29 -29
- package/templates/sveltekit/src-tauri/Cargo.lock +268 -206
- package/templates/sveltekit/src-tauri/Cargo.toml +12 -10
- package/templates/sveltekit/src-tauri/build.rs +3 -3
- package/templates/sveltekit/src-tauri/tauri.conf.json +23 -6
- package/templates/vite/components.json +16 -0
- package/templates/vite/package.json +19 -18
- package/templates/vite/pnpm-lock.yaml +801 -696
- package/templates/vite/public/avatars/01.png +0 -0
- package/templates/vite/public/avatars/02.png +0 -0
- package/templates/vite/public/avatars/03.png +0 -0
- package/templates/vite/public/avatars/04.png +0 -0
- package/templates/vite/public/avatars/05.png +0 -0
- package/templates/vite/src/components/menu.tsx +1 -1
- package/templates/vite/src/dashboard/components/date-range-picker.tsx +2 -3
- package/templates/vite/src/dashboard/components/recent-sales.tsx +5 -1
- package/templates/vite/src/dashboard/components/search.tsx +1 -1
- package/templates/vite/src/dashboard/components/team-switcher.tsx +15 -7
- package/templates/vite/src/dashboard/components/user-nav.tsx +10 -15
- package/templates/vite/src/dashboard/page.tsx +172 -121
- package/templates/vite/src/styles/globals.css +1 -39
- package/templates/vite/src-tauri/Cargo.lock +302 -238
- package/templates/vite/src-tauri/Cargo.toml +11 -8
- package/templates/vite/src-tauri/build.rs +3 -3
- package/templates/vite/src-tauri/tauri.conf.json +79 -63
- package/templates/viteuno/.github/workflows/release.yml +108 -0
- package/templates/viteuno/.vscode/extensions.json +3 -0
- package/templates/viteuno/README.md +1 -0
- package/templates/viteuno/app-icon.png +0 -0
- package/templates/viteuno/components.json +16 -0
- package/templates/viteuno/index.html +16 -0
- package/templates/viteuno/package.json +73 -0
- package/templates/viteuno/pnpm-lock.yaml +5298 -0
- package/templates/viteuno/preset.shadcn.ts +160 -0
- package/templates/viteuno/prettier.config.cjs +34 -0
- package/templates/viteuno/public/avatars/01.png +0 -0
- package/templates/viteuno/public/avatars/02.png +0 -0
- package/templates/viteuno/public/avatars/03.png +0 -0
- package/templates/viteuno/public/avatars/04.png +0 -0
- package/templates/viteuno/public/avatars/05.png +0 -0
- package/templates/viteuno/src/App.tsx +39 -0
- package/templates/viteuno/src/assets/Inter.var.woff2 +0 -0
- package/templates/viteuno/src/components/icons.tsx +154 -0
- package/templates/viteuno/src/components/menu-mode-toggle.tsx +46 -0
- package/templates/viteuno/src/components/menu.tsx +232 -0
- package/templates/viteuno/src/components/tailwind-indicator.tsx +18 -0
- package/templates/viteuno/src/components/theme-provider.tsx +9 -0
- package/templates/viteuno/src/components/ui/accordion.tsx +60 -0
- package/templates/viteuno/src/components/ui/alert-dialog.tsx +150 -0
- package/templates/viteuno/src/components/ui/alert.tsx +61 -0
- package/templates/viteuno/src/components/ui/aspect-ratio.tsx +7 -0
- package/templates/viteuno/src/components/ui/avatar.tsx +50 -0
- package/templates/viteuno/src/components/ui/badge.tsx +36 -0
- package/templates/viteuno/src/components/ui/button.tsx +51 -0
- package/templates/viteuno/src/components/ui/calendar.tsx +64 -0
- package/templates/viteuno/src/components/ui/card.tsx +81 -0
- package/templates/viteuno/src/components/ui/checkbox.tsx +30 -0
- package/templates/viteuno/src/components/ui/collapsible.tsx +11 -0
- package/templates/viteuno/src/components/ui/command.tsx +155 -0
- package/templates/viteuno/src/components/ui/context-menu.tsx +200 -0
- package/templates/viteuno/src/components/ui/dialog.tsx +128 -0
- package/templates/viteuno/src/components/ui/dropdown-menu.tsx +200 -0
- package/templates/viteuno/src/components/ui/hover-card.tsx +29 -0
- package/templates/viteuno/src/components/ui/index.ts +0 -0
- package/templates/viteuno/src/components/ui/input.tsx +27 -0
- package/templates/viteuno/src/components/ui/label.tsx +26 -0
- package/templates/viteuno/src/components/ui/menubar.tsx +236 -0
- package/templates/viteuno/src/components/ui/navigation-menu.tsx +130 -0
- package/templates/viteuno/src/components/ui/popover.tsx +31 -0
- package/templates/viteuno/src/components/ui/progress.tsx +28 -0
- package/templates/viteuno/src/components/ui/radio-group.tsx +44 -0
- package/templates/viteuno/src/components/ui/scroll-area.tsx +48 -0
- package/templates/viteuno/src/components/ui/select.tsx +120 -0
- package/templates/viteuno/src/components/ui/separator.tsx +31 -0
- package/templates/viteuno/src/components/ui/sheet.tsx +230 -0
- package/templates/viteuno/src/components/ui/skeleton.tsx +17 -0
- package/templates/viteuno/src/components/ui/slider.tsx +28 -0
- package/templates/viteuno/src/components/ui/switch.tsx +29 -0
- package/templates/viteuno/src/components/ui/table.tsx +114 -0
- package/templates/viteuno/src/components/ui/tabs.tsx +55 -0
- package/templates/viteuno/src/components/ui/textarea.tsx +26 -0
- package/templates/viteuno/src/components/ui/toast.tsx +129 -0
- package/templates/viteuno/src/components/ui/toaster.tsx +35 -0
- package/templates/viteuno/src/components/ui/toggle.tsx +45 -0
- package/templates/viteuno/src/components/ui/tooltip.tsx +30 -0
- package/templates/viteuno/src/components/ui/use-toast.ts +191 -0
- package/templates/{next/src/components/examples/calendar → viteuno/src/dashboard/components}/date-range-picker.tsx +5 -4
- package/templates/viteuno/src/dashboard/components/main-nav.tsx +38 -0
- package/templates/viteuno/src/dashboard/components/overview.tsx +78 -0
- package/templates/viteuno/src/dashboard/components/recent-sales.tsx +67 -0
- package/templates/viteuno/src/dashboard/components/search.tsx +13 -0
- package/templates/viteuno/src/dashboard/components/team-switcher.tsx +205 -0
- package/templates/viteuno/src/dashboard/components/user-nav.tsx +67 -0
- package/templates/viteuno/src/dashboard/page.tsx +140 -0
- package/templates/viteuno/src/lib/utils.ts +19 -0
- package/templates/viteuno/src/main.tsx +14 -0
- package/templates/viteuno/src/styles/globals.css +4 -0
- package/templates/viteuno/src/vite-env.d.ts +1 -0
- package/templates/viteuno/src-tauri/Cargo.lock +3701 -0
- package/templates/viteuno/src-tauri/Cargo.toml +36 -0
- package/templates/viteuno/src-tauri/build.rs +3 -0
- package/templates/viteuno/src-tauri/icons/128x128.png +0 -0
- package/templates/viteuno/src-tauri/icons/128x128@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/32x32.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square107x107Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square142x142Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square150x150Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square284x284Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square30x30Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square310x310Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square44x44Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square71x71Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/Square89x89Logo.png +0 -0
- package/templates/viteuno/src-tauri/icons/StoreLogo.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/templates/viteuno/src-tauri/icons/icon.icns +0 -0
- package/templates/viteuno/src-tauri/icons/icon.ico +0 -0
- package/templates/viteuno/src-tauri/icons/icon.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
- package/templates/viteuno/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
- package/templates/viteuno/src-tauri/src/main.rs +16 -0
- package/templates/viteuno/src-tauri/tauri.conf.json +79 -0
- package/templates/viteuno/tsconfig.json +26 -0
- package/templates/viteuno/tsconfig.node.json +9 -0
- package/templates/viteuno/uno.config.ts +111 -0
- package/templates/viteuno/vite.config.ts +33 -0
- package/templates/next/src/app/examples/cards/styles.css +0 -63
- package/templates/next/src/app/examples/music/styles.css +0 -65
- package/templates/next/src/app/examples/playground/components/icons.tsx +0 -153
- package/templates/next/src/app/examples/playground/styles.css +0 -65
- package/templates/next/src/components/examples/.eslintrc.json +0 -6
- package/templates/next/src/components/examples/accordion/demo.tsx +0 -32
- package/templates/next/src/components/examples/alert/demo.tsx +0 -15
- package/templates/next/src/components/examples/alert/destructive.tsx +0 -15
- package/templates/next/src/components/examples/alert-dialog/demo.tsx +0 -35
- package/templates/next/src/components/examples/aspect-ratio/demo.tsx +0 -16
- package/templates/next/src/components/examples/avatar/demo.tsx +0 -10
- package/templates/next/src/components/examples/badge/demo.tsx +0 -5
- package/templates/next/src/components/examples/badge/destructive.tsx +0 -5
- package/templates/next/src/components/examples/badge/outline.tsx +0 -5
- package/templates/next/src/components/examples/badge/secondary.tsx +0 -5
- package/templates/next/src/components/examples/button/as-child.tsx +0 -10
- package/templates/next/src/components/examples/button/demo.tsx +0 -5
- package/templates/next/src/components/examples/button/destructive.tsx +0 -5
- package/templates/next/src/components/examples/button/ghost.tsx +0 -5
- package/templates/next/src/components/examples/button/link.tsx +0 -5
- package/templates/next/src/components/examples/button/loading.tsx +0 -12
- package/templates/next/src/components/examples/button/outline.tsx +0 -5
- package/templates/next/src/components/examples/button/secondary.tsx +0 -5
- package/templates/next/src/components/examples/button/with-icon.tsx +0 -11
- package/templates/next/src/components/examples/calendar/date-picker.tsx +0 -43
- package/templates/next/src/components/examples/calendar/demo.tsx +0 -18
- package/templates/next/src/components/examples/calendar/react-hook-form.tsx +0 -101
- package/templates/next/src/components/examples/calendar/with-presets.tsx +0 -62
- package/templates/next/src/components/examples/card/demo.tsx +0 -79
- package/templates/next/src/components/examples/card/with-form.tsx +0 -59
- package/templates/next/src/components/examples/checkbox/demo.tsx +0 -17
- package/templates/next/src/components/examples/checkbox/disabled.tsx +0 -15
- package/templates/next/src/components/examples/checkbox/react-hook-form-multiple.tsx +0 -127
- package/templates/next/src/components/examples/checkbox/react-hook-form-single.tsx +0 -72
- package/templates/next/src/components/examples/checkbox/with-text.tsx +0 -22
- package/templates/next/src/components/examples/collapsible/demo.tsx +0 -46
- package/templates/next/src/components/examples/combobox/demo.tsx +0 -90
- package/templates/next/src/components/examples/combobox/dropdown-menu.tsx +0 -110
- package/templates/next/src/components/examples/combobox/popover.tsx +0 -124
- package/templates/next/src/components/examples/combobox/react-hook-form.tsx +0 -135
- package/templates/next/src/components/examples/command/combobox.tsx +0 -90
- package/templates/next/src/components/examples/command/demo.tsx +0 -62
- package/templates/next/src/components/examples/command/dialog.tsx +0 -86
- package/templates/next/src/components/examples/command/dropdown-menu.tsx +0 -110
- package/templates/next/src/components/examples/command/popover.tsx +0 -124
- package/templates/next/src/components/examples/context-menu/demo.tsx +0 -67
- package/templates/next/src/components/examples/data-table/columns.tsx +0 -110
- package/templates/next/src/components/examples/data-table/data-table.tsx +0 -185
- package/templates/next/src/components/examples/data-table/demo.tsx +0 -41
- package/templates/next/src/components/examples/date-picker/demo.tsx +0 -43
- package/templates/next/src/components/examples/date-picker/react-hook-form.tsx +0 -101
- package/templates/next/src/components/examples/date-picker/with-presets.tsx +0 -62
- package/templates/next/src/components/examples/dialog/demo.tsx +0 -47
- package/templates/next/src/components/examples/dropdown-menu/checkboxes.tsx +0 -53
- package/templates/next/src/components/examples/dropdown-menu/demo.tsx +0 -122
- package/templates/next/src/components/examples/dropdown-menu/radio-group.tsx +0 -37
- package/templates/next/src/components/examples/hover-card/demo.tsx +0 -39
- package/templates/next/src/components/examples/index.tsx +0 -213
- package/templates/next/src/components/examples/input/demo.tsx +0 -5
- package/templates/next/src/components/examples/input/disabled.tsx +0 -5
- package/templates/next/src/components/examples/input/file.tsx +0 -11
- package/templates/next/src/components/examples/input/react-hook-form.tsx +0 -65
- package/templates/next/src/components/examples/input/with-button.tsx +0 -11
- package/templates/next/src/components/examples/input/with-label.tsx +0 -11
- package/templates/next/src/components/examples/input/with-text.tsx +0 -12
- package/templates/next/src/components/examples/label/demo.tsx +0 -13
- package/templates/next/src/components/examples/menubar/demo.tsx +0 -107
- package/templates/next/src/components/examples/navigation-menu/demo.tsx +0 -144
- package/templates/next/src/components/examples/popover/demo.tsx +0 -67
- package/templates/next/src/components/examples/progress/demo.tsx +0 -16
- package/templates/next/src/components/examples/radio-group/demo.tsx +0 -21
- package/templates/next/src/components/examples/radio-group/react-hook-form.tsx +0 -88
- package/templates/next/src/components/examples/scroll-area/demo.tsx +0 -26
- package/templates/next/src/components/examples/select/demo.tsx +0 -31
- package/templates/next/src/components/examples/select/react-hook-form.tsx +0 -83
- package/templates/next/src/components/examples/separator/demo.tsx +0 -22
- package/templates/next/src/components/examples/sheet/demo.tsx +0 -47
- package/templates/next/src/components/examples/sheet/position.tsx +0 -75
- package/templates/next/src/components/examples/sheet/size.tsx +0 -75
- package/templates/next/src/components/examples/skeleton/demo.tsx +0 -13
- package/templates/next/src/components/examples/slider/demo.tsx +0 -16
- package/templates/next/src/components/examples/switch/demo.tsx +0 -11
- package/templates/next/src/components/examples/switch/react-hook-form.tsx +0 -101
- package/templates/next/src/components/examples/table/demo.tsx +0 -80
- package/templates/next/src/components/examples/tabs/demo.tsx +0 -69
- package/templates/next/src/components/examples/textarea/demo.tsx +0 -5
- package/templates/next/src/components/examples/textarea/disabled.tsx +0 -5
- package/templates/next/src/components/examples/textarea/react-hook-form.tsx +0 -77
- package/templates/next/src/components/examples/textarea/with-button.tsx +0 -11
- package/templates/next/src/components/examples/textarea/with-label.tsx +0 -11
- package/templates/next/src/components/examples/textarea/with-text.tsx +0 -14
- package/templates/next/src/components/examples/toast/demo.tsx +0 -26
- package/templates/next/src/components/examples/toast/destructive.tsx +0 -25
- package/templates/next/src/components/examples/toast/simple.tsx +0 -21
- package/templates/next/src/components/examples/toast/with-action.tsx +0 -24
- package/templates/next/src/components/examples/toast/with-title.tsx +0 -22
- package/templates/next/src/components/examples/toggle/demo.tsx +0 -11
- package/templates/next/src/components/examples/toggle/disabled.tsx +0 -11
- package/templates/next/src/components/examples/toggle/lg.tsx +0 -11
- package/templates/next/src/components/examples/toggle/outline.tsx +0 -11
- package/templates/next/src/components/examples/toggle/sm.tsx +0 -11
- package/templates/next/src/components/examples/toggle/with-text.tsx +0 -12
- package/templates/next/src/components/examples/tooltip/demo.tsx +0 -27
- package/templates/next/src/components/examples/typography/blockquote.tsx +0 -8
- package/templates/next/src/components/examples/typography/demo.tsx +0 -119
- package/templates/next/src/components/examples/typography/h1.tsx +0 -7
- package/templates/next/src/components/examples/typography/h2.tsx +0 -7
- package/templates/next/src/components/examples/typography/h3.tsx +0 -7
- package/templates/next/src/components/examples/typography/h4.tsx +0 -7
- package/templates/next/src/components/examples/typography/inline-code.tsx +0 -7
- package/templates/next/src/components/examples/typography/large.tsx +0 -5
- package/templates/next/src/components/examples/typography/lead.tsx +0 -8
- package/templates/next/src/components/examples/typography/list.tsx +0 -9
- package/templates/next/src/components/examples/typography/muted.tsx +0 -5
- package/templates/next/src/components/examples/typography/p.tsx +0 -8
- package/templates/next/src/components/examples/typography/small.tsx +0 -5
- package/templates/next/src/components/examples/typography/table.tsx +0 -44
- package/templates/sveltekit/static/favicon.ico +0 -0
- /package/templates/next/src/components/{react-hook-form → ui}/form.tsx +0 -0
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
+
import Link from "next/link"
|
|
3
4
|
import { zodResolver } from "@hookform/resolvers/zod"
|
|
4
5
|
import { useFieldArray, useForm } from "react-hook-form"
|
|
5
6
|
import * as z from "zod"
|
|
6
7
|
|
|
7
8
|
import { cn } from "@/lib/utils"
|
|
8
9
|
import { Button } from "@/components/ui/button"
|
|
10
|
+
import {
|
|
11
|
+
Form,
|
|
12
|
+
FormControl,
|
|
13
|
+
FormDescription,
|
|
14
|
+
FormField,
|
|
15
|
+
FormItem,
|
|
16
|
+
FormLabel,
|
|
17
|
+
FormMessage,
|
|
18
|
+
} from "@/components/ui/form"
|
|
9
19
|
import { Input } from "@/components/ui/input"
|
|
10
20
|
import {
|
|
11
21
|
Select,
|
|
@@ -16,15 +26,6 @@ import {
|
|
|
16
26
|
} from "@/components/ui/select"
|
|
17
27
|
import { Textarea } from "@/components/ui/textarea"
|
|
18
28
|
import { toast } from "@/components/ui/use-toast"
|
|
19
|
-
import {
|
|
20
|
-
Form,
|
|
21
|
-
FormControl,
|
|
22
|
-
FormDescription,
|
|
23
|
-
FormField,
|
|
24
|
-
FormItem,
|
|
25
|
-
FormLabel,
|
|
26
|
-
FormMessage,
|
|
27
|
-
} from "@/components/react-hook-form/form"
|
|
28
29
|
|
|
29
30
|
const profileFormSchema = z.object({
|
|
30
31
|
username: z
|
|
@@ -124,7 +125,7 @@ export function ProfileForm() {
|
|
|
124
125
|
</Select>
|
|
125
126
|
<FormDescription>
|
|
126
127
|
You can manage verified email addresses in your{" "}
|
|
127
|
-
<
|
|
128
|
+
<Link href="/examples/forms">email settings</Link>.
|
|
128
129
|
</FormDescription>
|
|
129
130
|
<FormMessage />
|
|
130
131
|
</FormItem>
|
|
@@ -156,8 +157,8 @@ export function ProfileForm() {
|
|
|
156
157
|
<FormField
|
|
157
158
|
control={form.control}
|
|
158
159
|
key={field.id}
|
|
159
|
-
name={`urls.${index}`}
|
|
160
|
-
render={() => (
|
|
160
|
+
name={`urls.${index}.value`}
|
|
161
|
+
render={({ field }) => (
|
|
161
162
|
<FormItem>
|
|
162
163
|
<FormLabel className={cn(index !== 0 && "sr-only")}>
|
|
163
164
|
URLs
|
|
@@ -166,7 +167,7 @@ export function ProfileForm() {
|
|
|
166
167
|
Add links to your website, blog, or social media profiles.
|
|
167
168
|
</FormDescription>
|
|
168
169
|
<FormControl>
|
|
169
|
-
<Input {...
|
|
170
|
+
<Input {...field} />
|
|
170
171
|
</FormControl>
|
|
171
172
|
<FormMessage />
|
|
172
173
|
</FormItem>
|
|
@@ -175,9 +176,9 @@ export function ProfileForm() {
|
|
|
175
176
|
))}
|
|
176
177
|
<Button
|
|
177
178
|
type="button"
|
|
178
|
-
variant="
|
|
179
|
+
variant="outline"
|
|
179
180
|
size="sm"
|
|
180
|
-
className="mt-
|
|
181
|
+
className="mt-2"
|
|
181
182
|
onClick={() => append({ value: "" })}
|
|
182
183
|
>
|
|
183
184
|
Add URL
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
interface ExamplesLayoutProps {
|
|
2
|
-
children: React.ReactNode
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
export default function ExamplesLayout({ children }: ExamplesLayoutProps) {
|
|
6
|
-
return <>{children}</>
|
|
7
|
-
}
|
|
1
|
+
interface ExamplesLayoutProps {
|
|
2
|
+
children: React.ReactNode
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export default function ExamplesLayout({ children }: ExamplesLayoutProps) {
|
|
6
|
+
return <>{children}</>
|
|
7
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Image from "next/image"
|
|
2
|
-
import {
|
|
2
|
+
import { PlusCircledIcon } from "@radix-ui/react-icons"
|
|
3
3
|
|
|
4
4
|
import { cn } from "@/lib/utils"
|
|
5
|
-
import { AspectRatio } from "@/components/ui/aspect-ratio"
|
|
6
5
|
import {
|
|
7
6
|
ContextMenu,
|
|
8
7
|
ContextMenuContent,
|
|
@@ -55,13 +54,25 @@ export function AlbumArtwork({
|
|
|
55
54
|
<ContextMenuSubTrigger>Add to Playlist</ContextMenuSubTrigger>
|
|
56
55
|
<ContextMenuSubContent className="w-48">
|
|
57
56
|
<ContextMenuItem>
|
|
58
|
-
<
|
|
57
|
+
<PlusCircledIcon className="mr-2 h-4 w-4" />
|
|
59
58
|
New Playlist
|
|
60
59
|
</ContextMenuItem>
|
|
61
60
|
<ContextMenuSeparator />
|
|
62
61
|
{playlists.map((playlist) => (
|
|
63
62
|
<ContextMenuItem key={playlist}>
|
|
64
|
-
<
|
|
63
|
+
<svg
|
|
64
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
65
|
+
fill="none"
|
|
66
|
+
stroke="currentColor"
|
|
67
|
+
strokeLinecap="round"
|
|
68
|
+
strokeLinejoin="round"
|
|
69
|
+
strokeWidth="2"
|
|
70
|
+
className="mr-2 h-4 w-4"
|
|
71
|
+
viewBox="0 0 24 24"
|
|
72
|
+
>
|
|
73
|
+
<path d="M21 15V6M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM12 12H3M16 6H3M12 18H3" />
|
|
74
|
+
</svg>
|
|
75
|
+
{playlist}
|
|
65
76
|
</ContextMenuItem>
|
|
66
77
|
))}
|
|
67
78
|
</ContextMenuSubContent>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Globe, Mic } from "lucide-react"
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
Menubar,
|
|
5
3
|
MenubarCheckboxItem,
|
|
@@ -130,13 +128,37 @@ export function Menu() {
|
|
|
130
128
|
<MenubarItem>
|
|
131
129
|
Smart Dictation...{" "}
|
|
132
130
|
<MenubarShortcut>
|
|
133
|
-
<
|
|
131
|
+
<svg
|
|
132
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
133
|
+
fill="none"
|
|
134
|
+
stroke="currentColor"
|
|
135
|
+
strokeLinecap="round"
|
|
136
|
+
strokeLinejoin="round"
|
|
137
|
+
strokeWidth="2"
|
|
138
|
+
className="h-4 w-4"
|
|
139
|
+
viewBox="0 0 24 24"
|
|
140
|
+
>
|
|
141
|
+
<path d="m12 8-9.04 9.06a2.82 2.82 0 1 0 3.98 3.98L16 12" />
|
|
142
|
+
<circle cx="17" cy="7" r="5" />
|
|
143
|
+
</svg>
|
|
134
144
|
</MenubarShortcut>
|
|
135
145
|
</MenubarItem>
|
|
136
146
|
<MenubarItem>
|
|
137
147
|
Emoji & Symbols{" "}
|
|
138
148
|
<MenubarShortcut>
|
|
139
|
-
<
|
|
149
|
+
<svg
|
|
150
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
151
|
+
fill="none"
|
|
152
|
+
stroke="currentColor"
|
|
153
|
+
strokeLinecap="round"
|
|
154
|
+
strokeLinejoin="round"
|
|
155
|
+
strokeWidth="2"
|
|
156
|
+
className="h-4 w-4"
|
|
157
|
+
viewBox="0 0 24 24"
|
|
158
|
+
>
|
|
159
|
+
<circle cx="12" cy="12" r="10" />
|
|
160
|
+
<path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" />
|
|
161
|
+
</svg>
|
|
140
162
|
</MenubarShortcut>
|
|
141
163
|
</MenubarItem>
|
|
142
164
|
</MenubarContent>
|
|
@@ -158,7 +180,7 @@ export function Menu() {
|
|
|
158
180
|
</MenubarContent>
|
|
159
181
|
</MenubarMenu>
|
|
160
182
|
<MenubarMenu>
|
|
161
|
-
<MenubarTrigger
|
|
183
|
+
<MenubarTrigger>Account</MenubarTrigger>
|
|
162
184
|
<MenubarContent forceMount>
|
|
163
185
|
<MenubarLabel inset>Switch Account</MenubarLabel>
|
|
164
186
|
<MenubarSeparator />
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Plus, Podcast } from "lucide-react"
|
|
2
|
-
|
|
3
1
|
import { Button } from "@/components/ui/button"
|
|
4
2
|
import {
|
|
5
3
|
Dialog,
|
|
@@ -17,7 +15,21 @@ export function PodcastEmptyPlaceholder() {
|
|
|
17
15
|
return (
|
|
18
16
|
<div className="flex h-[450px] shrink-0 items-center justify-center rounded-md border border-dashed">
|
|
19
17
|
<div className="mx-auto flex max-w-[420px] flex-col items-center justify-center text-center">
|
|
20
|
-
<
|
|
18
|
+
<svg
|
|
19
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
+
fill="none"
|
|
21
|
+
stroke="currentColor"
|
|
22
|
+
strokeLinecap="round"
|
|
23
|
+
strokeLinejoin="round"
|
|
24
|
+
strokeWidth="2"
|
|
25
|
+
className="h-10 w-10 text-muted-foreground"
|
|
26
|
+
viewBox="0 0 24 24"
|
|
27
|
+
>
|
|
28
|
+
<circle cx="12" cy="11" r="1" />
|
|
29
|
+
<path d="M11 17a1 1 0 0 1 2 0c0 .5-.34 3-.5 4.5a.5.5 0 0 1-1 0c-.16-1.5-.5-4-.5-4.5ZM8 14a5 5 0 1 1 8 0" />
|
|
30
|
+
<path d="M17 18.5a9 9 0 1 0-10 0" />
|
|
31
|
+
</svg>
|
|
32
|
+
|
|
21
33
|
<h3 className="mt-4 text-lg font-semibold">No episodes added</h3>
|
|
22
34
|
<p className="mb-4 mt-2 text-sm text-muted-foreground">
|
|
23
35
|
You have not added any podcasts. Add one below.
|
|
@@ -25,7 +37,6 @@ export function PodcastEmptyPlaceholder() {
|
|
|
25
37
|
<Dialog>
|
|
26
38
|
<DialogTrigger>
|
|
27
39
|
<Button size="sm" className="relative">
|
|
28
|
-
<Plus className="mr-2 h-4 w-4" />
|
|
29
40
|
Add Podcast
|
|
30
41
|
</Button>
|
|
31
42
|
</DialogTrigger>
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LayoutGrid,
|
|
3
|
-
Library,
|
|
4
|
-
ListMusic,
|
|
5
|
-
Mic2,
|
|
6
|
-
Music,
|
|
7
|
-
Music2,
|
|
8
|
-
PlayCircle,
|
|
9
|
-
Radio,
|
|
10
|
-
User,
|
|
11
|
-
} from "lucide-react"
|
|
12
|
-
|
|
13
1
|
import { cn } from "@/lib/utils"
|
|
14
2
|
import { Button } from "@/components/ui/button"
|
|
15
3
|
import { ScrollArea } from "@/components/ui/scroll-area"
|
|
@@ -22,72 +10,188 @@ interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
22
10
|
|
|
23
11
|
export function Sidebar({ className, playlists }: SidebarProps) {
|
|
24
12
|
return (
|
|
25
|
-
<div className={cn("
|
|
13
|
+
<div className={cn("pb-12", className)}>
|
|
26
14
|
<div className="space-y-4 py-4">
|
|
27
|
-
<div className="px-
|
|
28
|
-
<h2 className="mb-2 px-
|
|
15
|
+
<div className="px-3 py-2">
|
|
16
|
+
<h2 className="mb-2 px-4 text-lg font-semibold tracking-tight">
|
|
29
17
|
Discover
|
|
30
18
|
</h2>
|
|
31
19
|
<div className="space-y-1">
|
|
32
|
-
<Button
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
<Button variant="secondary" className="w-full justify-start">
|
|
21
|
+
<svg
|
|
22
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
23
|
+
viewBox="0 0 24 24"
|
|
24
|
+
fill="none"
|
|
25
|
+
stroke="currentColor"
|
|
26
|
+
strokeWidth="2"
|
|
27
|
+
strokeLinecap="round"
|
|
28
|
+
strokeLinejoin="round"
|
|
29
|
+
className="mr-2 h-4 w-4"
|
|
30
|
+
>
|
|
31
|
+
<circle cx="12" cy="12" r="10" />
|
|
32
|
+
<polygon points="10 8 16 12 10 16 10 8" />
|
|
33
|
+
</svg>
|
|
38
34
|
Listen Now
|
|
39
35
|
</Button>
|
|
40
|
-
<Button variant="ghost"
|
|
41
|
-
<
|
|
36
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
37
|
+
<svg
|
|
38
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
39
|
+
viewBox="0 0 24 24"
|
|
40
|
+
fill="none"
|
|
41
|
+
stroke="currentColor"
|
|
42
|
+
strokeWidth="2"
|
|
43
|
+
strokeLinecap="round"
|
|
44
|
+
strokeLinejoin="round"
|
|
45
|
+
className="mr-2 h-4 w-4"
|
|
46
|
+
>
|
|
47
|
+
<rect width="7" height="7" x="3" y="3" rx="1" />
|
|
48
|
+
<rect width="7" height="7" x="14" y="3" rx="1" />
|
|
49
|
+
<rect width="7" height="7" x="14" y="14" rx="1" />
|
|
50
|
+
<rect width="7" height="7" x="3" y="14" rx="1" />
|
|
51
|
+
</svg>
|
|
42
52
|
Browse
|
|
43
53
|
</Button>
|
|
44
|
-
<Button variant="ghost"
|
|
45
|
-
<
|
|
54
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
55
|
+
<svg
|
|
56
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
57
|
+
viewBox="0 0 24 24"
|
|
58
|
+
fill="none"
|
|
59
|
+
stroke="currentColor"
|
|
60
|
+
strokeWidth="2"
|
|
61
|
+
strokeLinecap="round"
|
|
62
|
+
strokeLinejoin="round"
|
|
63
|
+
className="mr-2 h-4 w-4"
|
|
64
|
+
>
|
|
65
|
+
<path d="M4.9 19.1C1 15.2 1 8.8 4.9 4.9" />
|
|
66
|
+
<path d="M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5" />
|
|
67
|
+
<circle cx="12" cy="12" r="2" />
|
|
68
|
+
<path d="M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5" />
|
|
69
|
+
<path d="M19.1 4.9C23 8.8 23 15.1 19.1 19" />
|
|
70
|
+
</svg>
|
|
46
71
|
Radio
|
|
47
72
|
</Button>
|
|
48
73
|
</div>
|
|
49
74
|
</div>
|
|
50
|
-
<div className="px-
|
|
51
|
-
<h2 className="mb-2 px-
|
|
75
|
+
<div className="px-3 py-2">
|
|
76
|
+
<h2 className="mb-2 px-4 text-lg font-semibold tracking-tight">
|
|
52
77
|
Library
|
|
53
78
|
</h2>
|
|
54
79
|
<div className="space-y-1">
|
|
55
|
-
<Button variant="ghost"
|
|
56
|
-
<
|
|
80
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
81
|
+
<svg
|
|
82
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
83
|
+
viewBox="0 0 24 24"
|
|
84
|
+
fill="none"
|
|
85
|
+
stroke="currentColor"
|
|
86
|
+
strokeWidth="2"
|
|
87
|
+
strokeLinecap="round"
|
|
88
|
+
strokeLinejoin="round"
|
|
89
|
+
className="mr-2 h-4 w-4"
|
|
90
|
+
>
|
|
91
|
+
<path d="M21 15V6" />
|
|
92
|
+
<path d="M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z" />
|
|
93
|
+
<path d="M12 12H3" />
|
|
94
|
+
<path d="M16 6H3" />
|
|
95
|
+
<path d="M12 18H3" />
|
|
96
|
+
</svg>
|
|
57
97
|
Playlists
|
|
58
98
|
</Button>
|
|
59
|
-
<Button variant="ghost"
|
|
60
|
-
<
|
|
99
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
100
|
+
<svg
|
|
101
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
102
|
+
viewBox="0 0 24 24"
|
|
103
|
+
fill="none"
|
|
104
|
+
stroke="currentColor"
|
|
105
|
+
strokeWidth="2"
|
|
106
|
+
strokeLinecap="round"
|
|
107
|
+
strokeLinejoin="round"
|
|
108
|
+
className="mr-2 h-4 w-4"
|
|
109
|
+
>
|
|
110
|
+
<circle cx="8" cy="18" r="4" />
|
|
111
|
+
<path d="M12 18V2l7 4" />
|
|
112
|
+
</svg>
|
|
61
113
|
Songs
|
|
62
114
|
</Button>
|
|
63
|
-
<Button variant="ghost"
|
|
64
|
-
<
|
|
115
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
116
|
+
<svg
|
|
117
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
118
|
+
viewBox="0 0 24 24"
|
|
119
|
+
fill="none"
|
|
120
|
+
stroke="currentColor"
|
|
121
|
+
strokeWidth="2"
|
|
122
|
+
strokeLinecap="round"
|
|
123
|
+
strokeLinejoin="round"
|
|
124
|
+
className="mr-2 h-4 w-4"
|
|
125
|
+
>
|
|
126
|
+
<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" />
|
|
127
|
+
<circle cx="12" cy="7" r="4" />
|
|
128
|
+
</svg>
|
|
65
129
|
Made for You
|
|
66
130
|
</Button>
|
|
67
|
-
<Button variant="ghost"
|
|
68
|
-
<
|
|
131
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
132
|
+
<svg
|
|
133
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
134
|
+
viewBox="0 0 24 24"
|
|
135
|
+
fill="none"
|
|
136
|
+
stroke="currentColor"
|
|
137
|
+
strokeWidth="2"
|
|
138
|
+
strokeLinecap="round"
|
|
139
|
+
strokeLinejoin="round"
|
|
140
|
+
className="mr-2 h-4 w-4"
|
|
141
|
+
>
|
|
142
|
+
<path d="m12 8-9.04 9.06a2.82 2.82 0 1 0 3.98 3.98L16 12" />
|
|
143
|
+
<circle cx="17" cy="7" r="5" />
|
|
144
|
+
</svg>
|
|
69
145
|
Artists
|
|
70
146
|
</Button>
|
|
71
|
-
<Button variant="ghost"
|
|
72
|
-
<
|
|
147
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
148
|
+
<svg
|
|
149
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
150
|
+
viewBox="0 0 24 24"
|
|
151
|
+
fill="none"
|
|
152
|
+
stroke="currentColor"
|
|
153
|
+
strokeWidth="2"
|
|
154
|
+
strokeLinecap="round"
|
|
155
|
+
strokeLinejoin="round"
|
|
156
|
+
className="mr-2 h-4 w-4"
|
|
157
|
+
>
|
|
158
|
+
<path d="m16 6 4 14" />
|
|
159
|
+
<path d="M12 6v14" />
|
|
160
|
+
<path d="M8 8v12" />
|
|
161
|
+
<path d="M4 4v16" />
|
|
162
|
+
</svg>
|
|
73
163
|
Albums
|
|
74
164
|
</Button>
|
|
75
165
|
</div>
|
|
76
166
|
</div>
|
|
77
167
|
<div className="py-2">
|
|
78
|
-
<h2 className="relative px-
|
|
168
|
+
<h2 className="relative px-7 text-lg font-semibold tracking-tight">
|
|
79
169
|
Playlists
|
|
80
170
|
</h2>
|
|
81
|
-
<ScrollArea className="h-[300px] px-
|
|
171
|
+
<ScrollArea className="h-[300px] px-1">
|
|
82
172
|
<div className="space-y-1 p-2">
|
|
83
|
-
{playlists?.map((playlist) => (
|
|
173
|
+
{playlists?.map((playlist, i) => (
|
|
84
174
|
<Button
|
|
85
|
-
key={playlist}
|
|
175
|
+
key={`${playlist}-${i}`}
|
|
86
176
|
variant="ghost"
|
|
87
|
-
size="sm"
|
|
88
177
|
className="w-full justify-start font-normal"
|
|
89
178
|
>
|
|
90
|
-
<
|
|
179
|
+
<svg
|
|
180
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
181
|
+
viewBox="0 0 24 24"
|
|
182
|
+
fill="none"
|
|
183
|
+
stroke="currentColor"
|
|
184
|
+
strokeWidth="2"
|
|
185
|
+
strokeLinecap="round"
|
|
186
|
+
strokeLinejoin="round"
|
|
187
|
+
className="mr-2 h-4 w-4"
|
|
188
|
+
>
|
|
189
|
+
<path d="M21 15V6" />
|
|
190
|
+
<path d="M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z" />
|
|
191
|
+
<path d="M12 12H3" />
|
|
192
|
+
<path d="M16 6H3" />
|
|
193
|
+
<path d="M12 18H3" />
|
|
194
|
+
</svg>
|
|
91
195
|
{playlist}
|
|
92
196
|
</Button>
|
|
93
197
|
))}
|