nfx-ui 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/hooks/auth.d.ts +30 -29
- package/dist/hooks/auth.d.ts.map +1 -1
- package/dist/hooks/auth.js +225 -226
- package/dist/hooks/auth.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -8
- package/dist/hooks/toast.d.ts +12 -0
- package/dist/hooks/toast.d.ts.map +1 -0
- package/dist/hooks/toast.js +13 -0
- package/dist/hooks/toast.js.map +1 -0
- package/dist/languages/hooks/useLanguageLabel.d.ts.map +1 -1
- package/dist/languages/hooks/useLanguageLabel.js +11 -10
- package/dist/languages/hooks/useLanguageLabel.js.map +1 -1
- package/dist/languages/index.d.ts +0 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +9 -10
- package/dist/languages/languages/i18n.d.ts.map +1 -1
- package/dist/languages/languages/i18n.js +30 -41
- package/dist/languages/languages/i18n.js.map +1 -1
- package/dist/schemas/loginSchema.d.ts +3 -3
- package/dist/schemas/loginSchema.d.ts.map +1 -1
- package/dist/schemas/loginSchema.js +22 -23
- package/dist/schemas/loginSchema.js.map +1 -1
- package/dist/schemas/profileEditSchema.d.ts +1 -1
- package/dist/schemas/profileEditSchema.d.ts.map +1 -1
- package/dist/schemas/profileEditSchema.js +18 -19
- package/dist/schemas/profileEditSchema.js.map +1 -1
- package/dist/schemas/signupSchema.d.ts +2 -2
- package/dist/schemas/signupSchema.d.ts.map +1 -1
- package/dist/schemas/signupSchema.js +16 -17
- package/dist/schemas/signupSchema.js.map +1 -1
- package/package.json +1 -1
- package/src/hooks/auth.ts +79 -98
- package/src/hooks/index.ts +1 -0
- package/src/hooks/toast.ts +23 -0
- package/src/languages/hooks/useLanguageLabel.ts +2 -3
- package/src/languages/index.ts +0 -1
- package/src/languages/languages/i18n.ts +3 -17
- package/src/schemas/loginSchema.ts +3 -6
- package/src/schemas/profileEditSchema.ts +1 -3
- package/src/schemas/signupSchema.ts +2 -4
- package/dist/languages/resources/en/language.js +0 -52
- package/dist/languages/resources/en/language.js.map +0 -1
- package/dist/languages/resources/en/language.json.d.ts +0 -49
- package/dist/languages/resources/en/layout.js +0 -9
- package/dist/languages/resources/en/layout.js.map +0 -1
- package/dist/languages/resources/en/layout.json.d.ts +0 -9
- package/dist/languages/resources/en/preference.js +0 -50
- package/dist/languages/resources/en/preference.js.map +0 -1
- package/dist/languages/resources/en/preference.json.d.ts +0 -51
- package/dist/languages/resources/en/theme.js +0 -19
- package/dist/languages/resources/en/theme.js.map +0 -1
- package/dist/languages/resources/en/theme.json.d.ts +0 -17
- package/dist/languages/resources/fr/language.js +0 -52
- package/dist/languages/resources/fr/language.js.map +0 -1
- package/dist/languages/resources/fr/language.json.d.ts +0 -49
- package/dist/languages/resources/fr/layout.js +0 -9
- package/dist/languages/resources/fr/layout.js.map +0 -1
- package/dist/languages/resources/fr/layout.json.d.ts +0 -9
- package/dist/languages/resources/fr/preference.js +0 -50
- package/dist/languages/resources/fr/preference.js.map +0 -1
- package/dist/languages/resources/fr/preference.json.d.ts +0 -51
- package/dist/languages/resources/fr/theme.js +0 -19
- package/dist/languages/resources/fr/theme.js.map +0 -1
- package/dist/languages/resources/fr/theme.json.d.ts +0 -17
- package/dist/languages/resources/index.d.ts +0 -9
- package/dist/languages/resources/index.d.ts.map +0 -1
- package/dist/languages/resources/index.js +0 -54
- package/dist/languages/resources/index.js.map +0 -1
- package/dist/languages/resources/zh/language.js +0 -52
- package/dist/languages/resources/zh/language.js.map +0 -1
- package/dist/languages/resources/zh/language.json.d.ts +0 -49
- package/dist/languages/resources/zh/layout.js +0 -9
- package/dist/languages/resources/zh/layout.js.map +0 -1
- package/dist/languages/resources/zh/layout.json.d.ts +0 -9
- package/dist/languages/resources/zh/preference.js +0 -50
- package/dist/languages/resources/zh/preference.js.map +0 -1
- package/dist/languages/resources/zh/preference.json.d.ts +0 -51
- package/dist/languages/resources/zh/theme.js +0 -19
- package/dist/languages/resources/zh/theme.js.map +0 -1
- package/dist/languages/resources/zh/theme.json.d.ts +0 -17
- package/src/languages/resources/en/language.json +0 -47
- package/src/languages/resources/en/layout.json +0 -6
- package/src/languages/resources/en/preference.json +0 -49
- package/src/languages/resources/en/theme.json +0 -14
- package/src/languages/resources/fr/language.json +0 -47
- package/src/languages/resources/fr/layout.json +0 -6
- package/src/languages/resources/fr/preference.json +0 -49
- package/src/languages/resources/fr/theme.json +0 -14
- package/src/languages/resources/index.ts +0 -62
- package/src/languages/resources/zh/language.json +0 -47
- package/src/languages/resources/zh/layout.json +0 -6
- package/src/languages/resources/zh/preference.json +0 -49
- package/src/languages/resources/zh/theme.json +0 -14
package/dist/hooks/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","names":[],"sources":["../../src/hooks/auth.ts"],"sourcesContent":["/**\n * Auth hooks — 组件勿直接调 apis/auth\n */\nimport type { AxiosError } from \"axios\";\nimport type { CurrentProfileResult, Login, Profile, Signup } from \"nfx-ui/types\";\n\nimport { useEffect } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useAuthRepository } from \"nfx-ui/apis/repositories\";\nimport { AUTH_EMAILS, AUTH_ME, AUTH_OWNER_AUTHORITIES, AUTH_OWNER_FORGERS, AUTH_PHONES, AUTH_PROFILE_SEARCH, AUTH_PROFILES, AUTH_PUBLIC_CARD } from \"nfx-ui/constants\";\nimport { AuthSignupPlatformEnum, LanguageEnum, ProfileKindEnum } from \"nfx-ui/enums\";\nimport { authEventEmitter, authEvents } from \"nfx-ui/events/auth\";\nimport { systemEventEmitter } from \"nfx-ui/events/system\";\nimport {\n AuthStore,\n clearAuth,\n EMPTY_PROFILE_ID,\n hasSelectedProfile,\n setCurrentAccountId,\n setCurrentProfileId,\n setCurrentProfileKind,\n setIsAuthValid,\n setTokens,\n useAuthStore,\n} from \"nfx-ui/stores/auth\";\nimport { ensureDeviceIdStorage } from \"nfx-ui/stores/system\";\nimport { getApiErrorMessage } from \"nfx-ui/utils/apiError\";\nimport { pickProfile } from \"nfx-ui/utils/domain/account\";\nimport { useUnifiedQuery } from \"nfx-ui/utils/factory\";\nimport { safeOr, safeStringable } from \"nfx-ui/utils/safe\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function useAuthQueryScope() {\n const aID = useAuthStore((s) => s.currentAccountId);\n const pID = useAuthStore((s) => s.currentProfileId);\n const isAuthValid = useAuthStore((s) => s.isAuthValid);\n const kind = useAuthStore((s) => s.currentProfileKind);\n return { aID, pID, isAuthValid, kind, profileScope: kind };\n}\n\nfunction useLogoutOnAuthError(isError: boolean, aID: string) {\n useEffect(() => {\n if (!isError || !AuthStore.getState().isAuthValid) return;\n if (!hasSelectedProfile(AuthStore.getState().currentProfileId)) return;\n authEventEmitter.emit(authEvents.LOGOUT, aID);\n clearAuth();\n }, [isError, aID]);\n}\n\nexport function useCurrentProfile(): CurrentProfileResult {\n const auth = useAuthRepository();\n const { aID, pID, isAuthValid, kind } = useAuthQueryScope();\n const result = useUnifiedQuery(\n ({ kind }: { kind: ProfileKindEnum }) => auth.GetCurrentFullAccountInformationWithProfile(kind),\n AUTH_ME(aID, pID),\n { kind },\n { enabled: isAuthValid && hasSelectedProfile(pID) },\n );\n useLogoutOnAuthError(result.isError, aID);\n return {\n kind,\n data: result.data,\n profile: pickProfile(kind, result.data),\n isLoading: result.isLoading,\n isError: result.isError,\n refetch: result.refetch,\n } as CurrentProfileResult;\n}\n\nexport const useSendVerificationCode = () => {\n const auth = useAuthRepository();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (params: Signup.Request.SendVerificationCode) => auth.SendVerificationCode(params),\n onSuccess: () => {\n systemEventEmitter.showSuccess(t(\"sendVerificationCodeSuccess\", { defaultValue: \"Code sent\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSendVerificationCode] error\"));\n },\n });\n};\n\nexport const useSignupWithEmail = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({\n rememberMe,\n ...params\n }: {\n rememberMe: boolean;\n } & Omit<Signup.Request.SignupWithEmail, \"deviceId\">): Promise<Signup.Response.SignupWithEmail> => {\n const deviceId = await ensureDeviceIdStorage();\n return auth.SignupWithEmail({\n ...params,\n deviceId,\n });\n },\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n if (result.profileId) {\n setCurrentProfileId(result.profileId);\n setCurrentProfileKind(ProfileKindEnum.COMMUNITY);\n authEventEmitter.emit(authEvents.LOGIN_SUCCESS, result.accountId);\n } else {\n setCurrentProfileId(EMPTY_PROFILE_ID);\n }\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSignup] error\"));\n },\n });\n};\n\nexport const useLoginWithEmail = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ rememberMe, ...params }: { email: string; password: string; rememberMe: boolean }) =>\n auth.LoginWithEmail({\n ...params,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setCurrentProfileId(EMPTY_PROFILE_ID);\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useLogin] error\"));\n },\n });\n};\n\nexport const useLoginWithPhone = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ rememberMe, ...params }: { phone: string; password: string; rememberMe: boolean }) =>\n auth.LoginWithPhone({\n ...params,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setCurrentProfileId(EMPTY_PROFILE_ID);\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useLoginWithPhone] error\"));\n },\n });\n};\n\nexport type SelectProfileOptions = {\n /** 已翻译的加载文案。Host-translated loading copy. */\n switchingMsg?: string;\n /** 与 token、档案同一次提交里执行(例如跳到该档案的首页)。Runs in the same commit as the token and profile. */\n onCommit?: () => void;\n};\n\n/** 两步登录第二步:切换当前 profile,重新签发 token。kind 决定后端分派到社区/权限档。 */\nexport const useSelectProfile = (options?: SelectProfileOptions) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ profileId, kind }: { profileId: string; kind: Login.ProfileKind }) =>\n auth.SelectProfile({\n profileId,\n kind,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onMutate: () => {\n if (options?.switchingMsg) systemEventEmitter.showLoading(options.switchingMsg);\n },\n onSuccess: (result, variables) => {\n try {\n if (!result?.accessToken) return;\n // 同一次提交写入新 token 和档案,旧角色的请求在重拉前先停用。\n flushSync(() => {\n setTokens({\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n });\n setCurrentProfileKind(variables.kind);\n if (result.profileId) setCurrentProfileId(result.profileId);\n options?.onCommit?.();\n });\n authEventEmitter.emit(authEvents.LOGIN_SUCCESS, result.accountId);\n } finally {\n systemEventEmitter.hideLoading();\n }\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.hideLoading();\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSelectProfile] error\"));\n },\n });\n};\n\nexport const usePatchProfile = (options?: { silent?: boolean }) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n const silent = safeOr(options?.silent, false);\n const { t } = useTranslation(\"pages.User.Profile.Edit\");\n return useMutation({\n mutationFn: (body: Profile.Request.PatchProfile) => auth.PatchProfile(kind, body),\n onSuccess: () => {\n if (!silent) systemEventEmitter.showSuccess(t(\"saveSuccess\", { defaultValue: \"Saved\" }));\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind });\n },\n onError: (error: AxiosError) => {\n if (!silent) systemEventEmitter.showError(getApiErrorMessage(error, \"[usePatchProfile] error\"));\n },\n });\n};\n\nexport const useUpdateProfileSettings = () => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (body: Profile.Request.PatchProfileSettings) => auth.PatchProfileSettings(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n systemEventEmitter.showSuccess(t(\"updateSettingsSuccess\", { defaultValue: \"Settings updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useUpdateProfileSettings] error\"));\n },\n });\n};\n\nexport const useUpdatePreference = () => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (preference: string) => auth.UpdatePreference(kind, preference),\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useUpdatePreference] error\"));\n },\n });\n};\n\nexport const useListProfiles = <K extends ProfileKindEnum>(kind: K) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(\n () => auth.ListProfiles(kind, { limit: 50, offset: 0 }),\n AUTH_PROFILES(aID, kind),\n undefined,\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useCreateForgerProfile = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.CreateForgerProfile) => auth.CreateForgerProfile(body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: ProfileKindEnum.COMMUNITY });\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useCreateForgerProfile] error\"));\n },\n });\n};\n\nexport const useCreateAuthorityProfile = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.CreateAuthorityProfile) => auth.CreateAuthorityProfile(body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: ProfileKindEnum.AUTHORITY });\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useCreateAuthorityProfile] error\"));\n },\n });\n};\n\nexport const useDeleteProfile = () => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: ({ kind, profileId }: { kind: ProfileKindEnum; profileId: string }) => auth.DeleteProfile(kind, profileId),\n onSuccess: (_void, variables) => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: variables.kind });\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteProfile] error\"));\n },\n });\n};\n\nexport const useConfirmProfileAvatar = () => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (body: Profile.Request.ConfirmProfileAvatar) => auth.ConfirmProfileAvatar(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useConfirmProfileAvatar] error\"));\n },\n });\n};\n\nexport const useClearProfileAvatar = () => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: () => auth.ClearProfileAvatar(kind),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n systemEventEmitter.showSuccess(t(\"clearAvatarSuccess\", { defaultValue: \"Avatar removed.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useClearProfileAvatar] error\"));\n },\n });\n};\n\nexport const useListEmails = () => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(() => auth.ListEmails({ limit: 50, offset: 0 }), AUTH_EMAILS(aID), undefined, {\n enabled: isAuthValid && Boolean(aID),\n });\n};\n\nexport const useListPhones = () => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(() => auth.ListPhones({ limit: 50, offset: 0 }), AUTH_PHONES(aID), undefined, {\n enabled: isAuthValid && Boolean(aID),\n });\n};\n\nexport const useCreateEmail = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (body: Login.Request.CreateEmail) => auth.CreateEmail(body),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n systemEventEmitter.showSuccess(t(\"createEmailSuccess\", { defaultValue: \"Email added.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useCreateEmail] error\"));\n },\n });\n};\n\nexport const useSendEmailVerificationCode = () => {\n const auth = useAuthRepository();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ emailId, lang }: { emailId: string; lang?: LanguageEnum }) => auth.SendEmailVerificationCode(emailId, { lang }),\n onSuccess: () => {\n systemEventEmitter.showSuccess(t(\"sendVerificationCodeSuccess\", { defaultValue: \"Code sent\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSendEmailVerificationCode] error\"));\n },\n });\n};\n\nexport const useVerifyEmail = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ emailId, verificationCode }: { emailId: string; verificationCode: string }) =>\n auth.VerifyEmail(emailId, { verificationCode }),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n systemEventEmitter.showSuccess(t(\"verifyEmailSuccess\", { defaultValue: \"Email verified.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useVerifyEmail] error\"));\n },\n });\n};\n\nexport const useUpdateEmail = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ emailId, email }: { emailId: string; email: string }) => auth.UpdateEmail(emailId, { email }),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n systemEventEmitter.showSuccess(t(\"updateEmailSuccess\", { defaultValue: \"Email updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useUpdateEmail] error\"));\n },\n });\n};\n\nexport const useSetPrimaryEmail = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (emailId: string) => auth.SetPrimaryEmail(emailId),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n systemEventEmitter.showSuccess(t(\"setPrimaryEmailSuccess\", { defaultValue: \"Primary email updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSetPrimaryEmail] error\"));\n },\n });\n};\n\nexport const useDeleteEmail = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (emailId: string) => auth.DeleteEmail(emailId),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n systemEventEmitter.showSuccess(t(\"deleteEmailSuccess\", { defaultValue: \"Email removed.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeleteEmail] error\"));\n },\n });\n};\n\nexport const useSendChangePasswordVerificationCode = () => {\n const auth = useAuthRepository();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (body: Login.Request.SendChangePasswordVerificationCode = {}) => auth.SendChangePasswordVerificationCode(body),\n onSuccess: () => {\n systemEventEmitter.showSuccess(t(\"sendVerificationCodeSuccess\", { defaultValue: \"Code sent\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSendChangePasswordVerificationCode] error\"));\n },\n });\n};\n\nexport const useChangePassword = () => {\n const auth = useAuthRepository();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (body: Login.Request.ChangePassword) => auth.ChangePassword(body),\n onSuccess: () => {\n systemEventEmitter.showSuccess(t(\"changePasswordSuccess\", { defaultValue: \"Password updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useChangePassword] error\"));\n },\n });\n};\n\nexport const useConfirmProfileBackgrounds = () => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (body: Profile.Request.ConfirmProfileBackgrounds) => auth.ConfirmProfileBackgrounds(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useConfirmProfileBackgrounds] error\"));\n },\n });\n};\n\nexport const useCreatePhone = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (body: Login.Request.CreatePhone) => auth.CreatePhone(body),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n systemEventEmitter.showSuccess(t(\"createPhoneSuccess\", { defaultValue: \"Phone added.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useCreatePhone] error\"));\n },\n });\n};\n\nexport const useSendPhoneVerificationCode = () => {\n const auth = useAuthRepository();\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (phoneId: string) => auth.SendPhoneVerificationCode(phoneId),\n onSuccess: () => {\n systemEventEmitter.showSuccess(t(\"sendVerificationCodeSuccess\", { defaultValue: \"Code sent\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSendPhoneVerificationCode] error\"));\n },\n });\n};\n\nexport const useVerifyPhone = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ phoneId, verificationCode }: { phoneId: string; verificationCode: string }) =>\n auth.VerifyPhone(phoneId, { verificationCode }),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n systemEventEmitter.showSuccess(t(\"verifyPhoneSuccess\", { defaultValue: \"Phone verified.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useVerifyPhone] error\"));\n },\n });\n};\n\nexport const useUpdatePhone = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ phoneId, phone }: { phoneId: string; phone: string }) => auth.UpdatePhone(phoneId, { phone }),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n systemEventEmitter.showSuccess(t(\"updatePhoneSuccess\", { defaultValue: \"Phone updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useUpdatePhone] error\"));\n },\n });\n};\n\nexport const useSetPrimaryPhone = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (phoneId: string) => auth.SetPrimaryPhone(phoneId),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n systemEventEmitter.showSuccess(t(\"setPrimaryPhoneSuccess\", { defaultValue: \"Primary phone updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useSetPrimaryPhone] error\"));\n },\n });\n};\n\nexport const useDeletePhone = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: (phoneId: string) => auth.DeletePhone(phoneId),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n systemEventEmitter.showSuccess(t(\"deletePhoneSuccess\", { defaultValue: \"Phone removed.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useDeletePhone] error\"));\n },\n });\n};\n\nexport const useSearchForgerProfiles = (query: string) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.SearchForgerProfiles({ query: q, limit: 50, offset: 0 }),\n AUTH_PROFILE_SEARCH(aID, ProfileKindEnum.COMMUNITY, trimmed),\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) && trimmed.length > 0 },\n );\n};\n\nexport const useSearchAuthorityProfiles = (query: string) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.SearchAuthorityProfiles({ query: q, limit: 50, offset: 0 }),\n AUTH_PROFILE_SEARCH(aID, ProfileKindEnum.AUTHORITY, trimmed),\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) && trimmed.length > 0 },\n );\n};\n\nexport const useGetPublicProfileCard = (profileId: string) => {\n const auth = useAuthRepository();\n const { isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(\n () => auth.GetPublicProfileCard(profileId),\n AUTH_PUBLIC_CARD(profileId),\n undefined,\n { enabled: isAuthValid && Boolean(profileId) },\n );\n};\n\nexport const useListOwnerForgerProfiles = (query = \"\") => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.ListOwnerForgerProfiles({ limit: 50, offset: 0, query: q || undefined }),\n [...AUTH_OWNER_FORGERS(aID), trimmed],\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useListOwnerAuthorityProfiles = (query = \"\") => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.ListOwnerAuthorityProfiles({ limit: 50, offset: 0, query: q || undefined }),\n [...AUTH_OWNER_AUTHORITIES(aID), trimmed],\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useUpdateAuthorityProfileRoles = () => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n const { t } = useTranslation(\"hooks\", { keyPrefix: \"account\" });\n return useMutation({\n mutationFn: ({ profileId, authorityRoles }: { profileId: string; authorityRoles: Profile.Request.UpdateAuthorityProfileRoles[\"authorityRoles\"] }) =>\n auth.UpdateAuthorityProfileRoles(profileId, { authorityRoles }),\n onSuccess: () => {\n authEventEmitter.invalidateOwner(accountId);\n systemEventEmitter.showSuccess(t(\"updateRolesSuccess\", { defaultValue: \"Roles updated.\" }));\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.showError(getApiErrorMessage(error, \"[useUpdateAuthorityProfileRoles] error\"));\n },\n });\n};\n\nexport { hasSelectedProfile, AuthStore, useAuthStore };\nexport { LanguageEnum, AuthSignupPlatformEnum };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","names":[],"sources":["../../src/hooks/auth.ts"],"sourcesContent":["/**\n * Auth hooks — 组件勿直接调 apis/auth\n */\nimport type { AxiosError } from \"axios\";\nimport type { CurrentProfileResult, Login, Profile, Signup } from \"nfx-ui/types\";\n\nimport { useEffect } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useAuthRepository } from \"nfx-ui/apis/repositories\";\nimport { AUTH_EMAILS, AUTH_ME, AUTH_OWNER_AUTHORITIES, AUTH_OWNER_FORGERS, AUTH_PHONES, AUTH_PROFILE_SEARCH, AUTH_PROFILES, AUTH_PUBLIC_CARD } from \"nfx-ui/constants\";\nimport { AuthSignupPlatformEnum, LanguageEnum, ProfileKindEnum } from \"nfx-ui/enums\";\nimport { authEventEmitter, authEvents } from \"nfx-ui/events/auth\";\nimport { systemEventEmitter } from \"nfx-ui/events/system\";\nimport {\n AuthStore,\n clearAuth,\n EMPTY_PROFILE_ID,\n hasSelectedProfile,\n setCurrentAccountId,\n setCurrentProfileId,\n setCurrentProfileKind,\n setIsAuthValid,\n setTokens,\n useAuthStore,\n} from \"nfx-ui/stores/auth\";\nimport { ensureDeviceIdStorage } from \"nfx-ui/stores/system\";\nimport { pickProfile } from \"nfx-ui/utils/domain/account\";\nimport { useUnifiedQuery } from \"nfx-ui/utils/factory\";\nimport { safeOr, safeStringable } from \"nfx-ui/utils/safe\";\n\nimport { emitHookError, emitHookSuccess, type HookToastMessages } from \"./toast\";\n\nexport function useAuthQueryScope() {\n const aID = useAuthStore((s) => s.currentAccountId);\n const pID = useAuthStore((s) => s.currentProfileId);\n const isAuthValid = useAuthStore((s) => s.isAuthValid);\n const kind = useAuthStore((s) => s.currentProfileKind);\n return { aID, pID, isAuthValid, kind, profileScope: kind };\n}\n\nfunction useLogoutOnAuthError(isError: boolean, aID: string) {\n useEffect(() => {\n if (!isError || !AuthStore.getState().isAuthValid) return;\n if (!hasSelectedProfile(AuthStore.getState().currentProfileId)) return;\n authEventEmitter.emit(authEvents.LOGOUT, aID);\n clearAuth();\n }, [isError, aID]);\n}\n\nexport function useCurrentProfile(): CurrentProfileResult {\n const auth = useAuthRepository();\n const { aID, pID, isAuthValid, kind } = useAuthQueryScope();\n const result = useUnifiedQuery(\n ({ kind }: { kind: ProfileKindEnum }) => auth.GetCurrentFullAccountInformationWithProfile(kind),\n AUTH_ME(aID, pID),\n { kind },\n { enabled: isAuthValid && hasSelectedProfile(pID) },\n );\n useLogoutOnAuthError(result.isError, aID);\n return {\n kind,\n data: result.data,\n profile: pickProfile(kind, result.data),\n isLoading: result.isLoading,\n isError: result.isError,\n refetch: result.refetch,\n } as CurrentProfileResult;\n}\n\nexport const useSendVerificationCode = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (params: Signup.Request.SendVerificationCode) => auth.SendVerificationCode(params),\n onSuccess: () => {\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSendVerificationCode] error\");\n },\n });\n};\n\nexport const useSignupWithEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({\n rememberMe,\n ...params\n }: {\n rememberMe: boolean;\n } & Omit<Signup.Request.SignupWithEmail, \"deviceId\">): Promise<Signup.Response.SignupWithEmail> => {\n const deviceId = await ensureDeviceIdStorage();\n return auth.SignupWithEmail({\n ...params,\n deviceId,\n });\n },\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n if (result.profileId) {\n setCurrentProfileId(result.profileId);\n setCurrentProfileKind(ProfileKindEnum.COMMUNITY);\n authEventEmitter.emit(authEvents.LOGIN_SUCCESS, result.accountId);\n } else {\n setCurrentProfileId(EMPTY_PROFILE_ID);\n }\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSignup] error\");\n },\n });\n};\n\nexport const useLoginWithEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ rememberMe, ...params }: { email: string; password: string; rememberMe: boolean }) =>\n auth.LoginWithEmail({\n ...params,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setCurrentProfileId(EMPTY_PROFILE_ID);\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useLogin] error\");\n },\n });\n};\n\nexport const useLoginWithPhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ rememberMe, ...params }: { phone: string; password: string; rememberMe: boolean }) =>\n auth.LoginWithPhone({\n ...params,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onSuccess: (result, variables) => {\n if (!result?.accessToken) return;\n setCurrentProfileId(EMPTY_PROFILE_ID);\n setTokens(\n {\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n },\n { rememberMe: variables.rememberMe },\n );\n setIsAuthValid(true);\n if (result.accountId) setCurrentAccountId(result.accountId);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useLoginWithPhone] error\");\n },\n });\n};\n\nexport type SelectProfileOptions = HookToastMessages & {\n /** 已翻译的加载文案。Host-translated loading copy. */\n switchingMsg?: string;\n /** 与 token、档案同一次提交里执行(例如跳到该档案的首页)。Runs in the same commit as the token and profile. */\n onCommit?: () => void;\n};\n\n/** 两步登录第二步:切换当前 profile,重新签发 token。kind 决定后端分派到社区/权限档。 */\nexport const useSelectProfile = (options?: SelectProfileOptions) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: async ({ profileId, kind }: { profileId: string; kind: Login.ProfileKind }) =>\n auth.SelectProfile({\n profileId,\n kind,\n deviceId: await ensureDeviceIdStorage(),\n }),\n onMutate: () => {\n if (options?.switchingMsg) systemEventEmitter.showLoading(options.switchingMsg);\n },\n onSuccess: (result, variables) => {\n try {\n if (!result?.accessToken) return;\n // 同一次提交写入新 token 和档案,旧角色的请求在重拉前先停用。\n flushSync(() => {\n setTokens({\n accessToken: result.accessToken,\n refreshToken: safeStringable(result.refreshToken),\n });\n setCurrentProfileKind(variables.kind);\n if (result.profileId) setCurrentProfileId(result.profileId);\n options?.onCommit?.();\n });\n authEventEmitter.emit(authEvents.LOGIN_SUCCESS, result.accountId);\n } finally {\n systemEventEmitter.hideLoading();\n }\n },\n onError: (error: AxiosError) => {\n systemEventEmitter.hideLoading();\n emitHookError(error, options, \"[useSelectProfile] error\");\n },\n });\n};\n\nexport const usePatchProfile = (options?: { silent?: boolean } & HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n const silent = safeOr(options?.silent, false);\n return useMutation({\n mutationFn: (body: Profile.Request.PatchProfile) => auth.PatchProfile(kind, body),\n onSuccess: () => {\n if (!silent) emitHookSuccess(options);\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind });\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[usePatchProfile] error\", silent);\n },\n });\n};\n\nexport const useUpdateProfileSettings = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (body: Profile.Request.PatchProfileSettings) => auth.PatchProfileSettings(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useUpdateProfileSettings] error\");\n },\n });\n};\n\nexport const useUpdatePreference = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (preference: string) => auth.UpdatePreference(kind, preference),\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useUpdatePreference] error\");\n },\n });\n};\n\nexport const useListProfiles = <K extends ProfileKindEnum>(kind: K) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(\n () => auth.ListProfiles(kind, { limit: 50, offset: 0 }),\n AUTH_PROFILES(aID, kind),\n undefined,\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useCreateForgerProfile = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.CreateForgerProfile) => auth.CreateForgerProfile(body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: ProfileKindEnum.COMMUNITY });\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useCreateForgerProfile] error\");\n },\n });\n};\n\nexport const useCreateAuthorityProfile = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.CreateAuthorityProfile) => auth.CreateAuthorityProfile(body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: ProfileKindEnum.AUTHORITY });\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useCreateAuthorityProfile] error\");\n },\n });\n};\n\nexport const useDeleteProfile = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: ({ kind, profileId }: { kind: ProfileKindEnum; profileId: string }) => auth.DeleteProfile(kind, profileId),\n onSuccess: (_void, variables) => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.invalidateProfiles({ aID, kind: variables.kind });\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useDeleteProfile] error\");\n },\n });\n};\n\nexport const useConfirmProfileAvatar = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (body: Profile.Request.ConfirmProfileAvatar) => auth.ConfirmProfileAvatar(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useConfirmProfileAvatar] error\");\n },\n });\n};\n\nexport const useClearProfileAvatar = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: () => auth.ClearProfileAvatar(kind),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useClearProfileAvatar] error\");\n },\n });\n};\n\nexport const useListEmails = () => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(() => auth.ListEmails({ limit: 50, offset: 0 }), AUTH_EMAILS(aID), undefined, {\n enabled: isAuthValid && Boolean(aID),\n });\n};\n\nexport const useListPhones = () => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(() => auth.ListPhones({ limit: 50, offset: 0 }), AUTH_PHONES(aID), undefined, {\n enabled: isAuthValid && Boolean(aID),\n });\n};\n\nexport const useCreateEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (body: Login.Request.CreateEmail) => auth.CreateEmail(body),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useCreateEmail] error\");\n },\n });\n};\n\nexport const useSendEmailVerificationCode = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: ({ emailId, lang }: { emailId: string; lang?: LanguageEnum }) => auth.SendEmailVerificationCode(emailId, { lang }),\n onSuccess: () => {\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSendEmailVerificationCode] error\");\n },\n });\n};\n\nexport const useVerifyEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: ({ emailId, verificationCode }: { emailId: string; verificationCode: string }) =>\n auth.VerifyEmail(emailId, { verificationCode }),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useVerifyEmail] error\");\n },\n });\n};\n\nexport const useUpdateEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: ({ emailId, email }: { emailId: string; email: string }) => auth.UpdateEmail(emailId, { email }),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useUpdateEmail] error\");\n },\n });\n};\n\nexport const useSetPrimaryEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (emailId: string) => auth.SetPrimaryEmail(emailId),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSetPrimaryEmail] error\");\n },\n });\n};\n\nexport const useDeleteEmail = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (emailId: string) => auth.DeleteEmail(emailId),\n onSuccess: () => {\n authEventEmitter.invalidateEmails(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useDeleteEmail] error\");\n },\n });\n};\n\nexport const useSendChangePasswordVerificationCode = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.SendChangePasswordVerificationCode = {}) => auth.SendChangePasswordVerificationCode(body),\n onSuccess: () => {\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSendChangePasswordVerificationCode] error\");\n },\n });\n};\n\nexport const useChangePassword = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (body: Login.Request.ChangePassword) => auth.ChangePassword(body),\n onSuccess: () => {\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useChangePassword] error\");\n },\n });\n};\n\nexport const useConfirmProfileBackgrounds = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const { kind } = useAuthQueryScope();\n return useMutation({\n mutationFn: (body: Profile.Request.ConfirmProfileBackgrounds) => auth.ConfirmProfileBackgrounds(kind, body),\n onSuccess: () => {\n const aID = AuthStore.getState().currentAccountId;\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, aID);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useConfirmProfileBackgrounds] error\");\n },\n });\n};\n\nexport const useCreatePhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (body: Login.Request.CreatePhone) => auth.CreatePhone(body),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useCreatePhone] error\");\n },\n });\n};\n\nexport const useSendPhoneVerificationCode = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n return useMutation({\n mutationFn: (phoneId: string) => auth.SendPhoneVerificationCode(phoneId),\n onSuccess: () => {\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSendPhoneVerificationCode] error\");\n },\n });\n};\n\nexport const useVerifyPhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: ({ phoneId, verificationCode }: { phoneId: string; verificationCode: string }) =>\n auth.VerifyPhone(phoneId, { verificationCode }),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useVerifyPhone] error\");\n },\n });\n};\n\nexport const useUpdatePhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: ({ phoneId, phone }: { phoneId: string; phone: string }) => auth.UpdatePhone(phoneId, { phone }),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useUpdatePhone] error\");\n },\n });\n};\n\nexport const useSetPrimaryPhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (phoneId: string) => auth.SetPrimaryPhone(phoneId),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n authEventEmitter.emit(authEvents.UPDATE_ACCOUNT_SUCCESS, accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useSetPrimaryPhone] error\");\n },\n });\n};\n\nexport const useDeletePhone = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: (phoneId: string) => auth.DeletePhone(phoneId),\n onSuccess: () => {\n authEventEmitter.invalidatePhones(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useDeletePhone] error\");\n },\n });\n};\n\nexport const useSearchForgerProfiles = (query: string) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.SearchForgerProfiles({ query: q, limit: 50, offset: 0 }),\n AUTH_PROFILE_SEARCH(aID, ProfileKindEnum.COMMUNITY, trimmed),\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) && trimmed.length > 0 },\n );\n};\n\nexport const useSearchAuthorityProfiles = (query: string) => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.SearchAuthorityProfiles({ query: q, limit: 50, offset: 0 }),\n AUTH_PROFILE_SEARCH(aID, ProfileKindEnum.AUTHORITY, trimmed),\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) && trimmed.length > 0 },\n );\n};\n\nexport const useGetPublicProfileCard = (profileId: string) => {\n const auth = useAuthRepository();\n const { isAuthValid } = useAuthQueryScope();\n return useUnifiedQuery(\n () => auth.GetPublicProfileCard(profileId),\n AUTH_PUBLIC_CARD(profileId),\n undefined,\n { enabled: isAuthValid && Boolean(profileId) },\n );\n};\n\nexport const useListOwnerForgerProfiles = (query = \"\") => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.ListOwnerForgerProfiles({ limit: 50, offset: 0, query: q || undefined }),\n [...AUTH_OWNER_FORGERS(aID), trimmed],\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useListOwnerAuthorityProfiles = (query = \"\") => {\n const auth = useAuthRepository();\n const { aID, isAuthValid } = useAuthQueryScope();\n const trimmed = query.trim();\n return useUnifiedQuery(\n ({ query: q }) => auth.ListOwnerAuthorityProfiles({ limit: 50, offset: 0, query: q || undefined }),\n [...AUTH_OWNER_AUTHORITIES(aID), trimmed],\n { query: trimmed },\n { enabled: isAuthValid && Boolean(aID) },\n );\n};\n\nexport const useUpdateAuthorityProfileRoles = (options?: HookToastMessages) => {\n const auth = useAuthRepository();\n const accountId = AuthStore.getState().currentAccountId;\n return useMutation({\n mutationFn: ({ profileId, authorityRoles }: { profileId: string; authorityRoles: Profile.Request.UpdateAuthorityProfileRoles[\"authorityRoles\"] }) =>\n auth.UpdateAuthorityProfileRoles(profileId, { authorityRoles }),\n onSuccess: () => {\n authEventEmitter.invalidateOwner(accountId);\n emitHookSuccess(options);\n },\n onError: (error: AxiosError) => {\n emitHookError(error, options, \"[useUpdateAuthorityProfileRoles] error\");\n },\n });\n};\n\nexport { hasSelectedProfile, AuthStore, useAuthStore };\nexport { LanguageEnum, AuthSignupPlatformEnum };\n"],"mappings":"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"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,GACd,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,GACd,MAAM,wBAAwB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -3,11 +3,12 @@ import { AuthSignupPlatformEnum as t } from "../enums/auth.js";
|
|
|
3
3
|
import { AuthStore as n, hasSelectedProfile as r, useAuthStore as i } from "../stores/auth.js";
|
|
4
4
|
import { makeCursorFetchFunction as a, makeStringCursorFetchFunction as o, useUnifiedInfiniteQuery as s, useUnifiedQuery as c, useUnifiedSuspenseInfiniteQuery as l, useUnifiedSuspenseQuery as u } from "../utils/factory/hooks.js";
|
|
5
5
|
import { useAssetFileURL as d, useConfirmImageUpload as f, useConfirmUpload as p, useDeleteAsset as m, useDeleteImage as h, useListAssets as g, usePrepareImageUpload as _, usePrepareUpload as v } from "./asset.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
6
|
+
import { emitHookError as y, emitHookSuccess as b } from "./toast.js";
|
|
7
|
+
import { useAuthQueryScope as x, useChangePassword as S, useClearProfileAvatar as C, useConfirmProfileAvatar as w, useConfirmProfileBackgrounds as T, useCreateAuthorityProfile as E, useCreateEmail as D, useCreateForgerProfile as O, useCreatePhone as k, useCurrentProfile as A, useDeleteEmail as j, useDeletePhone as M, useDeleteProfile as N, useGetPublicProfileCard as P, useListEmails as F, useListOwnerAuthorityProfiles as I, useListOwnerForgerProfiles as L, useListPhones as R, useListProfiles as z, useLoginWithEmail as B, useLoginWithPhone as V, usePatchProfile as H, useSearchAuthorityProfiles as U, useSearchForgerProfiles as W, useSelectProfile as G, useSendChangePasswordVerificationCode as K, useSendEmailVerificationCode as q, useSendPhoneVerificationCode as J, useSendVerificationCode as Y, useSetPrimaryEmail as X, useSetPrimaryPhone as Z, useSignupWithEmail as Q, useUpdateAuthorityProfileRoles as $, useUpdateEmail as ee, useUpdatePhone as te, useUpdatePreference as ne, useUpdateProfileSettings as re, useVerifyEmail as ie, useVerifyPhone as ae } from "./auth.js";
|
|
8
|
+
import { useDebouncedValue as oe, useLockDocumentScrollOnDesktop as se, useWheelHorizontalScroll as ce } from "./dom.js";
|
|
9
|
+
import { configurePreferenceSync as le, useApplyPreferenceOnLoad as ue, useResolvedAppearance as de, useSyncPreference as fe } from "./preference.js";
|
|
10
|
+
import { getBaseDisplayName as pe, getLanguageDisplayName as me, useBaseLabel as he, useLanguageLabel as ge } from "../languages/hooks/useLanguageLabel.js";
|
|
11
|
+
import { getLayoutDisplayName as _e, useLayoutLabel as ve } from "../languages/hooks/useLayoutLabel.js";
|
|
12
|
+
import { getPreferenceDisplayName as ye, usePreferenceLabel as be } from "../languages/hooks/usePreferenceLabel.js";
|
|
13
|
+
import { getThemeDisplayName as xe, useThemeLabel as Se } from "../languages/hooks/useThemeLabel.js";
|
|
14
|
+
export { t as AuthSignupPlatformEnum, n as AuthStore, e as LanguageEnum, le as configurePreferenceSync, y as emitHookError, b as emitHookSuccess, pe as getBaseDisplayName, me as getLanguageDisplayName, _e as getLayoutDisplayName, ye as getPreferenceDisplayName, xe as getThemeDisplayName, r as hasSelectedProfile, a as makeCursorFetchFunction, o as makeStringCursorFetchFunction, ue as useApplyPreferenceOnLoad, d as useAssetFileURL, x as useAuthQueryScope, i as useAuthStore, he as useBaseLabel, S as useChangePassword, C as useClearProfileAvatar, f as useConfirmImageUpload, w as useConfirmProfileAvatar, T as useConfirmProfileBackgrounds, p as useConfirmUpload, E as useCreateAuthorityProfile, D as useCreateEmail, O as useCreateForgerProfile, k as useCreatePhone, A as useCurrentProfile, oe as useDebouncedValue, m as useDeleteAsset, j as useDeleteEmail, h as useDeleteImage, M as useDeletePhone, N as useDeleteProfile, P as useGetPublicProfileCard, ge as useLanguageLabel, ve as useLayoutLabel, g as useListAssets, F as useListEmails, I as useListOwnerAuthorityProfiles, L as useListOwnerForgerProfiles, R as useListPhones, z as useListProfiles, se as useLockDocumentScrollOnDesktop, B as useLoginWithEmail, V as useLoginWithPhone, H as usePatchProfile, be as usePreferenceLabel, _ as usePrepareImageUpload, v as usePrepareUpload, de as useResolvedAppearance, U as useSearchAuthorityProfiles, W as useSearchForgerProfiles, G as useSelectProfile, K as useSendChangePasswordVerificationCode, q as useSendEmailVerificationCode, J as useSendPhoneVerificationCode, Y as useSendVerificationCode, X as useSetPrimaryEmail, Z as useSetPrimaryPhone, Q as useSignupWithEmail, fe as useSyncPreference, Se as useThemeLabel, s as useUnifiedInfiniteQuery, c as useUnifiedQuery, l as useUnifiedSuspenseInfiniteQuery, u as useUnifiedSuspenseQuery, $ as useUpdateAuthorityProfileRoles, ee as useUpdateEmail, te as useUpdatePhone, ne as useUpdatePreference, re as useUpdateProfileSettings, ie as useVerifyEmail, ae as useVerifyPhone, ce as useWheelHorizontalScroll };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AxiosError } from 'axios';
|
|
2
|
+
/**
|
|
3
|
+
* Host resolves copy with its own `t`, then passes ready-to-show strings.
|
|
4
|
+
* Package mutation hooks never call `useTranslation`.
|
|
5
|
+
*/
|
|
6
|
+
export type HookToastMessages = {
|
|
7
|
+
successMsg?: string;
|
|
8
|
+
failMsg?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function emitHookSuccess(toasts?: HookToastMessages, silent?: boolean): void;
|
|
11
|
+
export declare function emitHookError(error: AxiosError, toasts?: HookToastMessages, fallback?: string, silent?: boolean): void;
|
|
12
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/hooks/toast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKxC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,MAAM,UAAQ,QAGzE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,QAAQ,SAAmB,EAAE,MAAM,UAAQ,QAGvH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getApiErrorMessage as e } from "../utils/apiError.js";
|
|
2
|
+
import { systemEventEmitter as t } from "../events/system.js";
|
|
3
|
+
//#region src/hooks/toast.ts
|
|
4
|
+
function n(e, n = !1) {
|
|
5
|
+
!n && e?.successMsg && t.showSuccess(e.successMsg);
|
|
6
|
+
}
|
|
7
|
+
function r(n, r, i = "Request failed", a = !1) {
|
|
8
|
+
a || t.showError(e(n, r?.failMsg ?? i));
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { r as emitHookError, n as emitHookSuccess };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","names":[],"sources":["../../src/hooks/toast.ts"],"sourcesContent":["import type { AxiosError } from \"axios\";\n\nimport { systemEventEmitter } from \"nfx-ui/events/system\";\nimport { getApiErrorMessage } from \"nfx-ui/utils/apiError\";\n\n/**\n * Host resolves copy with its own `t`, then passes ready-to-show strings.\n * Package mutation hooks never call `useTranslation`.\n */\nexport type HookToastMessages = {\n successMsg?: string;\n failMsg?: string;\n};\n\nexport function emitHookSuccess(toasts?: HookToastMessages, silent = false) {\n if (silent || !toasts?.successMsg) return;\n systemEventEmitter.showSuccess(toasts.successMsg);\n}\n\nexport function emitHookError(error: AxiosError, toasts?: HookToastMessages, fallback = \"Request failed\", silent = false) {\n if (silent) return;\n systemEventEmitter.showError(getApiErrorMessage(error, toasts?.failMsg ?? fallback));\n}\n"],"mappings":";;;AAcA,SAAgB,EAAgB,GAA4B,IAAS,IAAO;CACtE,MAAW,GAAQ,cACvB,EAAmB,YAAY,EAAO,UAAU;AAClD;AAEA,SAAgB,EAAc,GAAmB,GAA4B,IAAW,kBAAkB,IAAS,IAAO;CACpH,KACJ,EAAmB,UAAU,EAAmB,GAAO,GAAQ,WAAW,CAAQ,CAAC;AACrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLanguageLabel.d.ts","sourceRoot":"","sources":["../../../src/languages/hooks/useLanguageLabel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLanguageLabel.d.ts","sourceRoot":"","sources":["../../../src/languages/hooks/useLanguageLabel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAWxC,wBAAgB,gBAAgB,IAAI;IAClC,sBAAsB,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;CACxD,CAQA;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAOjE;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,IAAI;IAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;CAChD,CAEA;AAED,OAAO,EAAE,sBAAsB,IAAI,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import { LanguageEnum as e } from "../../enums/language.js";
|
|
2
2
|
import t from "i18next";
|
|
3
|
-
import { useTranslation as n } from "react-i18next";
|
|
4
3
|
//#region src/languages/hooks/useLanguageLabel.ts
|
|
5
|
-
function
|
|
4
|
+
function n(t) {
|
|
6
5
|
return {
|
|
7
6
|
[e.EN]: "languageSwitcher.english",
|
|
8
7
|
[e.ZH]: "languageSwitcher.chinese",
|
|
9
8
|
[e.FR]: "languageSwitcher.french"
|
|
10
9
|
}[t];
|
|
11
10
|
}
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
function r() {
|
|
12
|
+
return { getLanguageDisplayName: (e) => t.t(n(e), {
|
|
13
|
+
ns: "language",
|
|
14
|
+
defaultValue: e
|
|
15
|
+
}) };
|
|
15
16
|
}
|
|
16
|
-
function
|
|
17
|
+
function i(t) {
|
|
17
18
|
return {
|
|
18
19
|
[e.EN]: "English",
|
|
19
20
|
[e.ZH]: "中文",
|
|
20
21
|
[e.FR]: "Français"
|
|
21
22
|
}[t];
|
|
22
23
|
}
|
|
23
|
-
function
|
|
24
|
+
function a(e) {
|
|
24
25
|
return t.t("baseSwitcher." + e, {
|
|
25
26
|
ns: "theme",
|
|
26
27
|
defaultValue: e
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
|
-
function
|
|
30
|
-
return { getBaseDisplayName:
|
|
30
|
+
function o() {
|
|
31
|
+
return { getBaseDisplayName: a };
|
|
31
32
|
}
|
|
32
33
|
//#endregion
|
|
33
|
-
export {
|
|
34
|
+
export { a as getBaseDisplayName, i as getLanguageDisplayName, o as useBaseLabel, r as useLanguageLabel };
|
|
34
35
|
|
|
35
36
|
//# sourceMappingURL=useLanguageLabel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLanguageLabel.js","names":[],"sources":["../../../src/languages/hooks/useLanguageLabel.ts"],"sourcesContent":["import i18n from \"i18next\";\
|
|
1
|
+
{"version":3,"file":"useLanguageLabel.js","names":[],"sources":["../../../src/languages/hooks/useLanguageLabel.ts"],"sourcesContent":["import i18n from \"i18next\";\n\nimport { BaseEnum } from \"nfx-ui/enums/theme\";\nimport { LanguageEnum } from \"../types\";\n\nfunction getLanguageI18nKey(lang: LanguageEnum): string {\n const keyMap: Record<LanguageEnum, string> = {\n [LanguageEnum.EN]: \"languageSwitcher.english\",\n [LanguageEnum.ZH]: \"languageSwitcher.chinese\",\n [LanguageEnum.FR]: \"languageSwitcher.french\",\n };\n return keyMap[lang];\n}\n\nexport function useLanguageLabel(): {\n getLanguageDisplayName: (lang: LanguageEnum) => string;\n} {\n const getLanguageDisplayName = (lang: LanguageEnum): string =>\n i18n.t(getLanguageI18nKey(lang), {\n ns: \"language\",\n defaultValue: lang,\n });\n\n return { getLanguageDisplayName };\n}\n\nexport function getLanguageDisplayName(lang: LanguageEnum): string {\n const fallbackMap: Record<LanguageEnum, string> = {\n [LanguageEnum.EN]: \"English\",\n [LanguageEnum.ZH]: \"中文\",\n [LanguageEnum.FR]: \"Français\",\n };\n return fallbackMap[lang];\n}\n\nfunction getBaseDisplayNameImpl(base: BaseEnum): string {\n return i18n.t(\"baseSwitcher.\" + base, { ns: \"theme\", defaultValue: base });\n}\n\nexport function useBaseLabel(): {\n getBaseDisplayName: (base: BaseEnum) => string;\n} {\n return { getBaseDisplayName: getBaseDisplayNameImpl };\n}\n\nexport { getBaseDisplayNameImpl as getBaseDisplayName };\n"],"mappings":";;;AAKA,SAAS,EAAmB,GAA4B;CAMtD,OAAO;GAJJ,EAAa,KAAK;GAClB,EAAa,KAAK;GAClB,EAAa,KAAK;CAEd,EAAO;AAChB;AAEA,SAAgB,IAEd;CAOA,OAAO,EAAE,yBANuB,MAC9B,EAAK,EAAE,EAAmB,CAAI,GAAG;EAC/B,IAAI;EACJ,cAAc;CAChB,CAAC,EAE6B;AAClC;AAEA,SAAgB,EAAuB,GAA4B;CAMjE,OAAO;GAJJ,EAAa,KAAK;GAClB,EAAa,KAAK;GAClB,EAAa,KAAK;CAEd,EAAY;AACrB;AAEA,SAAS,EAAuB,GAAwB;CACtD,OAAO,EAAK,EAAE,kBAAkB,GAAM;EAAE,IAAI;EAAS,cAAc;CAAK,CAAC;AAC3E;AAEA,SAAgB,IAEd;CACA,OAAO,EAAE,oBAAoB,EAAuB;AACtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/languages/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { DEFAULT_LANGUAGE as e, LANGUAGE_VALUES as t, Language as n, LanguageEnum as r } from "../enums/language.js";
|
|
2
|
-
import
|
|
3
|
-
import s,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
export { e as DEFAULT_LANGUAGE, t as LANGUAGE_VALUES, n as Language, r as LanguageEnum, i as NFX_NAMESPACES, a as NFX_NAMESPACES_MAP, b as changeLanguage, x as createI18nResources, u as getBaseDisplayName, o as getDefaultNfxBundles, d as getLanguageDisplayName, C as getLanguageStorage, m as getLayoutDisplayName, S as getLocalLanguage, g as getPreferenceDisplayName, v as getThemeDisplayName, s as i18n, c as initI18n, w as removeLanguageStorage, T as setLanguageStorage, l as toSupportedLanguage, f as useBaseLabel, p as useLanguageLabel, h as useLayoutLabel, _ as usePreferenceLabel, y as useThemeLabel };
|
|
2
|
+
import i, { initI18n as a, toSupportedLanguage as o } from "./languages/i18n.js";
|
|
3
|
+
import { getBaseDisplayName as s, getLanguageDisplayName as c, useBaseLabel as l, useLanguageLabel as u } from "./hooks/useLanguageLabel.js";
|
|
4
|
+
import { getLayoutDisplayName as d, useLayoutLabel as f } from "./hooks/useLayoutLabel.js";
|
|
5
|
+
import { getPreferenceDisplayName as p, usePreferenceLabel as m } from "./hooks/usePreferenceLabel.js";
|
|
6
|
+
import { getThemeDisplayName as h, useThemeLabel as g } from "./hooks/useThemeLabel.js";
|
|
7
|
+
import { changeLanguage as _, createI18nResources as v } from "./languages/i18nResources.js";
|
|
8
|
+
import { getLocalLanguage as y } from "./utils/getLocalLanguage.js";
|
|
9
|
+
import { getLanguageStorage as b, removeLanguageStorage as x, setLanguageStorage as S } from "./utils/languageStorage.js";
|
|
10
|
+
export { e as DEFAULT_LANGUAGE, t as LANGUAGE_VALUES, n as Language, r as LanguageEnum, _ as changeLanguage, v as createI18nResources, s as getBaseDisplayName, c as getLanguageDisplayName, b as getLanguageStorage, d as getLayoutDisplayName, y as getLocalLanguage, p as getPreferenceDisplayName, h as getThemeDisplayName, i as i18n, a as initI18n, x as removeLanguageStorage, S as setLanguageStorage, o as toSupportedLanguage, l as useBaseLabel, u as useLanguageLabel, f as useLayoutLabel, m as usePreferenceLabel, g as useThemeLabel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/languages/languages/i18n.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAA8C,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B,OAAO,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/languages/languages/i18n.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAA8C,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5F,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B,OAAO,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAC;AAItE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAG,YAAY,CAGxF;AAkBD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuDvD;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -1,52 +1,41 @@
|
|
|
1
1
|
import { safeEnum as e, safeStringable as t } from "../../utils/safe.js";
|
|
2
2
|
import { LANGUAGE_VALUES as n, LanguageEnum as r } from "../../enums/language.js";
|
|
3
3
|
import { PreferenceStore as i, setPreference as a } from "../../stores/preference.js";
|
|
4
|
-
import
|
|
5
|
-
import s from "i18next";
|
|
6
|
-
import c from "i18next
|
|
7
|
-
import { initReactI18next as l } from "react-i18next";
|
|
4
|
+
import o from "i18next";
|
|
5
|
+
import s from "i18next-browser-languagedetector";
|
|
6
|
+
import { initReactI18next as c } from "react-i18next";
|
|
8
7
|
//#region src/languages/languages/i18n.ts
|
|
9
|
-
function
|
|
8
|
+
function l(r, i) {
|
|
10
9
|
let a = t(r.split("-")[0]?.toLowerCase());
|
|
11
10
|
return e(a || void 0, n, i);
|
|
12
11
|
}
|
|
13
|
-
function
|
|
14
|
-
typeof document > "u" || (document.documentElement.lang =
|
|
12
|
+
function u(e, t) {
|
|
13
|
+
typeof document > "u" || (document.documentElement.lang = l(e, t));
|
|
15
14
|
}
|
|
16
|
-
var
|
|
17
|
-
function
|
|
18
|
-
let r =
|
|
19
|
-
for (let { namespace: e, bundle: t } of n) e && t && typeof t == "object" &&
|
|
15
|
+
var d = !1;
|
|
16
|
+
function f(e, t, n) {
|
|
17
|
+
let r = l(e, t);
|
|
18
|
+
for (let { namespace: e, bundle: t } of n) e && t && typeof t == "object" && o.addResourceBundle(r, e, t, !0, !0);
|
|
20
19
|
}
|
|
21
|
-
function
|
|
20
|
+
function p(e) {
|
|
22
21
|
let t = e.fallbackLng ?? r.ZH;
|
|
23
|
-
if (
|
|
24
|
-
|
|
22
|
+
if (o.isInitialized) {
|
|
23
|
+
u(o.language || t, t);
|
|
25
24
|
return;
|
|
26
25
|
}
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
...e,
|
|
33
|
-
[t]: {
|
|
34
|
-
...m.RESOURCES[t] ?? {},
|
|
35
|
-
...h.RESOURCES[t] ?? {}
|
|
36
|
-
}
|
|
37
|
-
}), {}), _ = [...h.NAME_SPACES, ...m.NAME_SPACES.filter((e) => !h.NAME_SPACES.includes(e))], v = i.getState().language;
|
|
38
|
-
f ||= (s.on("languageChanged", (e) => {
|
|
39
|
-
let n = u(e, t);
|
|
40
|
-
a({ language: n }), d(n, t);
|
|
41
|
-
}), !0), s.use(c).use(l).init({
|
|
26
|
+
let { RESOURCES: p, NAME_SPACES: m } = e.getBuiltinBundles(), h = i.getState().language;
|
|
27
|
+
d ||= (o.on("languageChanged", (e) => {
|
|
28
|
+
let n = l(e, t);
|
|
29
|
+
a({ language: n }), u(n, t);
|
|
30
|
+
}), !0), o.use(s).use(c).init({
|
|
42
31
|
compatibilityJSON: "v4",
|
|
43
|
-
resources:
|
|
44
|
-
lng:
|
|
32
|
+
resources: p,
|
|
33
|
+
lng: h,
|
|
45
34
|
fallbackLng: t,
|
|
46
35
|
supportedLngs: [...n],
|
|
47
36
|
load: "languageOnly",
|
|
48
|
-
ns:
|
|
49
|
-
defaultNS:
|
|
37
|
+
ns: m,
|
|
38
|
+
defaultNS: m[0],
|
|
50
39
|
interpolation: { escapeValue: !1 },
|
|
51
40
|
keySeparator: ".",
|
|
52
41
|
detection: {
|
|
@@ -58,18 +47,18 @@ function m(e) {
|
|
|
58
47
|
],
|
|
59
48
|
caches: []
|
|
60
49
|
}
|
|
61
|
-
}),
|
|
62
|
-
let
|
|
63
|
-
if (
|
|
50
|
+
}), u(o.language || h || t, t);
|
|
51
|
+
let g = e.onLoadExtraBundles;
|
|
52
|
+
if (g) {
|
|
64
53
|
let e = async (e) => {
|
|
65
|
-
let n = await
|
|
66
|
-
n != null &&
|
|
54
|
+
let n = await g(l(e, t));
|
|
55
|
+
n != null && f(e, t, Array.isArray(n) ? n : [n]);
|
|
67
56
|
};
|
|
68
|
-
e(
|
|
57
|
+
e(o.language || t), o.on("languageChanged", (t) => void e(t));
|
|
69
58
|
}
|
|
70
59
|
}
|
|
71
|
-
var
|
|
60
|
+
var m = o;
|
|
72
61
|
//#endregion
|
|
73
|
-
export {
|
|
62
|
+
export { m as default, p as initI18n, l as toSupportedLanguage };
|
|
74
63
|
|
|
75
64
|
//# sourceMappingURL=i18n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":[],"sources":["../../../src/languages/languages/i18n.ts"],"sourcesContent":["/**\n * i18n
|
|
1
|
+
{"version":3,"file":"i18n.js","names":[],"sources":["../../../src/languages/languages/i18n.ts"],"sourcesContent":["/**\n * Shared i18n init — host injects builtin bundles via `getBuiltinBundles`.\n * Product JSON stays in each console's language folder.\n */\nimport type { CreateI18nResourcesResult, ExtraBundleItem, InitI18nOptions } from \"../types\";\n\nimport i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { LanguageEnum, LANGUAGE_VALUES } from \"nfx-ui/enums/language\";\nimport { PreferenceStore, setPreference } from \"nfx-ui/stores/preference\";\nimport { safeEnum, safeStringable } from \"nfx-ui/utils/safe\";\n\nexport function toSupportedLanguage(lng: string, fallbackLng: LanguageEnum): LanguageEnum {\n const prefix = safeStringable(lng.split(\"-\")[0]?.toLowerCase());\n return safeEnum<LanguageEnum>(prefix || undefined, LANGUAGE_VALUES, fallbackLng);\n}\n\nfunction applyDocumentLang(lng: string, fallbackLng: LanguageEnum) {\n if (typeof document === \"undefined\") return;\n document.documentElement.lang = toSupportedLanguage(lng, fallbackLng);\n}\n\nlet languagePersistAttached = false;\n\nfunction applyExtraBundles(lng: string, fallbackLng: LanguageEnum, items: ExtraBundleItem[]) {\n const code = toSupportedLanguage(lng, fallbackLng);\n for (const { namespace, bundle } of items) {\n if (namespace && bundle && typeof bundle === \"object\") {\n i18n.addResourceBundle(code, namespace, bundle, true, true);\n }\n }\n}\n\nexport function initI18n(options: InitI18nOptions): void {\n const fallbackLng = options.fallbackLng ?? LanguageEnum.ZH;\n\n if (i18n.isInitialized) {\n applyDocumentLang(i18n.language || fallbackLng, fallbackLng);\n return;\n }\n\n const { RESOURCES, NAME_SPACES }: CreateI18nResourcesResult = options.getBuiltinBundles();\n const initialLng = PreferenceStore.getState().language;\n\n const persistLanguage = (lng: string) => {\n const code = toSupportedLanguage(lng, fallbackLng);\n setPreference({ language: code });\n applyDocumentLang(code, fallbackLng);\n };\n\n if (!languagePersistAttached) {\n i18n.on(\"languageChanged\", persistLanguage);\n languagePersistAttached = true;\n }\n\n i18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n compatibilityJSON: \"v4\",\n resources: RESOURCES,\n lng: initialLng,\n fallbackLng,\n supportedLngs: [...LANGUAGE_VALUES],\n load: \"languageOnly\",\n ns: NAME_SPACES,\n defaultNS: NAME_SPACES[0],\n interpolation: { escapeValue: false },\n keySeparator: \".\",\n detection: {\n order: [\"navigator\", \"htmlTag\", \"path\", \"subdomain\"],\n caches: [],\n },\n });\n\n applyDocumentLang(i18n.language || initialLng || fallbackLng, fallbackLng);\n\n const onLoad = options.onLoadExtraBundles;\n if (onLoad) {\n const apply = async (lng: string) => {\n const result = await onLoad(toSupportedLanguage(lng, fallbackLng));\n if (result == null) return;\n const items = Array.isArray(result) ? result : [result];\n applyExtraBundles(lng, fallbackLng, items);\n };\n void apply(i18n.language || fallbackLng);\n i18n.on(\"languageChanged\", (lng) => void apply(lng));\n }\n}\n\nexport default i18n;\n"],"mappings":";;;;;;;AAcA,SAAgB,EAAoB,GAAa,GAAyC;CACxF,IAAM,IAAS,EAAe,EAAI,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC;CAC9D,OAAO,EAAuB,KAAU,KAAA,GAAW,GAAiB,CAAW;AACjF;AAEA,SAAS,EAAkB,GAAa,GAA2B;CAC7D,OAAO,WAAa,QACxB,SAAS,gBAAgB,OAAO,EAAoB,GAAK,CAAW;AACtE;AAEA,IAAI,IAA0B;AAE9B,SAAS,EAAkB,GAAa,GAA2B,GAA0B;CAC3F,IAAM,IAAO,EAAoB,GAAK,CAAW;CACjD,KAAK,IAAM,EAAE,cAAW,eAAY,GAClC,AAAI,KAAa,KAAU,OAAO,KAAW,YAC3C,EAAK,kBAAkB,GAAM,GAAW,GAAQ,IAAM,EAAI;AAGhE;AAEA,SAAgB,EAAS,GAAgC;CACvD,IAAM,IAAc,EAAQ,eAAe,EAAa;CAExD,IAAI,EAAK,eAAe;EACtB,EAAkB,EAAK,YAAY,GAAa,CAAW;EAC3D;CACF;CAEA,IAAM,EAAE,cAAW,mBAA2C,EAAQ,kBAAkB,GAClF,IAAa,EAAgB,SAAS,CAAC,CAAC;CAiC9C,AAzBA,AAEE,OADA,EAAK,GAAG,oBAPe,MAAgB;EACvC,IAAM,IAAO,EAAoB,GAAK,CAAW;EAEjD,AADA,EAAc,EAAE,UAAU,EAAK,CAAC,GAChC,EAAkB,GAAM,CAAW;CACrC,CAG4C,GAChB,KAG5B,EACG,IAAI,CAAgB,CAAC,CACrB,IAAI,CAAgB,CAAC,CACrB,KAAK;EACJ,mBAAmB;EACnB,WAAW;EACX,KAAK;EACL;EACA,eAAe,CAAC,GAAG,CAAe;EAClC,MAAM;EACN,IAAI;EACJ,WAAW,EAAY;EACvB,eAAe,EAAE,aAAa,GAAM;EACpC,cAAc;EACd,WAAW;GACT,OAAO;IAAC;IAAa;IAAW;IAAQ;GAAW;GACnD,QAAQ,CAAC;EACX;CACF,CAAC,GAEH,EAAkB,EAAK,YAAY,KAAc,GAAa,CAAW;CAEzE,IAAM,IAAS,EAAQ;CACvB,IAAI,GAAQ;EACV,IAAM,IAAQ,OAAO,MAAgB;GACnC,IAAM,IAAS,MAAM,EAAO,EAAoB,GAAK,CAAW,CAAC;GAC7D,KAAU,QAEd,EAAkB,GAAK,GADT,MAAM,QAAQ,CAAM,IAAI,IAAS,CAAC,CAAM,CACb;EAC3C;EAEA,AADA,EAAW,EAAK,YAAY,CAAW,GACvC,EAAK,GAAG,oBAAoB,MAAQ,KAAK,EAAM,CAAG,CAAC;CACrD;AACF;AAEA,IAAA,IAAe"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { TFunction } from 'i18next';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
/**
|
|
3
|
+
/** 登录表单;校验文案由 host 页面传入的 `t` 提供(`form.validation.*`)。 */
|
|
4
4
|
export declare function createLoginSchema(t: TFunction): z.ZodObject<{
|
|
5
5
|
email: z.ZodString;
|
|
6
6
|
password: z.ZodString;
|
|
7
7
|
rememberMe: z.ZodOptional<z.ZodBoolean>;
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
export type LoginFormData = z.infer<ReturnType<typeof createLoginSchema>>;
|
|
10
|
-
export declare const useInitLoginForm: () => import('react-hook-form').UseFormReturn<{
|
|
10
|
+
export declare const useInitLoginForm: (t: TFunction) => import('react-hook-form').UseFormReturn<{
|
|
11
11
|
email: string;
|
|
12
12
|
password: string;
|
|
13
13
|
rememberMe?: boolean | undefined;
|
|
@@ -22,7 +22,7 @@ export declare function createLoginWithPhoneSchema(t: TFunction): z.ZodObject<{
|
|
|
22
22
|
rememberMe: z.ZodOptional<z.ZodBoolean>;
|
|
23
23
|
}, z.core.$strip>;
|
|
24
24
|
export type LoginWithPhoneFormData = z.infer<ReturnType<typeof createLoginWithPhoneSchema>>;
|
|
25
|
-
export declare const useInitLoginWithPhoneForm: () => import('react-hook-form').UseFormReturn<{
|
|
25
|
+
export declare const useInitLoginWithPhoneForm: (t: TFunction) => import('react-hook-form').UseFormReturn<{
|
|
26
26
|
phone: string;
|
|
27
27
|
password: string;
|
|
28
28
|
rememberMe?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/loginSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"loginSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/loginSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS;;;;kBAM7C;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS;;;;;;;;EAY5C,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,SAAS;;;;kBAMtD;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAE5F,eAAO,MAAM,yBAAyB,GAAI,GAAG,SAAS;;;;;;;;EAYrD,CAAC"}
|