hazo_auth 1.4.1 → 1.4.2
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 +25 -38
- package/dist/components/layouts/email_verification/config/email_verification_field_config.d.ts +2 -2
- package/dist/components/layouts/email_verification/config/email_verification_field_config.d.ts.map +1 -1
- package/dist/components/layouts/email_verification/config/email_verification_field_config.js +1 -1
- package/dist/components/layouts/email_verification/hooks/use_email_verification.d.ts +2 -2
- package/dist/components/layouts/email_verification/hooks/use_email_verification.d.ts.map +1 -1
- package/dist/components/layouts/email_verification/hooks/use_email_verification.js +2 -2
- package/dist/components/layouts/email_verification/index.d.ts +3 -3
- package/dist/components/layouts/email_verification/index.d.ts.map +1 -1
- package/dist/components/layouts/email_verification/index.js +9 -9
- package/dist/components/layouts/forgot_password/config/forgot_password_field_config.d.ts +2 -2
- package/dist/components/layouts/forgot_password/config/forgot_password_field_config.d.ts.map +1 -1
- package/dist/components/layouts/forgot_password/config/forgot_password_field_config.js +1 -1
- package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.d.ts +2 -2
- package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.d.ts.map +1 -1
- package/dist/components/layouts/forgot_password/hooks/use_forgot_password_form.js +2 -2
- package/dist/components/layouts/forgot_password/index.d.ts +2 -2
- package/dist/components/layouts/forgot_password/index.d.ts.map +1 -1
- package/dist/components/layouts/forgot_password/index.js +8 -8
- package/dist/components/layouts/login/config/login_field_config.d.ts +2 -2
- package/dist/components/layouts/login/config/login_field_config.d.ts.map +1 -1
- package/dist/components/layouts/login/config/login_field_config.js +1 -1
- package/dist/components/layouts/login/hooks/use_login_form.d.ts +2 -2
- package/dist/components/layouts/login/hooks/use_login_form.d.ts.map +1 -1
- package/dist/components/layouts/login/hooks/use_login_form.js +4 -4
- package/dist/components/layouts/login/index.d.ts +2 -2
- package/dist/components/layouts/login/index.d.ts.map +1 -1
- package/dist/components/layouts/login/index.js +9 -9
- package/dist/components/layouts/my_settings/components/editable_field.js +3 -3
- package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts +1 -1
- package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts.map +1 -1
- package/dist/components/layouts/my_settings/components/password_change_dialog.js +4 -4
- package/dist/components/layouts/my_settings/components/profile_picture_dialog.js +7 -7
- package/dist/components/layouts/my_settings/components/profile_picture_display.js +1 -1
- package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.js +3 -3
- package/dist/components/layouts/my_settings/components/profile_picture_library_tab.js +5 -5
- package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.js +4 -4
- package/dist/components/layouts/my_settings/config/my_settings_field_config.d.ts +1 -1
- package/dist/components/layouts/my_settings/config/my_settings_field_config.d.ts.map +1 -1
- package/dist/components/layouts/my_settings/config/my_settings_field_config.js +1 -1
- package/dist/components/layouts/my_settings/hooks/use_my_settings.d.ts +1 -1
- package/dist/components/layouts/my_settings/hooks/use_my_settings.d.ts.map +1 -1
- package/dist/components/layouts/my_settings/hooks/use_my_settings.js +1 -1
- package/dist/components/layouts/my_settings/index.d.ts +2 -2
- package/dist/components/layouts/my_settings/index.d.ts.map +1 -1
- package/dist/components/layouts/my_settings/index.js +9 -9
- package/dist/components/layouts/register/config/register_field_config.d.ts +2 -2
- package/dist/components/layouts/register/config/register_field_config.d.ts.map +1 -1
- package/dist/components/layouts/register/config/register_field_config.js +1 -1
- package/dist/components/layouts/register/hooks/use_register_form.d.ts +3 -3
- package/dist/components/layouts/register/hooks/use_register_form.d.ts.map +1 -1
- package/dist/components/layouts/register/hooks/use_register_form.js +2 -2
- package/dist/components/layouts/register/index.d.ts +2 -2
- package/dist/components/layouts/register/index.d.ts.map +1 -1
- package/dist/components/layouts/register/index.js +9 -9
- package/dist/components/layouts/reset_password/config/reset_password_field_config.d.ts +2 -2
- package/dist/components/layouts/reset_password/config/reset_password_field_config.d.ts.map +1 -1
- package/dist/components/layouts/reset_password/config/reset_password_field_config.js +1 -1
- package/dist/components/layouts/reset_password/hooks/use_reset_password_form.d.ts +3 -3
- package/dist/components/layouts/reset_password/hooks/use_reset_password_form.d.ts.map +1 -1
- package/dist/components/layouts/reset_password/hooks/use_reset_password_form.js +2 -2
- package/dist/components/layouts/reset_password/index.d.ts +2 -2
- package/dist/components/layouts/reset_password/index.d.ts.map +1 -1
- package/dist/components/layouts/reset_password/index.js +8 -8
- package/dist/components/layouts/shared/components/already_logged_in_guard.js +4 -4
- package/dist/components/layouts/shared/components/auth_page_shell.js +3 -3
- package/dist/components/layouts/shared/components/form_action_buttons.d.ts +1 -1
- package/dist/components/layouts/shared/components/form_action_buttons.d.ts.map +1 -1
- package/dist/components/layouts/shared/components/form_action_buttons.js +1 -1
- package/dist/components/layouts/shared/components/form_field_wrapper.js +2 -2
- package/dist/components/layouts/shared/components/logout_button.js +2 -2
- package/dist/components/layouts/shared/components/password_field.js +3 -3
- package/dist/components/layouts/shared/components/profile_pic_menu.d.ts +1 -1
- package/dist/components/layouts/shared/components/profile_pic_menu.d.ts.map +1 -1
- package/dist/components/layouts/shared/components/profile_pic_menu.js +4 -4
- package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.js +2 -2
- package/dist/components/layouts/shared/components/sidebar_layout_wrapper.js +3 -3
- package/dist/components/layouts/shared/components/standalone_layout_wrapper.js +1 -1
- package/dist/components/layouts/shared/components/two_column_auth_layout.js +1 -1
- package/dist/components/layouts/shared/components/unauthorized_guard.js +2 -2
- package/dist/components/layouts/shared/hooks/use_hazo_auth.d.ts +1 -1
- package/dist/components/layouts/shared/hooks/use_hazo_auth.d.ts.map +1 -1
- package/dist/components/layouts/shared/utils/validation.d.ts +1 -1
- package/dist/components/layouts/shared/utils/validation.d.ts.map +1 -1
- package/dist/components/layouts/user_management/components/roles_matrix.js +7 -7
- package/dist/components/layouts/user_management/index.js +11 -11
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/dropdown-menu.js +1 -1
- package/dist/components/ui/hazo_ui_tooltip.js +1 -1
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sheet.js +1 -1
- package/dist/components/ui/sidebar.d.ts +2 -2
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +8 -8
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/table.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/components/ui/vertical-tabs.js +1 -1
- package/dist/lib/already_logged_in_config.server.js +1 -1
- package/dist/lib/app_logger.js +1 -1
- package/dist/lib/auth/auth_cache.d.ts +1 -1
- package/dist/lib/auth/auth_cache.d.ts.map +1 -1
- package/dist/lib/auth/auth_utils.server.js +2 -2
- package/dist/lib/auth/hazo_get_auth.server.d.ts +1 -1
- package/dist/lib/auth/hazo_get_auth.server.d.ts.map +1 -1
- package/dist/lib/auth/hazo_get_auth.server.js +7 -7
- package/dist/lib/auth/server_auth.js +2 -2
- package/dist/lib/auth_utility_config.server.js +1 -1
- package/dist/lib/config/config_loader.server.js +1 -1
- package/dist/lib/email_verification_config.server.js +1 -1
- package/dist/lib/file_types_config.server.js +1 -1
- package/dist/lib/forgot_password_config.server.js +1 -1
- package/dist/lib/hazo_connect_instance.server.js +2 -2
- package/dist/lib/hazo_connect_setup.server.js +2 -2
- package/dist/lib/login_config.server.js +2 -2
- package/dist/lib/messages_config.server.js +1 -1
- package/dist/lib/my_settings_config.server.js +7 -7
- package/dist/lib/password_requirements_config.server.js +1 -1
- package/dist/lib/profile_pic_menu_config.server.js +1 -1
- package/dist/lib/profile_picture_config.server.js +2 -2
- package/dist/lib/register_config.server.js +4 -4
- package/dist/lib/reset_password_config.server.js +3 -3
- package/dist/lib/services/email_service.js +2 -2
- package/dist/lib/services/email_verification_service.js +3 -3
- package/dist/lib/services/login_service.js +3 -3
- package/dist/lib/services/password_change_service.js +3 -3
- package/dist/lib/services/password_reset_service.js +3 -3
- package/dist/lib/services/profile_picture_remove_service.js +3 -3
- package/dist/lib/services/profile_picture_service.d.ts +1 -1
- package/dist/lib/services/profile_picture_service.d.ts.map +1 -1
- package/dist/lib/services/profile_picture_service.js +5 -5
- package/dist/lib/services/registration_service.js +8 -8
- package/dist/lib/services/token_service.js +2 -2
- package/dist/lib/services/user_profiles_service.js +2 -2
- package/dist/lib/services/user_update_service.d.ts +1 -1
- package/dist/lib/services/user_update_service.d.ts.map +1 -1
- package/dist/lib/services/user_update_service.js +4 -4
- package/dist/lib/ui_shell_config.server.js +1 -1
- package/dist/lib/ui_sizes_config.server.js +1 -1
- package/dist/lib/user_fields_config.server.js +1 -1
- package/dist/lib/user_management_config.server.js +1 -1
- package/dist/lib/utils/error_sanitizer.d.ts +1 -1
- package/dist/lib/utils/error_sanitizer.d.ts.map +1 -1
- package/dist/server/config/config_loader.d.ts +1 -1
- package/dist/server/config/config_loader.d.ts.map +1 -1
- package/dist/server/config/config_loader.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/logging/logger_service.d.ts +1 -1
- package/dist/server/logging/logger_service.d.ts.map +1 -1
- package/dist/server/server.js +2 -2
- package/package.json +4 -100
- package/src/components/layouts/email_verification/config/email_verification_field_config.ts +2 -2
- package/src/components/layouts/email_verification/hooks/use_email_verification.ts +3 -3
- package/src/components/layouts/email_verification/index.tsx +11 -11
- package/src/components/layouts/forgot_password/config/forgot_password_field_config.ts +2 -2
- package/src/components/layouts/forgot_password/hooks/use_forgot_password_form.ts +3 -3
- package/src/components/layouts/forgot_password/index.tsx +10 -10
- package/src/components/layouts/login/config/login_field_config.ts +2 -2
- package/src/components/layouts/login/hooks/use_login_form.ts +5 -5
- package/src/components/layouts/login/index.tsx +11 -11
- package/src/components/layouts/my_settings/components/editable_field.tsx +3 -3
- package/src/components/layouts/my_settings/components/password_change_dialog.tsx +5 -5
- package/src/components/layouts/my_settings/components/profile_picture_dialog.tsx +7 -7
- package/src/components/layouts/my_settings/components/profile_picture_display.tsx +2 -2
- package/src/components/layouts/my_settings/components/profile_picture_gravatar_tab.tsx +3 -3
- package/src/components/layouts/my_settings/components/profile_picture_library_tab.tsx +5 -5
- package/src/components/layouts/my_settings/components/profile_picture_upload_tab.tsx +4 -4
- package/src/components/layouts/my_settings/config/my_settings_field_config.ts +2 -2
- package/src/components/layouts/my_settings/hooks/use_my_settings.ts +2 -2
- package/src/components/layouts/my_settings/index.tsx +10 -10
- package/src/components/layouts/register/config/register_field_config.ts +2 -2
- package/src/components/layouts/register/hooks/use_register_form.ts +4 -4
- package/src/components/layouts/register/index.tsx +11 -11
- package/src/components/layouts/reset_password/config/reset_password_field_config.ts +2 -2
- package/src/components/layouts/reset_password/hooks/use_reset_password_form.ts +4 -4
- package/src/components/layouts/reset_password/index.tsx +10 -10
- package/src/components/layouts/shared/components/already_logged_in_guard.tsx +4 -4
- package/src/components/layouts/shared/components/auth_page_shell.tsx +3 -3
- package/src/components/layouts/shared/components/form_action_buttons.tsx +2 -2
- package/src/components/layouts/shared/components/form_field_wrapper.tsx +2 -2
- package/src/components/layouts/shared/components/logout_button.tsx +2 -2
- package/src/components/layouts/shared/components/password_field.tsx +3 -3
- package/src/components/layouts/shared/components/profile_pic_menu.tsx +5 -5
- package/src/components/layouts/shared/components/profile_pic_menu_wrapper.tsx +2 -2
- package/src/components/layouts/shared/components/sidebar_layout_wrapper.tsx +3 -3
- package/src/components/layouts/shared/components/standalone_layout_wrapper.tsx +1 -1
- package/src/components/layouts/shared/components/two_column_auth_layout.tsx +1 -1
- package/src/components/layouts/shared/components/unauthorized_guard.tsx +2 -2
- package/src/components/layouts/shared/hooks/use_hazo_auth.ts +1 -1
- package/src/components/layouts/shared/utils/validation.ts +1 -1
- package/src/components/layouts/user_management/components/roles_matrix.tsx +7 -7
- package/src/components/layouts/user_management/index.tsx +11 -11
- package/src/components/ui/alert-dialog.tsx +2 -2
- package/src/components/ui/avatar.tsx +1 -1
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/checkbox.tsx +1 -1
- package/src/components/ui/dialog.tsx +1 -1
- package/src/components/ui/dropdown-menu.tsx +1 -1
- package/src/components/ui/hazo_ui_tooltip.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/label.tsx +1 -1
- package/src/components/ui/separator.tsx +1 -1
- package/src/components/ui/sheet.tsx +1 -1
- package/src/components/ui/sidebar.tsx +8 -8
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/components/ui/switch.tsx +1 -1
- package/src/components/ui/table.tsx +1 -1
- package/src/components/ui/tabs.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/components/ui/vertical-tabs.tsx +1 -1
- package/src/lib/already_logged_in_config.server.ts +1 -1
- package/src/lib/app_logger.ts +1 -1
- package/src/lib/auth/auth_cache.ts +1 -1
- package/src/lib/auth/auth_utils.server.ts +2 -2
- package/src/lib/auth/hazo_get_auth.server.ts +8 -8
- package/src/lib/auth/server_auth.ts +2 -2
- package/src/lib/auth_utility_config.server.ts +1 -1
- package/src/lib/config/config_loader.server.ts +1 -1
- package/src/lib/email_verification_config.server.ts +1 -1
- package/src/lib/file_types_config.server.ts +1 -1
- package/src/lib/forgot_password_config.server.ts +1 -1
- package/src/lib/hazo_connect_instance.server.ts +2 -2
- package/src/lib/hazo_connect_setup.server.ts +2 -2
- package/src/lib/login_config.server.ts +2 -2
- package/src/lib/messages_config.server.ts +1 -1
- package/src/lib/my_settings_config.server.ts +7 -7
- package/src/lib/password_requirements_config.server.ts +1 -1
- package/src/lib/profile_pic_menu_config.server.ts +1 -1
- package/src/lib/profile_picture_config.server.ts +2 -2
- package/src/lib/register_config.server.ts +4 -4
- package/src/lib/reset_password_config.server.ts +3 -3
- package/src/lib/services/email_service.ts +2 -2
- package/src/lib/services/email_verification_service.ts +3 -3
- package/src/lib/services/login_service.ts +3 -3
- package/src/lib/services/password_change_service.ts +3 -3
- package/src/lib/services/password_reset_service.ts +3 -3
- package/src/lib/services/profile_picture_remove_service.ts +3 -3
- package/src/lib/services/profile_picture_service.ts +5 -5
- package/src/lib/services/registration_service.ts +8 -8
- package/src/lib/services/token_service.ts +2 -2
- package/src/lib/services/user_profiles_service.ts +2 -2
- package/src/lib/services/user_update_service.ts +4 -4
- package/src/lib/ui_shell_config.server.ts +1 -1
- package/src/lib/ui_sizes_config.server.ts +1 -1
- package/src/lib/user_fields_config.server.ts +1 -1
- package/src/lib/user_management_config.server.ts +1 -1
- package/src/lib/utils/error_sanitizer.ts +1 -1
- package/src/server/config/config_loader.ts +2 -2
- package/src/server/index.ts +2 -2
- package/src/server/logging/logger_service.ts +1 -1
- package/src/server/server.ts +2 -2
- package/src/server/types/express.d.ts +1 -1
- package/tsconfig.build.json +0 -3
|
@@ -4,30 +4,30 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import Link from "next/link";
|
|
7
|
-
import { Input } from "
|
|
8
|
-
import { PasswordField } from "
|
|
9
|
-
import { FormFieldWrapper } from "
|
|
10
|
-
import { FormHeader } from "
|
|
11
|
-
import { FormActionButtons } from "
|
|
12
|
-
import { TwoColumnAuthLayout } from "
|
|
7
|
+
import { Input } from "../../ui/input";
|
|
8
|
+
import { PasswordField } from "../shared/components/password_field";
|
|
9
|
+
import { FormFieldWrapper } from "../shared/components/form_field_wrapper";
|
|
10
|
+
import { FormHeader } from "../shared/components/form_header";
|
|
11
|
+
import { FormActionButtons } from "../shared/components/form_action_buttons";
|
|
12
|
+
import { TwoColumnAuthLayout } from "../shared/components/two_column_auth_layout";
|
|
13
13
|
import { CheckCircle } from "lucide-react";
|
|
14
|
-
import { AlreadyLoggedInGuard } from "
|
|
14
|
+
import { AlreadyLoggedInGuard } from "../shared/components/already_logged_in_guard";
|
|
15
15
|
import {
|
|
16
16
|
type ButtonPaletteOverrides,
|
|
17
17
|
type LayoutFieldMapOverrides,
|
|
18
18
|
type LayoutLabelOverrides,
|
|
19
|
-
} from "
|
|
19
|
+
} from "../shared/config/layout_customization";
|
|
20
20
|
import {
|
|
21
21
|
LOGIN_FIELD_IDS,
|
|
22
22
|
createLoginFieldDefinitions,
|
|
23
23
|
resolveLoginButtonPalette,
|
|
24
24
|
resolveLoginLabels,
|
|
25
|
-
} from "
|
|
25
|
+
} from "./config/login_field_config";
|
|
26
26
|
import {
|
|
27
27
|
use_login_form,
|
|
28
28
|
type UseLoginFormResult,
|
|
29
|
-
} from "
|
|
30
|
-
import { type LayoutDataClient } from "
|
|
29
|
+
} from "./hooks/use_login_form";
|
|
30
|
+
import { type LayoutDataClient } from "../shared/data/layout_data_client";
|
|
31
31
|
|
|
32
32
|
// section: types
|
|
33
33
|
export type LoginLayoutProps<TClient = unknown> = {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState } from "react";
|
|
7
|
-
import { Input } from "
|
|
8
|
-
import { Label } from "
|
|
9
|
-
import { Button } from "
|
|
7
|
+
import { Input } from "../../../ui/input";
|
|
8
|
+
import { Label } from "../../../ui/label";
|
|
9
|
+
import { Button } from "../../../ui/button";
|
|
10
10
|
import { Pencil, CheckCircle2, XCircle } from "lucide-react";
|
|
11
11
|
|
|
12
12
|
// section: types
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
DialogHeader,
|
|
11
11
|
DialogTitle,
|
|
12
12
|
DialogDescription,
|
|
13
|
-
} from "
|
|
14
|
-
import { Button } from "
|
|
15
|
-
import { PasswordField } from "
|
|
16
|
-
import { FormFieldWrapper } from "
|
|
17
|
-
import type { PasswordRequirementOptions } from "
|
|
13
|
+
} from "../../../ui/dialog";
|
|
14
|
+
import { Button } from "../../../ui/button";
|
|
15
|
+
import { PasswordField } from "../../shared/components/password_field";
|
|
16
|
+
import { FormFieldWrapper } from "../../shared/components/form_field_wrapper";
|
|
17
|
+
import type { PasswordRequirementOptions } from "../../shared/config/layout_customization";
|
|
18
18
|
|
|
19
19
|
// section: types
|
|
20
20
|
export type ButtonPalette = {
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
DialogHeader,
|
|
11
11
|
DialogTitle,
|
|
12
12
|
DialogDescription,
|
|
13
|
-
} from "
|
|
14
|
-
import { Button } from "
|
|
15
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from "
|
|
16
|
-
import { ProfilePictureUploadTab } from "
|
|
17
|
-
import { ProfilePictureLibraryTab } from "
|
|
18
|
-
import { ProfilePictureGravatarTab } from "
|
|
13
|
+
} from "../../../ui/dialog";
|
|
14
|
+
import { Button } from "../../../ui/button";
|
|
15
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../../ui/tabs";
|
|
16
|
+
import { ProfilePictureUploadTab } from "./profile_picture_upload_tab";
|
|
17
|
+
import { ProfilePictureLibraryTab } from "./profile_picture_library_tab";
|
|
18
|
+
import { ProfilePictureGravatarTab } from "./profile_picture_gravatar_tab";
|
|
19
19
|
import { toast } from "sonner";
|
|
20
|
-
import { cn } from "
|
|
20
|
+
import { cn } from "../../../../lib/utils";
|
|
21
21
|
|
|
22
22
|
// section: types
|
|
23
23
|
export type ProfilePictureDialogProps = {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"use client";
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
|
-
import { Avatar, AvatarImage, AvatarFallback } from "
|
|
7
|
-
import { Button } from "
|
|
6
|
+
import { Avatar, AvatarImage, AvatarFallback } from "../../../ui/avatar";
|
|
7
|
+
import { Button } from "../../../ui/button";
|
|
8
8
|
import { Pencil } from "lucide-react";
|
|
9
9
|
|
|
10
10
|
// section: types
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState, useEffect } from "react";
|
|
7
|
-
import { Switch } from "
|
|
8
|
-
import { Label } from "
|
|
9
|
-
import { Avatar, AvatarImage, AvatarFallback } from "
|
|
7
|
+
import { Switch } from "../../../ui/switch";
|
|
8
|
+
import { Label } from "../../../ui/label";
|
|
9
|
+
import { Avatar, AvatarImage, AvatarFallback } from "../../../ui/avatar";
|
|
10
10
|
import { Info } from "lucide-react";
|
|
11
11
|
import gravatarUrl from "gravatar-url";
|
|
12
12
|
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState, useEffect } from "react";
|
|
7
|
-
import { Switch } from "
|
|
8
|
-
import { Label } from "
|
|
9
|
-
import { Avatar, AvatarFallback } from "
|
|
10
|
-
import { VerticalTabs, VerticalTabsList, VerticalTabsTrigger, VerticalTabsContent } from "
|
|
7
|
+
import { Switch } from "../../../ui/switch";
|
|
8
|
+
import { Label } from "../../../ui/label";
|
|
9
|
+
import { Avatar, AvatarFallback } from "../../../ui/avatar";
|
|
10
|
+
import { VerticalTabs, VerticalTabsList, VerticalTabsTrigger, VerticalTabsContent } from "../../../ui/vertical-tabs";
|
|
11
11
|
import { Loader2 } from "lucide-react";
|
|
12
|
-
import { HazoUITooltip } from "
|
|
12
|
+
import { HazoUITooltip } from "../../../ui/hazo_ui_tooltip";
|
|
13
13
|
|
|
14
14
|
// section: types
|
|
15
15
|
export type ProfilePictureLibraryTabProps = {
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState, useCallback, useEffect } from "react";
|
|
7
|
-
import { Switch } from "
|
|
8
|
-
import { Label } from "
|
|
9
|
-
import { Avatar, AvatarImage, AvatarFallback } from "
|
|
7
|
+
import { Switch } from "../../../ui/switch";
|
|
8
|
+
import { Label } from "../../../ui/label";
|
|
9
|
+
import { Avatar, AvatarImage, AvatarFallback } from "../../../ui/avatar";
|
|
10
10
|
import { Upload, X, Loader2, Info } from "lucide-react";
|
|
11
|
-
import { Button } from "
|
|
11
|
+
import { Button } from "../../../ui/button";
|
|
12
12
|
import imageCompression from "browser-image-compression";
|
|
13
13
|
|
|
14
14
|
// section: types
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// file_description: my settings layout specific configuration helpers
|
|
2
2
|
// section: imports
|
|
3
|
-
import type { LayoutFieldMap } from "
|
|
3
|
+
import type { LayoutFieldMap } from "../../shared/config/layout_customization";
|
|
4
4
|
import {
|
|
5
5
|
resolveButtonPalette,
|
|
6
6
|
type ButtonPaletteDefaults,
|
|
7
7
|
type ButtonPaletteOverrides,
|
|
8
8
|
type PasswordRequirementOptions,
|
|
9
|
-
} from "
|
|
9
|
+
} from "../../shared/config/layout_customization";
|
|
10
10
|
|
|
11
11
|
// section: field_identifiers
|
|
12
12
|
export const MY_SETTINGS_FIELD_IDS = {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState, useEffect, useCallback } from "react";
|
|
7
|
-
import { use_auth_status, trigger_auth_status_refresh } from "
|
|
7
|
+
import { use_auth_status, trigger_auth_status_refresh } from "../../shared/hooks/use_auth_status";
|
|
8
8
|
import { toast } from "sonner";
|
|
9
|
-
import type { PasswordRequirementOptions } from "
|
|
9
|
+
import type { PasswordRequirementOptions } from "../../shared/config/layout_customization";
|
|
10
10
|
|
|
11
11
|
// section: types
|
|
12
12
|
export type PasswordFields = {
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
"use client";
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import { EditableField } from "
|
|
8
|
-
import { ProfilePictureDisplay } from "
|
|
9
|
-
import { ProfilePictureDialog } from "
|
|
10
|
-
import { UnauthorizedGuard } from "
|
|
11
|
-
import { use_my_settings } from "
|
|
6
|
+
import { Button } from "../../ui/button";
|
|
7
|
+
import { EditableField } from "./components/editable_field";
|
|
8
|
+
import { ProfilePictureDisplay } from "./components/profile_picture_display";
|
|
9
|
+
import { ProfilePictureDialog } from "./components/profile_picture_dialog";
|
|
10
|
+
import { UnauthorizedGuard } from "../shared/components/unauthorized_guard";
|
|
11
|
+
import { use_my_settings } from "./hooks/use_my_settings";
|
|
12
12
|
import {
|
|
13
13
|
resolveMySettingsLabels,
|
|
14
14
|
resolveMySettingsButtonPalette,
|
|
15
15
|
type MySettingsLabelOverrides,
|
|
16
|
-
} from "
|
|
16
|
+
} from "./config/my_settings_field_config";
|
|
17
17
|
import type {
|
|
18
18
|
PasswordRequirementOptions,
|
|
19
19
|
ButtonPaletteOverrides,
|
|
20
|
-
} from "
|
|
20
|
+
} from "../shared/config/layout_customization";
|
|
21
21
|
import { formatDistanceToNow } from "date-fns";
|
|
22
|
-
import { PasswordField } from "
|
|
23
|
-
import { FormFieldWrapper } from "
|
|
22
|
+
import { PasswordField } from "../shared/components/password_field";
|
|
23
|
+
import { FormFieldWrapper } from "../shared/components/form_field_wrapper";
|
|
24
24
|
import { Pencil, Trash2 } from "lucide-react";
|
|
25
25
|
|
|
26
26
|
// section: types
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// file_description: register layout specific configuration helpers
|
|
2
2
|
// section: imports
|
|
3
|
-
import type { LayoutFieldMap, LayoutFieldMapOverrides } from "
|
|
3
|
+
import type { LayoutFieldMap, LayoutFieldMapOverrides } from "../../shared/config/layout_customization";
|
|
4
4
|
import {
|
|
5
5
|
resolveButtonPalette,
|
|
6
6
|
resolveFieldDefinitions,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
type LayoutLabelOverrides,
|
|
13
13
|
type PasswordRequirementOptions,
|
|
14
14
|
type PasswordRequirementOverrides,
|
|
15
|
-
} from "
|
|
15
|
+
} from "../../shared/config/layout_customization";
|
|
16
16
|
|
|
17
17
|
// section: field_identifiers
|
|
18
18
|
export const REGISTER_FIELD_IDS = {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// section: imports
|
|
3
3
|
import { useCallback, useMemo, useState } from "react";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import type { LayoutDataClient } from "
|
|
6
|
-
import type { PasswordRequirementOptions, PasswordRequirementOverrides } from "
|
|
7
|
-
import { REGISTER_FIELD_IDS, type RegisterFieldId } from "
|
|
8
|
-
import { validateEmail, validatePassword } from "
|
|
5
|
+
import type { LayoutDataClient } from "../../shared/data/layout_data_client";
|
|
6
|
+
import type { PasswordRequirementOptions, PasswordRequirementOverrides } from "../../shared/config/layout_customization";
|
|
7
|
+
import { REGISTER_FIELD_IDS, type RegisterFieldId } from "../config/register_field_config";
|
|
8
|
+
import { validateEmail, validatePassword } from "../../shared/utils/validation";
|
|
9
9
|
|
|
10
10
|
// section: constants
|
|
11
11
|
const PASSWORD_FIELDS: Array<RegisterFieldId> = [
|
|
@@ -4,31 +4,31 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import Link from "next/link";
|
|
7
|
-
import { Input } from "
|
|
8
|
-
import { PasswordField } from "
|
|
9
|
-
import { FormFieldWrapper } from "
|
|
10
|
-
import { FormHeader } from "
|
|
11
|
-
import { FormActionButtons } from "
|
|
12
|
-
import { TwoColumnAuthLayout } from "
|
|
13
|
-
import { AlreadyLoggedInGuard } from "
|
|
7
|
+
import { Input } from "../../ui/input";
|
|
8
|
+
import { PasswordField } from "../shared/components/password_field";
|
|
9
|
+
import { FormFieldWrapper } from "../shared/components/form_field_wrapper";
|
|
10
|
+
import { FormHeader } from "../shared/components/form_header";
|
|
11
|
+
import { FormActionButtons } from "../shared/components/form_action_buttons";
|
|
12
|
+
import { TwoColumnAuthLayout } from "../shared/components/two_column_auth_layout";
|
|
13
|
+
import { AlreadyLoggedInGuard } from "../shared/components/already_logged_in_guard";
|
|
14
14
|
import {
|
|
15
15
|
type ButtonPaletteOverrides,
|
|
16
16
|
type LayoutFieldMapOverrides,
|
|
17
17
|
type LayoutLabelOverrides,
|
|
18
18
|
type PasswordRequirementOverrides,
|
|
19
|
-
} from "
|
|
19
|
+
} from "../shared/config/layout_customization";
|
|
20
20
|
import {
|
|
21
21
|
REGISTER_FIELD_IDS,
|
|
22
22
|
createRegisterFieldDefinitions,
|
|
23
23
|
resolveRegisterButtonPalette,
|
|
24
24
|
resolveRegisterLabels,
|
|
25
25
|
resolveRegisterPasswordRequirements,
|
|
26
|
-
} from "
|
|
26
|
+
} from "./config/register_field_config";
|
|
27
27
|
import {
|
|
28
28
|
use_register_form,
|
|
29
29
|
type UseRegisterFormResult,
|
|
30
|
-
} from "
|
|
31
|
-
import { type LayoutDataClient } from "
|
|
30
|
+
} from "./hooks/use_register_form";
|
|
31
|
+
import { type LayoutDataClient } from "../shared/data/layout_data_client";
|
|
32
32
|
|
|
33
33
|
// section: types
|
|
34
34
|
export type RegisterLayoutProps<TClient = unknown> = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// file_description: reset password layout specific configuration helpers
|
|
2
2
|
// section: imports
|
|
3
|
-
import type { LayoutFieldMap, LayoutFieldMapOverrides } from "
|
|
3
|
+
import type { LayoutFieldMap, LayoutFieldMapOverrides } from "../../shared/config/layout_customization";
|
|
4
4
|
import {
|
|
5
5
|
resolveButtonPalette,
|
|
6
6
|
resolveFieldDefinitions,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
type PasswordRequirementOptions,
|
|
13
13
|
type PasswordRequirementOverrides,
|
|
14
14
|
resolvePasswordRequirements,
|
|
15
|
-
} from "
|
|
15
|
+
} from "../../shared/config/layout_customization";
|
|
16
16
|
|
|
17
17
|
// section: field_identifiers
|
|
18
18
|
export const RESET_PASSWORD_FIELD_IDS = {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { useCallback, useMemo, useState, useEffect } from "react";
|
|
4
4
|
import { useSearchParams, useRouter } from "next/navigation";
|
|
5
5
|
import { toast } from "sonner";
|
|
6
|
-
import type { LayoutDataClient } from "
|
|
7
|
-
import type { PasswordRequirementOptions } from "
|
|
8
|
-
import { RESET_PASSWORD_FIELD_IDS, type ResetPasswordFieldId } from "
|
|
9
|
-
import { validatePassword } from "
|
|
6
|
+
import type { LayoutDataClient } from "../../shared/data/layout_data_client";
|
|
7
|
+
import type { PasswordRequirementOptions } from "../../shared/config/layout_customization";
|
|
8
|
+
import { RESET_PASSWORD_FIELD_IDS, type ResetPasswordFieldId } from "../config/reset_password_field_config";
|
|
9
|
+
import { validatePassword } from "../../shared/utils/validation";
|
|
10
10
|
|
|
11
11
|
// section: constants
|
|
12
12
|
const PASSWORD_FIELDS: Array<ResetPasswordFieldId> = [
|
|
@@ -3,31 +3,31 @@
|
|
|
3
3
|
"use client";
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
|
-
import { PasswordField } from "
|
|
7
|
-
import { FormFieldWrapper } from "
|
|
8
|
-
import { FormHeader } from "
|
|
9
|
-
import { FormActionButtons } from "
|
|
10
|
-
import { TwoColumnAuthLayout } from "
|
|
6
|
+
import { PasswordField } from "../shared/components/password_field";
|
|
7
|
+
import { FormFieldWrapper } from "../shared/components/form_field_wrapper";
|
|
8
|
+
import { FormHeader } from "../shared/components/form_header";
|
|
9
|
+
import { FormActionButtons } from "../shared/components/form_action_buttons";
|
|
10
|
+
import { TwoColumnAuthLayout } from "../shared/components/two_column_auth_layout";
|
|
11
11
|
import { CheckCircle, XCircle, Loader2 } from "lucide-react";
|
|
12
|
-
import { AlreadyLoggedInGuard } from "
|
|
12
|
+
import { AlreadyLoggedInGuard } from "../shared/components/already_logged_in_guard";
|
|
13
13
|
import {
|
|
14
14
|
type ButtonPaletteOverrides,
|
|
15
15
|
type LayoutFieldMapOverrides,
|
|
16
16
|
type LayoutLabelOverrides,
|
|
17
17
|
type PasswordRequirementOverrides,
|
|
18
|
-
} from "
|
|
18
|
+
} from "../shared/config/layout_customization";
|
|
19
19
|
import {
|
|
20
20
|
RESET_PASSWORD_FIELD_IDS,
|
|
21
21
|
createResetPasswordFieldDefinitions,
|
|
22
22
|
resolveResetPasswordButtonPalette,
|
|
23
23
|
resolveResetPasswordLabels,
|
|
24
24
|
resolveResetPasswordPasswordRequirements,
|
|
25
|
-
} from "
|
|
25
|
+
} from "./config/reset_password_field_config";
|
|
26
26
|
import {
|
|
27
27
|
use_reset_password_form,
|
|
28
28
|
type UseResetPasswordFormResult,
|
|
29
|
-
} from "
|
|
30
|
-
import { type LayoutDataClient } from "
|
|
29
|
+
} from "./hooks/use_reset_password_form";
|
|
30
|
+
import { type LayoutDataClient } from "../shared/data/layout_data_client";
|
|
31
31
|
import Link from "next/link";
|
|
32
32
|
|
|
33
33
|
// section: types
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
"use client";
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
|
-
import { use_auth_status } from "
|
|
7
|
-
import { LogoutButton } from "
|
|
8
|
-
import { Button } from "
|
|
9
|
-
import { TwoColumnAuthLayout } from "
|
|
6
|
+
import { use_auth_status } from "../hooks/use_auth_status";
|
|
7
|
+
import { LogoutButton } from "./logout_button";
|
|
8
|
+
import { Button } from "../../../ui/button";
|
|
9
|
+
import { TwoColumnAuthLayout } from "./two_column_auth_layout";
|
|
10
10
|
import { useRouter } from "next/navigation";
|
|
11
11
|
import { Home } from "lucide-react";
|
|
12
12
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// file_description: server component that chooses between sidebar shell and standalone shell
|
|
2
2
|
// section: imports
|
|
3
3
|
import type { ReactNode } from "react";
|
|
4
|
-
import { SidebarLayoutWrapper } from "
|
|
5
|
-
import { StandaloneLayoutWrapper } from "
|
|
6
|
-
import { get_ui_shell_config } from "
|
|
4
|
+
import { SidebarLayoutWrapper } from "./sidebar_layout_wrapper";
|
|
5
|
+
import { StandaloneLayoutWrapper } from "./standalone_layout_wrapper";
|
|
6
|
+
import { get_ui_shell_config } from "../../../../lib/ui_shell_config.server";
|
|
7
7
|
|
|
8
8
|
// section: types
|
|
9
9
|
type AuthPageShellProps = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// file_description: reusable form action buttons component with submit (positive, left) and cancel (negative, right) buttons
|
|
2
2
|
// section: imports
|
|
3
3
|
import { CircleCheckBig, CircleX } from "lucide-react";
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import type { ButtonPaletteDefaults } from "
|
|
4
|
+
import { Button } from "../../../ui/button";
|
|
5
|
+
import type { ButtonPaletteDefaults } from "../config/layout_customization";
|
|
6
6
|
|
|
7
7
|
// section: types
|
|
8
8
|
type FormActionButtonsProps = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// file_description: reusable wrapper component for form fields that standardizes label, input, and error message structure
|
|
2
2
|
// section: imports
|
|
3
|
-
import { Label } from "
|
|
4
|
-
import { FieldErrorMessage } from "
|
|
3
|
+
import { Label } from "../../../ui/label";
|
|
4
|
+
import { FieldErrorMessage } from "./field_error_message";
|
|
5
5
|
|
|
6
6
|
// section: types
|
|
7
7
|
type FormFieldWrapperProps = {
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState } from "react";
|
|
7
7
|
import { useRouter } from "next/navigation";
|
|
8
|
-
import { Button } from "
|
|
8
|
+
import { Button } from "../../../ui/button";
|
|
9
9
|
import { LogOut } from "lucide-react";
|
|
10
10
|
import { toast } from "sonner";
|
|
11
|
-
import { trigger_auth_status_refresh } from "
|
|
11
|
+
import { trigger_auth_status_refresh } from "../hooks/use_auth_status";
|
|
12
12
|
|
|
13
13
|
// section: types
|
|
14
14
|
export type LogoutButtonProps = {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { Eye, EyeOff } from "lucide-react";
|
|
7
|
-
import { Button } from "
|
|
8
|
-
import { Input } from "
|
|
9
|
-
import { FieldErrorMessage } from "
|
|
7
|
+
import { Button } from "../../../ui/button";
|
|
8
|
+
import { Input } from "../../../ui/input";
|
|
9
|
+
import { FieldErrorMessage } from "./field_error_message";
|
|
10
10
|
|
|
11
11
|
// section: types
|
|
12
12
|
export type PasswordFieldProps = {
|
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
import { useState, useMemo } from "react";
|
|
7
7
|
import { useRouter } from "next/navigation";
|
|
8
8
|
import Link from "next/link";
|
|
9
|
-
import { Avatar, AvatarImage, AvatarFallback } from "
|
|
10
|
-
import { Button } from "
|
|
9
|
+
import { Avatar, AvatarImage, AvatarFallback } from "../../../ui/avatar";
|
|
10
|
+
import { Button } from "../../../ui/button";
|
|
11
11
|
import {
|
|
12
12
|
DropdownMenu,
|
|
13
13
|
DropdownMenuContent,
|
|
14
14
|
DropdownMenuItem,
|
|
15
15
|
DropdownMenuSeparator,
|
|
16
16
|
DropdownMenuTrigger,
|
|
17
|
-
} from "
|
|
17
|
+
} from "../../../ui/dropdown-menu";
|
|
18
18
|
import { Settings, LogOut } from "lucide-react";
|
|
19
19
|
import { toast } from "sonner";
|
|
20
|
-
import { use_auth_status, trigger_auth_status_refresh } from "
|
|
20
|
+
import { use_auth_status, trigger_auth_status_refresh } from "../hooks/use_auth_status";
|
|
21
21
|
// Type-only import from server file is safe (types are erased at runtime)
|
|
22
|
-
import type { ProfilePicMenuMenuItem } from "
|
|
22
|
+
import type { ProfilePicMenuMenuItem } from "../../../../lib/profile_pic_menu_config.server";
|
|
23
23
|
|
|
24
24
|
// section: types
|
|
25
25
|
export type ProfilePicMenuProps = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// file_description: server wrapper component that loads profile picture menu configuration and passes to client component
|
|
2
2
|
// section: imports
|
|
3
|
-
import { ProfilePicMenu } from "
|
|
4
|
-
import { get_profile_pic_menu_config } from "
|
|
3
|
+
import { ProfilePicMenu } from "./profile_pic_menu";
|
|
4
|
+
import { get_profile_pic_menu_config } from "../../../../lib/profile_pic_menu_config.server";
|
|
5
5
|
|
|
6
6
|
// section: types
|
|
7
7
|
export type ProfilePicMenuWrapperProps = {
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
SidebarProvider,
|
|
17
17
|
SidebarTrigger,
|
|
18
18
|
SidebarInset,
|
|
19
|
-
} from "
|
|
19
|
+
} from "../../../ui/sidebar";
|
|
20
20
|
import { LogIn, UserPlus, BookOpen, ExternalLink, Database, KeyRound, MailCheck, Key, Settings, User } from "lucide-react";
|
|
21
|
-
import { use_auth_status } from "
|
|
22
|
-
import { ProfilePicMenu } from "
|
|
21
|
+
import { use_auth_status } from "../hooks/use_auth_status";
|
|
22
|
+
import { ProfilePicMenu } from "./profile_pic_menu";
|
|
23
23
|
|
|
24
24
|
// section: types
|
|
25
25
|
type SidebarLayoutWrapperProps = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// file_description: reusable two-column authentication layout shell that combines visual panel and form content
|
|
2
2
|
// section: imports
|
|
3
|
-
import { VisualPanel } from "
|
|
3
|
+
import { VisualPanel } from "./visual_panel";
|
|
4
4
|
|
|
5
5
|
// section: types
|
|
6
6
|
type TwoColumnAuthLayoutProps = {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"use client";
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
|
-
import { use_auth_status } from "
|
|
7
|
-
import { Button } from "
|
|
6
|
+
import { use_auth_status } from "../hooks/use_auth_status";
|
|
7
|
+
import { Button } from "../../../ui/button";
|
|
8
8
|
import { useRouter } from "next/navigation";
|
|
9
9
|
import { LogIn } from "lucide-react";
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// file_description: provide shared validation utilities for email and password fields across layout components
|
|
2
2
|
// section: imports
|
|
3
|
-
import type { PasswordRequirementOptions } from "
|
|
3
|
+
import type { PasswordRequirementOptions } from "../config/layout_customization";
|
|
4
4
|
|
|
5
5
|
// section: constants
|
|
6
6
|
const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
// section: imports
|
|
6
6
|
import { useState, useEffect, useMemo } from "react";
|
|
7
|
-
import { Button } from "
|
|
8
|
-
import { Checkbox } from "
|
|
7
|
+
import { Button } from "../../../ui/button";
|
|
8
|
+
import { Checkbox } from "../../../ui/checkbox";
|
|
9
9
|
import {
|
|
10
10
|
Table,
|
|
11
11
|
TableBody,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TableHead,
|
|
14
14
|
TableHeader,
|
|
15
15
|
TableRow,
|
|
16
|
-
} from "
|
|
16
|
+
} from "../../../ui/table";
|
|
17
17
|
import {
|
|
18
18
|
Dialog,
|
|
19
19
|
DialogContent,
|
|
@@ -21,12 +21,12 @@ import {
|
|
|
21
21
|
DialogFooter,
|
|
22
22
|
DialogHeader,
|
|
23
23
|
DialogTitle,
|
|
24
|
-
} from "
|
|
25
|
-
import { Input } from "
|
|
26
|
-
import { Label } from "
|
|
24
|
+
} from "../../../ui/dialog";
|
|
25
|
+
import { Input } from "../../../ui/input";
|
|
26
|
+
import { Label } from "../../../ui/label";
|
|
27
27
|
import { Plus, Save, Loader2, CircleCheck, CircleX } from "lucide-react";
|
|
28
28
|
import { toast } from "sonner";
|
|
29
|
-
import { Avatar, AvatarImage, AvatarFallback } from "
|
|
29
|
+
import { Avatar, AvatarImage, AvatarFallback } from "../../../ui/avatar";
|
|
30
30
|
|
|
31
31
|
// section: types
|
|
32
32
|
export type RolesMatrixData = {
|