kaze 1.4.0 → 2.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +53 -1
- data/README.md +1 -1
- data/lib/kaze/commands/app/hotwire_stack.rb +2 -0
- data/lib/kaze/commands/app/inertia_react_stack.rb +5 -1
- data/lib/kaze/commands/app/inertia_vue_stack.rb +5 -1
- data/lib/kaze/commands/app.rb +9 -2
- data/lib/kaze/version.rb +1 -1
- data/stubs/default/config/routes.rb +11 -4
- data/stubs/default/test/integration/appearance_test.rb +11 -0
- data/stubs/default/test/integration/password_update_test.rb +9 -1
- data/stubs/hotwire/app/assets/tailwind/application.css +119 -1
- data/stubs/hotwire/app/components/breadcrumbs_component.rb +32 -0
- data/stubs/hotwire/app/components/danger_button_component.rb +1 -1
- data/stubs/hotwire/app/components/dropdown_component.html.erb +2 -2
- data/stubs/hotwire/app/components/dropdown_component.rb +5 -1
- data/stubs/hotwire/app/components/dropdown_link_component.rb +1 -1
- data/stubs/hotwire/app/components/heading_component.rb +19 -0
- data/stubs/hotwire/app/components/icon_component.rb +30 -0
- data/stubs/hotwire/app/components/input_error_component.rb +1 -1
- data/stubs/hotwire/app/components/input_label_component.rb +3 -3
- data/stubs/hotwire/app/components/modal_component.html.erb +2 -2
- data/stubs/hotwire/app/components/primary_button_component.rb +1 -1
- data/stubs/hotwire/app/components/secondary_button_component.rb +1 -1
- data/stubs/hotwire/app/components/sidebar_menu_button_component.rb +25 -0
- data/stubs/hotwire/app/components/text_input_component.rb +1 -1
- data/stubs/hotwire/app/components/user_avatar_component.rb +27 -0
- data/stubs/hotwire/app/controllers/application_controller.rb +1 -0
- data/stubs/hotwire/app/controllers/concerns/sidebar_state.rb +14 -0
- data/stubs/hotwire/app/controllers/settings/appearance_controller.rb +7 -0
- data/stubs/hotwire/app/controllers/settings/password_controller.rb +19 -0
- data/stubs/hotwire/app/controllers/{profile_controller.rb → settings/profile_controller.rb} +3 -4
- data/stubs/hotwire/app/views/auth/login.html.erb +1 -1
- data/stubs/hotwire/app/views/dashboard/index.html.erb +6 -11
- data/stubs/hotwire/app/views/layouts/_settings.html.erb +26 -0
- data/stubs/hotwire/app/views/layouts/_sidebar.html.erb +56 -0
- data/stubs/hotwire/app/views/layouts/_sidebar_header.html.erb +11 -0
- data/stubs/hotwire/app/views/layouts/_sidebar_user.html.erb +34 -0
- data/stubs/hotwire/app/views/layouts/application.html.erb +24 -15
- data/stubs/hotwire/app/views/settings/appearance/_update_appearance_form.html.erb +28 -0
- data/stubs/hotwire/app/views/settings/appearance/edit.html.erb +10 -0
- data/stubs/hotwire/app/views/{profile/partials → settings/password}/_update_password_form.html.erb +2 -10
- data/stubs/hotwire/app/views/settings/password/edit.html.erb +10 -0
- data/stubs/hotwire/app/views/{profile/partials → settings/profile}/_confirm_user_deletion_modal.html.erb +2 -2
- data/stubs/hotwire/app/views/settings/profile/_delete_user_form.html.erb +6 -0
- data/stubs/hotwire/app/views/{profile/partials → settings/profile}/_update_profile_information_form.html.erb +4 -12
- data/stubs/hotwire/app/views/{profile → settings/profile}/destroy.turbo_stream.erb +1 -1
- data/stubs/hotwire/app/views/settings/profile/edit.html.erb +14 -0
- data/stubs/inertia-common/app/controllers/concerns/handle_inertia_requests.rb +4 -1
- data/stubs/inertia-common/app/controllers/settings/appearance_controller.rb +7 -0
- data/stubs/inertia-common/app/controllers/settings/password_controller.rb +17 -0
- data/stubs/inertia-common/app/controllers/{profile_controller.rb → settings/profile_controller.rb} +2 -2
- data/stubs/inertia-common/test/integration/appearance_test.rb +11 -0
- data/stubs/inertia-common/test/integration/password_update_test.rb +10 -2
- data/stubs/inertia-react-ts/app/assets/tailwind/application.css +120 -1
- data/stubs/inertia-react-ts/app/javascript/Components/AppLogo.tsx +17 -0
- data/stubs/inertia-react-ts/app/javascript/Components/AppShell.tsx +9 -0
- data/stubs/inertia-react-ts/app/javascript/Components/AppSidebar.tsx +65 -0
- data/stubs/inertia-react-ts/app/javascript/Components/AppSidebarHeader.tsx +14 -0
- data/stubs/inertia-react-ts/app/javascript/Components/Breadcrumbs.tsx +43 -0
- data/stubs/inertia-react-ts/app/javascript/Components/Heading.tsx +19 -0
- data/stubs/inertia-react-ts/app/javascript/Components/InputError.tsx +1 -1
- data/stubs/inertia-react-ts/app/javascript/Components/NavFooter.tsx +32 -0
- data/stubs/inertia-react-ts/app/javascript/Components/NavMain.tsx +32 -0
- data/stubs/inertia-react-ts/app/javascript/Components/NavUser.tsx +39 -0
- data/stubs/inertia-react-ts/app/javascript/Components/UserInfo.tsx +23 -0
- data/stubs/inertia-react-ts/app/javascript/Components/UserMenuContent.tsx +57 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/avatar.tsx +51 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/breadcrumb.tsx +109 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/button.tsx +49 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/checkbox.tsx +27 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/dialog.tsx +109 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/dropdown-menu.tsx +217 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/input.tsx +21 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/label.tsx +19 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/separator.tsx +26 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/sheet.tsx +137 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/sidebar.tsx +719 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/skeleton.tsx +13 -0
- data/stubs/inertia-react-ts/app/javascript/Components/ui/tooltip.tsx +55 -0
- data/stubs/inertia-react-ts/app/javascript/Layouts/AuthenticatedLayout.tsx +19 -127
- data/stubs/inertia-react-ts/app/javascript/Layouts/GuestLayout.tsx +1 -1
- data/stubs/inertia-react-ts/app/javascript/Layouts/SettingsLayout.tsx +57 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ForgotPassword.tsx +6 -6
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Login.tsx +17 -12
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Register.tsx +14 -14
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ResetPassword.tsx +10 -10
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/VerifyEmail.tsx +2 -2
- data/stubs/inertia-react-ts/app/javascript/Pages/Dashboard.tsx +13 -8
- data/stubs/inertia-react-ts/app/javascript/Pages/Settings/Appearance.tsx +33 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/DeleteUserForm.tsx +107 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/UpdateAppearanceForm.tsx +41 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/{Profile → Settings}/Partials/UpdatePasswordForm.tsx +12 -20
- data/stubs/inertia-react-ts/app/javascript/Pages/{Profile → Settings}/Partials/UpdateProfileInformationForm.tsx +13 -21
- data/stubs/inertia-react-ts/app/javascript/Pages/Settings/Password.tsx +33 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/Settings/Profile.tsx +35 -0
- data/stubs/inertia-react-ts/app/javascript/entrypoints/application.tsx +6 -1
- data/stubs/inertia-react-ts/app/javascript/hooks/use-initials.tsx +23 -0
- data/stubs/inertia-react-ts/app/javascript/hooks/use-mobile-navigation.tsx +11 -0
- data/stubs/inertia-react-ts/app/javascript/hooks/use-mobile.tsx +36 -0
- data/stubs/inertia-react-ts/app/javascript/lib/appearance.ts +1 -2
- data/stubs/inertia-react-ts/app/javascript/lib/utils.ts +6 -0
- data/stubs/inertia-react-ts/app/javascript/types/global.d.ts +2 -2
- data/stubs/inertia-react-ts/app/javascript/types/index.d.ts +14 -0
- data/stubs/inertia-react-ts/components.json +21 -0
- data/stubs/inertia-react-ts/package.json +13 -0
- data/stubs/inertia-vue-ts/app/assets/tailwind/application.css +120 -1
- data/stubs/inertia-vue-ts/app/javascript/Components/AppLogo.vue +17 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/AppShell.vue +12 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/AppSidebar.vue +65 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/AppSidebarHeader.vue +20 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/Breadcrumbs.vue +32 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/Heading.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/InputError.vue +1 -1
- data/stubs/inertia-vue-ts/app/javascript/Components/NavFooter.vue +33 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/NavMain.vue +32 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/NavUser.vue +40 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/UserInfo.vue +25 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/UserMenuContent.vue +47 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/Avatar.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/AvatarFallback.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/AvatarImage.vue +16 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/index.ts +3 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/Breadcrumb.vue +17 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbList.vue +17 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/index.ts +7 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/button/Button.vue +31 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/button/index.ts +34 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/checkbox/Checkbox.vue +35 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/checkbox/index.ts +1 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/Dialog.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogClose.vue +12 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogContent.vue +52 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogDescription.vue +23 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogFooter.vue +25 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogHeader.vue +14 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogOverlay.vue +26 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogTitle.vue +23 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogTrigger.vue +12 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/index.ts +9 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenu.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuContent.vue +37 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuGroup.vue +12 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuItem.vue +41 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuTrigger.vue +14 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/index.ts +7 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/input/Input.vue +50 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/input/index.ts +1 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/label/Label.vue +26 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/label/index.ts +1 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/separator/Separator.vue +29 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/separator/index.ts +1 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/Sheet.vue +19 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetClose.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetContent.vue +62 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetDescription.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetFooter.vue +16 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetHeader.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetOverlay.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetTitle.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetTrigger.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/index.ts +8 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/Sidebar.vue +96 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarContent.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarFooter.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroup.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupAction.vue +27 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupContent.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupLabel.vue +25 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarHeader.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarInput.vue +22 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarInset.vue +21 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenu.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuAction.vue +35 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuBadge.vue +26 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuButton.vue +48 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuButtonChild.vue +36 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuItem.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSkeleton.vue +35 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSub.vue +22 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSubButton.vue +36 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSubItem.vue +18 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarProvider.vue +82 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarRail.vue +33 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarSeparator.vue +19 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarTrigger.vue +28 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/index.ts +60 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/utils.ts +19 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/skeleton/Skeleton.vue +17 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/skeleton/index.ts +1 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/Tooltip.vue +19 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipContent.vue +34 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipProvider.vue +14 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipTrigger.vue +15 -0
- data/stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/index.ts +4 -0
- data/stubs/inertia-vue-ts/app/javascript/Layouts/AuthenticatedLayout.vue +17 -147
- data/stubs/inertia-vue-ts/app/javascript/Layouts/SettingsLayout.vue +57 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ForgotPassword.vue +7 -7
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Login.vue +10 -12
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Register.vue +12 -14
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ResetPassword.vue +8 -10
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/VerifyEmail.vue +3 -3
- data/stubs/inertia-vue-ts/app/javascript/Pages/Dashboard.vue +15 -10
- data/stubs/inertia-vue-ts/app/javascript/Pages/Settings/Appearance.vue +33 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/DeleteUserForm.vue +96 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/UpdateAppearanceForm.vue +42 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/{Profile → Settings}/Partials/UpdatePasswordForm.vue +12 -20
- data/stubs/inertia-vue-ts/app/javascript/Pages/{Profile → Settings}/Partials/UpdateProfileInformationForm.vue +12 -20
- data/stubs/inertia-vue-ts/app/javascript/Pages/Settings/Password.vue +33 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/Settings/Profile.vue +40 -0
- data/stubs/inertia-vue-ts/app/javascript/composables/useInitials.ts +29 -0
- data/stubs/inertia-vue-ts/app/javascript/lib/appearance.ts +1 -2
- data/stubs/inertia-vue-ts/app/javascript/lib/utils.ts +6 -0
- data/stubs/inertia-vue-ts/app/javascript/types/index.d.ts +14 -0
- data/stubs/inertia-vue-ts/app/javascript/types/vue-shims.d.ts +10 -0
- data/stubs/inertia-vue-ts/components.json +20 -0
- data/stubs/inertia-vue-ts/package.json +8 -1
- data/stubs/inertia-vue-ts/vite.config.ts +25 -1
- metadata +171 -46
- data/stubs/hotwire/app/components/nav_link_component.rb +0 -15
- data/stubs/hotwire/app/components/responsive_nav_link_component.rb +0 -15
- data/stubs/hotwire/app/controllers/password_controller.rb +0 -13
- data/stubs/hotwire/app/views/layouts/_navigation.html.erb +0 -82
- data/stubs/hotwire/app/views/profile/edit.html.erb +0 -29
- data/stubs/hotwire/app/views/profile/partials/_delete_user_form.html.erb +0 -14
- data/stubs/hotwire/app/views/profile/partials/_update_appearance_form.html.erb +0 -39
- data/stubs/inertia-common/app/controllers/password_controller.rb +0 -13
- data/stubs/inertia-react-ts/app/javascript/Components/Checkbox.tsx +0 -11
- data/stubs/inertia-react-ts/app/javascript/Components/DangerButton.tsx +0 -20
- data/stubs/inertia-react-ts/app/javascript/Components/Dropdown.tsx +0 -100
- data/stubs/inertia-react-ts/app/javascript/Components/InputLabel.tsx +0 -14
- data/stubs/inertia-react-ts/app/javascript/Components/Modal.tsx +0 -66
- data/stubs/inertia-react-ts/app/javascript/Components/NavLink.tsx +0 -21
- data/stubs/inertia-react-ts/app/javascript/Components/PrimaryButton.tsx +0 -20
- data/stubs/inertia-react-ts/app/javascript/Components/ResponsiveNavLink.tsx +0 -21
- data/stubs/inertia-react-ts/app/javascript/Components/SecondaryButton.tsx +0 -22
- data/stubs/inertia-react-ts/app/javascript/Components/TextInput.tsx +0 -32
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Edit.tsx +0 -37
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.tsx +0 -102
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/UpdateAppearanceForm.tsx +0 -47
- data/stubs/inertia-vue-ts/app/javascript/Components/Checkbox.vue +0 -29
- data/stubs/inertia-vue-ts/app/javascript/Components/DangerButton.vue +0 -7
- data/stubs/inertia-vue-ts/app/javascript/Components/Dropdown.vue +0 -75
- data/stubs/inertia-vue-ts/app/javascript/Components/DropdownLink.vue +0 -16
- data/stubs/inertia-vue-ts/app/javascript/Components/InputLabel.vue +0 -12
- data/stubs/inertia-vue-ts/app/javascript/Components/Modal.vue +0 -109
- data/stubs/inertia-vue-ts/app/javascript/Components/NavLink.vue +0 -21
- data/stubs/inertia-vue-ts/app/javascript/Components/PrimaryButton.vue +0 -7
- data/stubs/inertia-vue-ts/app/javascript/Components/ResponsiveNavLink.vue +0 -21
- data/stubs/inertia-vue-ts/app/javascript/Components/SecondaryButton.vue +0 -19
- data/stubs/inertia-vue-ts/app/javascript/Components/TextInput.vue +0 -23
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Edit.vue +0 -43
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.vue +0 -99
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdateAppearanceForm.vue +0 -47
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kaze
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cuong Giang
|
|
@@ -101,6 +101,7 @@ files:
|
|
|
101
101
|
- stubs/default/config/routes.rb
|
|
102
102
|
- stubs/default/db/migrate/20240101000000_create_users.rb
|
|
103
103
|
- stubs/default/test/factories/users.rb
|
|
104
|
+
- stubs/default/test/integration/appearance_test.rb
|
|
104
105
|
- stubs/default/test/integration/auth/authentication_test.rb
|
|
105
106
|
- stubs/default/test/integration/auth/email_verification_test.rb
|
|
106
107
|
- stubs/default/test/integration/auth/password_reset_test.rb
|
|
@@ -111,19 +112,22 @@ files:
|
|
|
111
112
|
- stubs/hotwire/app/assets/tailwind/application.css
|
|
112
113
|
- stubs/hotwire/app/components/application_logo_component.rb
|
|
113
114
|
- stubs/hotwire/app/components/auth_session_status_component.rb
|
|
115
|
+
- stubs/hotwire/app/components/breadcrumbs_component.rb
|
|
114
116
|
- stubs/hotwire/app/components/danger_button_component.rb
|
|
115
117
|
- stubs/hotwire/app/components/dropdown_component.html.erb
|
|
116
118
|
- stubs/hotwire/app/components/dropdown_component.rb
|
|
117
119
|
- stubs/hotwire/app/components/dropdown_link_component.rb
|
|
120
|
+
- stubs/hotwire/app/components/heading_component.rb
|
|
121
|
+
- stubs/hotwire/app/components/icon_component.rb
|
|
118
122
|
- stubs/hotwire/app/components/input_error_component.rb
|
|
119
123
|
- stubs/hotwire/app/components/input_label_component.rb
|
|
120
124
|
- stubs/hotwire/app/components/modal_component.html.erb
|
|
121
125
|
- stubs/hotwire/app/components/modal_component.rb
|
|
122
|
-
- stubs/hotwire/app/components/nav_link_component.rb
|
|
123
126
|
- stubs/hotwire/app/components/primary_button_component.rb
|
|
124
|
-
- stubs/hotwire/app/components/responsive_nav_link_component.rb
|
|
125
127
|
- stubs/hotwire/app/components/secondary_button_component.rb
|
|
128
|
+
- stubs/hotwire/app/components/sidebar_menu_button_component.rb
|
|
126
129
|
- stubs/hotwire/app/components/text_input_component.rb
|
|
130
|
+
- stubs/hotwire/app/components/user_avatar_component.rb
|
|
127
131
|
- stubs/hotwire/app/controllers/application_controller.rb
|
|
128
132
|
- stubs/hotwire/app/controllers/auth/authenticated_session_controller.rb
|
|
129
133
|
- stubs/hotwire/app/controllers/auth/email_verification_notification_controller.rb
|
|
@@ -134,10 +138,12 @@ files:
|
|
|
134
138
|
- stubs/hotwire/app/controllers/concerns/authenticate.rb
|
|
135
139
|
- stubs/hotwire/app/controllers/concerns/redirect_if_authenticated.rb
|
|
136
140
|
- stubs/hotwire/app/controllers/concerns/set_current_auth.rb
|
|
141
|
+
- stubs/hotwire/app/controllers/concerns/sidebar_state.rb
|
|
137
142
|
- stubs/hotwire/app/controllers/concerns/validate_signature.rb
|
|
138
143
|
- stubs/hotwire/app/controllers/dashboard_controller.rb
|
|
139
|
-
- stubs/hotwire/app/controllers/
|
|
140
|
-
- stubs/hotwire/app/controllers/
|
|
144
|
+
- stubs/hotwire/app/controllers/settings/appearance_controller.rb
|
|
145
|
+
- stubs/hotwire/app/controllers/settings/password_controller.rb
|
|
146
|
+
- stubs/hotwire/app/controllers/settings/profile_controller.rb
|
|
141
147
|
- stubs/hotwire/app/controllers/welcome_controller.rb
|
|
142
148
|
- stubs/hotwire/app/javascript/alpinejs.stub
|
|
143
149
|
- stubs/hotwire/app/javascript/application.js
|
|
@@ -148,16 +154,21 @@ files:
|
|
|
148
154
|
- stubs/hotwire/app/views/auth/verify_email.html.erb
|
|
149
155
|
- stubs/hotwire/app/views/dashboard/index.html.erb
|
|
150
156
|
- stubs/hotwire/app/views/layouts/_appearance.html.erb
|
|
151
|
-
- stubs/hotwire/app/views/layouts/
|
|
157
|
+
- stubs/hotwire/app/views/layouts/_settings.html.erb
|
|
158
|
+
- stubs/hotwire/app/views/layouts/_sidebar.html.erb
|
|
159
|
+
- stubs/hotwire/app/views/layouts/_sidebar_header.html.erb
|
|
160
|
+
- stubs/hotwire/app/views/layouts/_sidebar_user.html.erb
|
|
152
161
|
- stubs/hotwire/app/views/layouts/application.html.erb
|
|
153
162
|
- stubs/hotwire/app/views/layouts/guest.html.erb
|
|
154
|
-
- stubs/hotwire/app/views/
|
|
155
|
-
- stubs/hotwire/app/views/
|
|
156
|
-
- stubs/hotwire/app/views/
|
|
157
|
-
- stubs/hotwire/app/views/
|
|
158
|
-
- stubs/hotwire/app/views/profile/
|
|
159
|
-
- stubs/hotwire/app/views/profile/
|
|
160
|
-
- stubs/hotwire/app/views/profile/
|
|
163
|
+
- stubs/hotwire/app/views/settings/appearance/_update_appearance_form.html.erb
|
|
164
|
+
- stubs/hotwire/app/views/settings/appearance/edit.html.erb
|
|
165
|
+
- stubs/hotwire/app/views/settings/password/_update_password_form.html.erb
|
|
166
|
+
- stubs/hotwire/app/views/settings/password/edit.html.erb
|
|
167
|
+
- stubs/hotwire/app/views/settings/profile/_confirm_user_deletion_modal.html.erb
|
|
168
|
+
- stubs/hotwire/app/views/settings/profile/_delete_user_form.html.erb
|
|
169
|
+
- stubs/hotwire/app/views/settings/profile/_update_profile_information_form.html.erb
|
|
170
|
+
- stubs/hotwire/app/views/settings/profile/destroy.turbo_stream.erb
|
|
171
|
+
- stubs/hotwire/app/views/settings/profile/edit.html.erb
|
|
161
172
|
- stubs/hotwire/app/views/welcome/index.html.erb
|
|
162
173
|
- stubs/hotwire/config/importmap.rb
|
|
163
174
|
- stubs/inertia-common/app/controllers/application_controller.rb
|
|
@@ -174,86 +185,200 @@ files:
|
|
|
174
185
|
- stubs/inertia-common/app/controllers/concerns/validate_signature.rb
|
|
175
186
|
- stubs/inertia-common/app/controllers/concerns/verify_csrf_token.rb
|
|
176
187
|
- stubs/inertia-common/app/controllers/dashboard_controller.rb
|
|
177
|
-
- stubs/inertia-common/app/controllers/
|
|
178
|
-
- stubs/inertia-common/app/controllers/
|
|
188
|
+
- stubs/inertia-common/app/controllers/settings/appearance_controller.rb
|
|
189
|
+
- stubs/inertia-common/app/controllers/settings/password_controller.rb
|
|
190
|
+
- stubs/inertia-common/app/controllers/settings/profile_controller.rb
|
|
179
191
|
- stubs/inertia-common/app/controllers/welcome_controller.rb
|
|
180
192
|
- stubs/inertia-common/bin/vite
|
|
181
193
|
- stubs/inertia-common/config/initializers/inertia_rails.rb
|
|
182
194
|
- stubs/inertia-common/config/vite.json
|
|
195
|
+
- stubs/inertia-common/test/integration/appearance_test.rb
|
|
183
196
|
- stubs/inertia-common/test/integration/password_update_test.rb
|
|
184
197
|
- stubs/inertia-common/test/integration/profile_test.rb
|
|
185
198
|
- stubs/inertia-react-ts/app/assets/tailwind/application.css
|
|
199
|
+
- stubs/inertia-react-ts/app/javascript/Components/AppLogo.tsx
|
|
200
|
+
- stubs/inertia-react-ts/app/javascript/Components/AppShell.tsx
|
|
201
|
+
- stubs/inertia-react-ts/app/javascript/Components/AppSidebar.tsx
|
|
202
|
+
- stubs/inertia-react-ts/app/javascript/Components/AppSidebarHeader.tsx
|
|
186
203
|
- stubs/inertia-react-ts/app/javascript/Components/ApplicationLogo.tsx
|
|
187
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
188
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
189
|
-
- stubs/inertia-react-ts/app/javascript/Components/Dropdown.tsx
|
|
204
|
+
- stubs/inertia-react-ts/app/javascript/Components/Breadcrumbs.tsx
|
|
205
|
+
- stubs/inertia-react-ts/app/javascript/Components/Heading.tsx
|
|
190
206
|
- stubs/inertia-react-ts/app/javascript/Components/InputError.tsx
|
|
191
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
192
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
193
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
194
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
195
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
196
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
197
|
-
- stubs/inertia-react-ts/app/javascript/Components/
|
|
207
|
+
- stubs/inertia-react-ts/app/javascript/Components/NavFooter.tsx
|
|
208
|
+
- stubs/inertia-react-ts/app/javascript/Components/NavMain.tsx
|
|
209
|
+
- stubs/inertia-react-ts/app/javascript/Components/NavUser.tsx
|
|
210
|
+
- stubs/inertia-react-ts/app/javascript/Components/UserInfo.tsx
|
|
211
|
+
- stubs/inertia-react-ts/app/javascript/Components/UserMenuContent.tsx
|
|
212
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/avatar.tsx
|
|
213
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/breadcrumb.tsx
|
|
214
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/button.tsx
|
|
215
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/checkbox.tsx
|
|
216
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/dialog.tsx
|
|
217
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/dropdown-menu.tsx
|
|
218
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/input.tsx
|
|
219
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/label.tsx
|
|
220
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/separator.tsx
|
|
221
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/sheet.tsx
|
|
222
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/sidebar.tsx
|
|
223
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/skeleton.tsx
|
|
224
|
+
- stubs/inertia-react-ts/app/javascript/Components/ui/tooltip.tsx
|
|
198
225
|
- stubs/inertia-react-ts/app/javascript/Layouts/AuthenticatedLayout.tsx
|
|
199
226
|
- stubs/inertia-react-ts/app/javascript/Layouts/GuestLayout.tsx
|
|
227
|
+
- stubs/inertia-react-ts/app/javascript/Layouts/SettingsLayout.tsx
|
|
200
228
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/ForgotPassword.tsx
|
|
201
229
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/Login.tsx
|
|
202
230
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/Register.tsx
|
|
203
231
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/ResetPassword.tsx
|
|
204
232
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/VerifyEmail.tsx
|
|
205
233
|
- stubs/inertia-react-ts/app/javascript/Pages/Dashboard.tsx
|
|
206
|
-
- stubs/inertia-react-ts/app/javascript/Pages/
|
|
207
|
-
- stubs/inertia-react-ts/app/javascript/Pages/
|
|
208
|
-
- stubs/inertia-react-ts/app/javascript/Pages/
|
|
209
|
-
- stubs/inertia-react-ts/app/javascript/Pages/
|
|
210
|
-
- stubs/inertia-react-ts/app/javascript/Pages/
|
|
234
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Appearance.tsx
|
|
235
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/DeleteUserForm.tsx
|
|
236
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/UpdateAppearanceForm.tsx
|
|
237
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/UpdatePasswordForm.tsx
|
|
238
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Partials/UpdateProfileInformationForm.tsx
|
|
239
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Password.tsx
|
|
240
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Settings/Profile.tsx
|
|
211
241
|
- stubs/inertia-react-ts/app/javascript/Pages/Welcome.tsx
|
|
212
242
|
- stubs/inertia-react-ts/app/javascript/entrypoints/application.tsx
|
|
213
243
|
- stubs/inertia-react-ts/app/javascript/entrypoints/bootstrap.ts
|
|
244
|
+
- stubs/inertia-react-ts/app/javascript/hooks/use-initials.tsx
|
|
245
|
+
- stubs/inertia-react-ts/app/javascript/hooks/use-mobile-navigation.tsx
|
|
246
|
+
- stubs/inertia-react-ts/app/javascript/hooks/use-mobile.tsx
|
|
214
247
|
- stubs/inertia-react-ts/app/javascript/lib/appearance.ts
|
|
248
|
+
- stubs/inertia-react-ts/app/javascript/lib/utils.ts
|
|
215
249
|
- stubs/inertia-react-ts/app/javascript/types/global.d.ts
|
|
216
250
|
- stubs/inertia-react-ts/app/javascript/types/index.d.ts
|
|
217
251
|
- stubs/inertia-react-ts/app/javascript/types/vite-env.d.ts
|
|
218
252
|
- stubs/inertia-react-ts/app/views/layouts/application.html.erb
|
|
253
|
+
- stubs/inertia-react-ts/components.json
|
|
219
254
|
- stubs/inertia-react-ts/package.json
|
|
220
255
|
- stubs/inertia-react-ts/tsconfig.json
|
|
221
256
|
- stubs/inertia-react-ts/vite.config.ts
|
|
222
257
|
- stubs/inertia-vue-ts/app/assets/tailwind/application.css
|
|
258
|
+
- stubs/inertia-vue-ts/app/javascript/Components/AppLogo.vue
|
|
259
|
+
- stubs/inertia-vue-ts/app/javascript/Components/AppShell.vue
|
|
260
|
+
- stubs/inertia-vue-ts/app/javascript/Components/AppSidebar.vue
|
|
261
|
+
- stubs/inertia-vue-ts/app/javascript/Components/AppSidebarHeader.vue
|
|
223
262
|
- stubs/inertia-vue-ts/app/javascript/Components/ApplicationLogo.vue
|
|
224
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
225
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
226
|
-
- stubs/inertia-vue-ts/app/javascript/Components/Dropdown.vue
|
|
227
|
-
- stubs/inertia-vue-ts/app/javascript/Components/DropdownLink.vue
|
|
263
|
+
- stubs/inertia-vue-ts/app/javascript/Components/Breadcrumbs.vue
|
|
264
|
+
- stubs/inertia-vue-ts/app/javascript/Components/Heading.vue
|
|
228
265
|
- stubs/inertia-vue-ts/app/javascript/Components/InputError.vue
|
|
229
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
230
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
231
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
232
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
233
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
234
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
235
|
-
- stubs/inertia-vue-ts/app/javascript/Components/
|
|
266
|
+
- stubs/inertia-vue-ts/app/javascript/Components/NavFooter.vue
|
|
267
|
+
- stubs/inertia-vue-ts/app/javascript/Components/NavMain.vue
|
|
268
|
+
- stubs/inertia-vue-ts/app/javascript/Components/NavUser.vue
|
|
269
|
+
- stubs/inertia-vue-ts/app/javascript/Components/UserInfo.vue
|
|
270
|
+
- stubs/inertia-vue-ts/app/javascript/Components/UserMenuContent.vue
|
|
271
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/Avatar.vue
|
|
272
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/AvatarFallback.vue
|
|
273
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/AvatarImage.vue
|
|
274
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/avatar/index.ts
|
|
275
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/Breadcrumb.vue
|
|
276
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbEllipsis.vue
|
|
277
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbItem.vue
|
|
278
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbLink.vue
|
|
279
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbList.vue
|
|
280
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbPage.vue
|
|
281
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/BreadcrumbSeparator.vue
|
|
282
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/breadcrumb/index.ts
|
|
283
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/button/Button.vue
|
|
284
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/button/index.ts
|
|
285
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/checkbox/Checkbox.vue
|
|
286
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/checkbox/index.ts
|
|
287
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/Dialog.vue
|
|
288
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogClose.vue
|
|
289
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogContent.vue
|
|
290
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogDescription.vue
|
|
291
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogFooter.vue
|
|
292
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogHeader.vue
|
|
293
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogOverlay.vue
|
|
294
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogTitle.vue
|
|
295
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/DialogTrigger.vue
|
|
296
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dialog/index.ts
|
|
297
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenu.vue
|
|
298
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuContent.vue
|
|
299
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuGroup.vue
|
|
300
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuItem.vue
|
|
301
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuLabel.vue
|
|
302
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuSeparator.vue
|
|
303
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/DropdownMenuTrigger.vue
|
|
304
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/dropdown-menu/index.ts
|
|
305
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/input/Input.vue
|
|
306
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/input/index.ts
|
|
307
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/label/Label.vue
|
|
308
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/label/index.ts
|
|
309
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/separator/Separator.vue
|
|
310
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/separator/index.ts
|
|
311
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/Sheet.vue
|
|
312
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetClose.vue
|
|
313
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetContent.vue
|
|
314
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetDescription.vue
|
|
315
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetFooter.vue
|
|
316
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetHeader.vue
|
|
317
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetOverlay.vue
|
|
318
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetTitle.vue
|
|
319
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/SheetTrigger.vue
|
|
320
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sheet/index.ts
|
|
321
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/Sidebar.vue
|
|
322
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarContent.vue
|
|
323
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarFooter.vue
|
|
324
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroup.vue
|
|
325
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupAction.vue
|
|
326
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupContent.vue
|
|
327
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarGroupLabel.vue
|
|
328
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarHeader.vue
|
|
329
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarInput.vue
|
|
330
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarInset.vue
|
|
331
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenu.vue
|
|
332
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuAction.vue
|
|
333
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuBadge.vue
|
|
334
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuButton.vue
|
|
335
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuButtonChild.vue
|
|
336
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuItem.vue
|
|
337
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSkeleton.vue
|
|
338
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSub.vue
|
|
339
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSubButton.vue
|
|
340
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarMenuSubItem.vue
|
|
341
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarProvider.vue
|
|
342
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarRail.vue
|
|
343
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarSeparator.vue
|
|
344
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/SidebarTrigger.vue
|
|
345
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/index.ts
|
|
346
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/sidebar/utils.ts
|
|
347
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/skeleton/Skeleton.vue
|
|
348
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/skeleton/index.ts
|
|
349
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/Tooltip.vue
|
|
350
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipContent.vue
|
|
351
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipProvider.vue
|
|
352
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/TooltipTrigger.vue
|
|
353
|
+
- stubs/inertia-vue-ts/app/javascript/Components/ui/tooltip/index.ts
|
|
236
354
|
- stubs/inertia-vue-ts/app/javascript/Layouts/AuthenticatedLayout.vue
|
|
237
355
|
- stubs/inertia-vue-ts/app/javascript/Layouts/GuestLayout.vue
|
|
356
|
+
- stubs/inertia-vue-ts/app/javascript/Layouts/SettingsLayout.vue
|
|
238
357
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/ForgotPassword.vue
|
|
239
358
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/Login.vue
|
|
240
359
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/Register.vue
|
|
241
360
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/ResetPassword.vue
|
|
242
361
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/VerifyEmail.vue
|
|
243
362
|
- stubs/inertia-vue-ts/app/javascript/Pages/Dashboard.vue
|
|
244
|
-
- stubs/inertia-vue-ts/app/javascript/Pages/
|
|
245
|
-
- stubs/inertia-vue-ts/app/javascript/Pages/
|
|
246
|
-
- stubs/inertia-vue-ts/app/javascript/Pages/
|
|
247
|
-
- stubs/inertia-vue-ts/app/javascript/Pages/
|
|
248
|
-
- stubs/inertia-vue-ts/app/javascript/Pages/
|
|
363
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Appearance.vue
|
|
364
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/DeleteUserForm.vue
|
|
365
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/UpdateAppearanceForm.vue
|
|
366
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/UpdatePasswordForm.vue
|
|
367
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Partials/UpdateProfileInformationForm.vue
|
|
368
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Password.vue
|
|
369
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Settings/Profile.vue
|
|
249
370
|
- stubs/inertia-vue-ts/app/javascript/Pages/Welcome.vue
|
|
371
|
+
- stubs/inertia-vue-ts/app/javascript/composables/useInitials.ts
|
|
250
372
|
- stubs/inertia-vue-ts/app/javascript/entrypoints/application.ts
|
|
251
373
|
- stubs/inertia-vue-ts/app/javascript/entrypoints/bootstrap.ts
|
|
252
374
|
- stubs/inertia-vue-ts/app/javascript/lib/appearance.ts
|
|
375
|
+
- stubs/inertia-vue-ts/app/javascript/lib/utils.ts
|
|
253
376
|
- stubs/inertia-vue-ts/app/javascript/types/global.d.ts
|
|
254
377
|
- stubs/inertia-vue-ts/app/javascript/types/index.d.ts
|
|
255
378
|
- stubs/inertia-vue-ts/app/javascript/types/vite-env.d.ts
|
|
379
|
+
- stubs/inertia-vue-ts/app/javascript/types/vue-shims.d.ts
|
|
256
380
|
- stubs/inertia-vue-ts/app/views/layouts/application.html.erb
|
|
381
|
+
- stubs/inertia-vue-ts/components.json
|
|
257
382
|
- stubs/inertia-vue-ts/package.json
|
|
258
383
|
- stubs/inertia-vue-ts/tsconfig.json
|
|
259
384
|
- stubs/inertia-vue-ts/vite.config.ts
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class NavLinkComponent < ViewComponent::Base
|
|
2
|
-
erb_template <<~ERB
|
|
3
|
-
<a <%= sanitize @attributes.join(" ") %>>
|
|
4
|
-
<%= content %>
|
|
5
|
-
</a>
|
|
6
|
-
ERB
|
|
7
|
-
|
|
8
|
-
def initialize(attributes = {})
|
|
9
|
-
classes = attributes[:active] \
|
|
10
|
-
? 'inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 dark:border-indigo-600 text-sm font-medium leading-5 text-gray-900 dark:text-gray-100 focus:outline-hidden focus:border-indigo-700 transition duration-150 ease-in-out' \
|
|
11
|
-
: 'inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-700 focus:outline-hidden focus:text-gray-700 dark:focus:text-gray-300 focus:border-gray-300 dark:focus:border-gray-700 transition duration-150 ease-in-out'
|
|
12
|
-
attributes[:class] = "#{classes}#{" #{attributes[:class]}" if attributes[:class]}"
|
|
13
|
-
@attributes = attributes.without(:active).map { |key, attribute| "#{key}=\"#{attribute}\"" }
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class ResponsiveNavLinkComponent < ViewComponent::Base
|
|
2
|
-
erb_template <<~ERB
|
|
3
|
-
<a <%= sanitize @attributes.join(" ") %>>
|
|
4
|
-
<%= content %>
|
|
5
|
-
</a>
|
|
6
|
-
ERB
|
|
7
|
-
|
|
8
|
-
def initialize(attributes = {})
|
|
9
|
-
classes = attributes[:active] \
|
|
10
|
-
? 'block w-full ps-3 pe-4 py-2 border-l-4 border-indigo-400 dark:border-indigo-600 text-start text-base font-medium text-indigo-700 dark:text-indigo-300 bg-indigo-50 dark:bg-indigo-900/50 focus:outline-hidden focus:text-indigo-800 dark:focus:text-indigo-200 focus:bg-indigo-100 dark:focus:bg-indigo-900 focus:border-indigo-700 dark:focus:border-indigo-300 transition duration-150 ease-in-out' \
|
|
11
|
-
: 'block w-full ps-3 pe-4 py-2 border-l-4 border-transparent text-start text-base font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-gray-300 dark:hover:border-gray-600 focus:outline-hidden focus:text-gray-800 dark:focus:text-gray-200 focus:bg-gray-50 dark:focus:bg-gray-700 focus:border-gray-300 dark:focus:border-gray-600 transition duration-150 ease-in-out'
|
|
12
|
-
attributes[:class] = "#{classes}#{" #{attributes[:class]}" if attributes[:class]}"
|
|
13
|
-
@attributes = attributes.without(:active).map { |key, attribute| "#{key}=\"#{attribute}\"" }
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class PasswordController < ApplicationController
|
|
2
|
-
skip_ensure_email_is_verified
|
|
3
|
-
|
|
4
|
-
def update
|
|
5
|
-
@update_password_form = UpdatePasswordForm.new(params.permit(:current_password, :password, :password_confirmation))
|
|
6
|
-
|
|
7
|
-
return render partial: 'profile/partials/update_password_form', status: :unprocessable_entity if @update_password_form.invalid?
|
|
8
|
-
|
|
9
|
-
Current.auth.user.update(password: @update_password_form.password)
|
|
10
|
-
|
|
11
|
-
redirect_back_or_to profile_edit_path, flash: { status: 'password-updated' }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
<nav x-data="{ open: false }" class="bg-white dark:bg-gray-800 border-b border-gray-100 dark:border-gray-700">
|
|
2
|
-
<!-- Primary Navigation Menu -->
|
|
3
|
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
4
|
-
<div class="flex justify-between h-16">
|
|
5
|
-
<div class="flex">
|
|
6
|
-
<!-- Logo -->
|
|
7
|
-
<div class="shrink-0 flex items-center">
|
|
8
|
-
<a href="/">
|
|
9
|
-
<%= render(ApplicationLogoComponent.new({ class: "block h-9 w-auto fill-current text-red-800 dark:text-red-200" })) %>
|
|
10
|
-
</a>
|
|
11
|
-
</div>
|
|
12
|
-
<!-- Navigation Links -->
|
|
13
|
-
<div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex">
|
|
14
|
-
<%= render(NavLinkComponent.new({ href: dashboard_path, active: current_page?(dashboard_path) })) do %>
|
|
15
|
-
Dashboard
|
|
16
|
-
<% end %>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
<!-- Settings Dropdown -->
|
|
20
|
-
<div class="hidden sm:flex sm:items-center sm:ms-6">
|
|
21
|
-
<%= render DropdownComponent.new do |component| %>
|
|
22
|
-
<% component.with_trigger(classes: "") do %>
|
|
23
|
-
<button class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 dark:text-gray-400 bg-white dark:bg-gray-800 hover:text-gray-700 dark:hover:text-gray-300 focus:outline-hidden transition ease-in-out duration-150">
|
|
24
|
-
<div><%= Current.auth.user.name %></div>
|
|
25
|
-
<div class="ms-1">
|
|
26
|
-
<svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
|
27
|
-
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
|
|
28
|
-
</svg>
|
|
29
|
-
</div>
|
|
30
|
-
</button>
|
|
31
|
-
<% end %>
|
|
32
|
-
<%= render(DropdownLinkComponent.new({ href: profile_edit_path })) do %>
|
|
33
|
-
Profile
|
|
34
|
-
<% end %>
|
|
35
|
-
<!-- Authentication -->
|
|
36
|
-
<form method="POST" action="<%= logout_path %>">
|
|
37
|
-
<input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>">
|
|
38
|
-
<%= render(DropdownLinkComponent.new({ href: logout_path, onclick: "event.preventDefault();this.closest('form').submit()" })) do %>
|
|
39
|
-
Log Out
|
|
40
|
-
<% end %>
|
|
41
|
-
</form>
|
|
42
|
-
<% end %>
|
|
43
|
-
</div>
|
|
44
|
-
<!-- Hamburger -->
|
|
45
|
-
<div class="-me-2 flex items-center sm:hidden">
|
|
46
|
-
<button x-on:click="open = ! open" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-900 focus:outline-hidden focus:bg-gray-100 dark:focus:bg-gray-900 focus:text-gray-500 dark:focus:text-gray-400 transition duration-150 ease-in-out">
|
|
47
|
-
<svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
|
|
48
|
-
<path :class="{'hidden': open, 'inline-flex': ! open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
|
49
|
-
<path :class="{'hidden': ! open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
|
|
50
|
-
</svg>
|
|
51
|
-
</button>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
<!-- Responsive Navigation Menu -->
|
|
56
|
-
<div :class="{'block': open, 'hidden': ! open}" class="hidden sm:hidden">
|
|
57
|
-
<div class="pt-2 pb-3 space-y-1">
|
|
58
|
-
<%= render(ResponsiveNavLinkComponent.new({ href: dashboard_path, active: current_page?(dashboard_path) })) do %>
|
|
59
|
-
Dashboard
|
|
60
|
-
<% end %>
|
|
61
|
-
</div>
|
|
62
|
-
<!-- Responsive Settings Options -->
|
|
63
|
-
<div class="pt-4 pb-1 border-t border-gray-200 dark:border-gray-600">
|
|
64
|
-
<div class="px-4">
|
|
65
|
-
<div class="font-medium text-base text-gray-800 dark:text-gray-200"><%= Current.auth.user.name %></div>
|
|
66
|
-
<div class="font-medium text-sm text-gray-500"><%= Current.auth.user.email %></div>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="mt-3 space-y-1">
|
|
69
|
-
<%= render(ResponsiveNavLinkComponent.new({ href: profile_edit_path })) do %>
|
|
70
|
-
Profile
|
|
71
|
-
<% end %>
|
|
72
|
-
<!-- Authentication -->
|
|
73
|
-
<form method="POST" action="<%= logout_path %>">
|
|
74
|
-
<input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>">
|
|
75
|
-
<%= render(ResponsiveNavLinkComponent.new({ href: logout_path, onclick: "event.preventDefault();this.closest('form').submit()" })) do %>
|
|
76
|
-
Log Out
|
|
77
|
-
<% end %>
|
|
78
|
-
</form>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
</nav>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<% content_for(:header) do %>
|
|
2
|
-
<h2 class="font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight">
|
|
3
|
-
Profile
|
|
4
|
-
</h2>
|
|
5
|
-
<% end %>
|
|
6
|
-
<div class="py-12">
|
|
7
|
-
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
|
|
8
|
-
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow-sm sm:rounded-lg">
|
|
9
|
-
<div class="max-w-xl">
|
|
10
|
-
<%= render "profile/partials/update_appearance_form" %>
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow-sm sm:rounded-lg">
|
|
14
|
-
<div class="max-w-xl">
|
|
15
|
-
<%= render "profile/partials/update_profile_information_form" %>
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow-sm sm:rounded-lg">
|
|
19
|
-
<div class="max-w-xl">
|
|
20
|
-
<%= render "profile/partials/update_password_form" %>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="p-4 sm:p-8 bg-white dark:bg-gray-800 shadow-sm sm:rounded-lg">
|
|
24
|
-
<div class="max-w-xl">
|
|
25
|
-
<%= render "profile/partials/delete_user_form" %>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<section class="space-y-6">
|
|
2
|
-
<header>
|
|
3
|
-
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
|
|
4
|
-
Delete Account
|
|
5
|
-
</h2>
|
|
6
|
-
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
7
|
-
Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.
|
|
8
|
-
</p>
|
|
9
|
-
</header>
|
|
10
|
-
<%= render(DangerButtonComponent.new({"x-data": "", "x-on:click.prevent": "$dispatch('open-modal', 'confirm-user-deletion')"})) do %>
|
|
11
|
-
Delete Account
|
|
12
|
-
<% end %>
|
|
13
|
-
</section>
|
|
14
|
-
<%= render 'profile/partials/confirm_user_deletion_modal' %>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<section
|
|
2
|
-
x-data="{
|
|
3
|
-
preference: localStorage.getItem('appearance') || 'system',
|
|
4
|
-
select(value) {
|
|
5
|
-
this.preference = value
|
|
6
|
-
localStorage.setItem('appearance', value)
|
|
7
|
-
window.applyAppearance()
|
|
8
|
-
}
|
|
9
|
-
}"
|
|
10
|
-
>
|
|
11
|
-
<header>
|
|
12
|
-
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
|
|
13
|
-
Appearance
|
|
14
|
-
</h2>
|
|
15
|
-
|
|
16
|
-
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
17
|
-
Choose how the application looks to you. System follows your device setting.
|
|
18
|
-
</p>
|
|
19
|
-
</header>
|
|
20
|
-
|
|
21
|
-
<div class="mt-6 inline-flex rounded-lg bg-gray-100 p-1 dark:bg-gray-900">
|
|
22
|
-
<template x-for="option in [
|
|
23
|
-
{ value: 'light', label: 'Light' },
|
|
24
|
-
{ value: 'dark', label: 'Dark' },
|
|
25
|
-
{ value: 'system', label: 'System' }
|
|
26
|
-
]" :key="option.value">
|
|
27
|
-
<button
|
|
28
|
-
type="button"
|
|
29
|
-
@click="select(option.value)"
|
|
30
|
-
:aria-pressed="preference === option.value"
|
|
31
|
-
class="rounded-md px-4 py-1.5 text-sm font-medium transition focus:outline-hidden focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800"
|
|
32
|
-
:class="preference === option.value
|
|
33
|
-
? 'bg-white text-gray-900 shadow-xs dark:bg-gray-700 dark:text-gray-100'
|
|
34
|
-
: 'text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100'"
|
|
35
|
-
x-text="option.label"
|
|
36
|
-
></button>
|
|
37
|
-
</template>
|
|
38
|
-
</div>
|
|
39
|
-
</section>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
class PasswordController < ApplicationController
|
|
2
|
-
skip_ensure_email_is_verified
|
|
3
|
-
|
|
4
|
-
def update
|
|
5
|
-
form = UpdatePasswordForm.new(params.permit(:current_password, :password, :password_confirmation))
|
|
6
|
-
|
|
7
|
-
return redirect_to profile_edit_path, inertia: { errors: form.error_messages } if form.invalid?
|
|
8
|
-
|
|
9
|
-
Current.auth.user.update(password: form.password)
|
|
10
|
-
|
|
11
|
-
redirect_back_or_to profile_edit_path
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { InputHTMLAttributes } from 'react'
|
|
2
|
-
|
|
3
|
-
export default function Checkbox({ className = '', ...props }: InputHTMLAttributes<HTMLInputElement>) {
|
|
4
|
-
return (
|
|
5
|
-
<input
|
|
6
|
-
{...props}
|
|
7
|
-
type="checkbox"
|
|
8
|
-
className={`rounded-sm dark:bg-gray-900 border-gray-300 dark:border-gray-700 text-indigo-600 shadow-xs focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:focus:ring-offset-gray-800 ${className}`}
|
|
9
|
-
/>
|
|
10
|
-
)
|
|
11
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes } from 'react'
|
|
2
|
-
|
|
3
|
-
export default function DangerButton({
|
|
4
|
-
className = '',
|
|
5
|
-
disabled,
|
|
6
|
-
children,
|
|
7
|
-
...props
|
|
8
|
-
}: ButtonHTMLAttributes<HTMLButtonElement>) {
|
|
9
|
-
return (
|
|
10
|
-
<button
|
|
11
|
-
{...props}
|
|
12
|
-
className={`inline-flex items-center px-4 py-2 bg-red-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-500 active:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-red-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800 transition ease-in-out duration-150 ${
|
|
13
|
-
disabled && 'opacity-25'
|
|
14
|
-
} ${className}`}
|
|
15
|
-
disabled={disabled}
|
|
16
|
-
>
|
|
17
|
-
{children}
|
|
18
|
-
</button>
|
|
19
|
-
)
|
|
20
|
-
}
|