diff --git a/public/locales/en-US/alias-notes.json b/public/locales/en-US/alias-notes.json index 70a2bd5..8dca49e 100644 --- a/public/locales/en-US/alias-notes.json +++ b/public/locales/en-US/alias-notes.json @@ -24,7 +24,10 @@ "label": "Websites", "emptyText": "You haven't used this alias on any site yet.", "placeholder": "https://example.com", - "helperText": "Add a website to this alias. Used to autofill." + "helperText": "Add a website to this alias. Used to autofill.", + "errors": { + "invalid": "This URL is invalid." + } } } } diff --git a/src/route-widgets/AliasDetailRoute/AddWebsiteField.tsx b/src/route-widgets/AliasDetailRoute/AddWebsiteField.tsx index 52d08e4..42d2fc4 100644 --- a/src/route-widgets/AliasDetailRoute/AddWebsiteField.tsx +++ b/src/route-widgets/AliasDetailRoute/AddWebsiteField.tsx @@ -18,14 +18,14 @@ interface WebsiteForm { url: string } -const WEBSITE_SCHEMA = yup.object().shape({ - url: yup.string().matches(URL_REGEX, "This URL is invalid."), -}) - export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps): ReactElement { - const {t} = useTranslation() + const {t} = useTranslation("alias-notes") + + const schema = yup.object().shape({ + url: yup.string().matches(URL_REGEX, t("form.websites.error.invalid") as string), + }) const websiteFormik = useFormik({ - validationSchema: WEBSITE_SCHEMA, + validationSchema: schema, initialValues: { url: "", }, @@ -58,10 +58,8 @@ export default function AddWebsiteField({onAdd, isLoading}: AddWebsiteFieldProps {(websiteFormik.touched.url && websiteFormik.errors.url) || - t("routes.AliasDetailRoute.sections.notes.form.websites.helperText")} + t("form.websites.helperText")} diff --git a/src/route-widgets/GlobalSettingsRoute/AliasPercentageAmount.tsx b/src/route-widgets/GlobalSettingsRoute/AliasPercentageAmount.tsx index 117a1da..6780bc1 100644 --- a/src/route-widgets/GlobalSettingsRoute/AliasPercentageAmount.tsx +++ b/src/route-widgets/GlobalSettingsRoute/AliasPercentageAmount.tsx @@ -14,14 +14,14 @@ export default function AliasesPercentageAmount({ length, percentage, }: AliasPercentageAmountProps): ReactElement { - const {t} = useTranslation() + const {t} = useTranslation("admin-global-settings") const amount = Math.floor(Math.pow(characters.length, length) * percentage) return ( - {t("routes.AdminRoute.settings.randomAliasesIncreaseExplanation", { + {t("randomAliasesIncreaseExplanation", { originalLength: length, increasedLength: length + 1, amount, diff --git a/src/route-widgets/GlobalSettingsRoute/RandomAliasGenerator.tsx b/src/route-widgets/GlobalSettingsRoute/RandomAliasGenerator.tsx index 37cb4b6..d2be605 100644 --- a/src/route-widgets/GlobalSettingsRoute/RandomAliasGenerator.tsx +++ b/src/route-widgets/GlobalSettingsRoute/RandomAliasGenerator.tsx @@ -18,7 +18,7 @@ export default function RandomAliasGenerator({ length, }: RandomAliasGeneratorProps): ReactElement { const serverSettings = useLoaderData() as ServerSettings - const {t} = useTranslation() + const {t} = useTranslation("admin-global-settings") const theme = useTheme() const generateLocal = useCallback( @@ -39,7 +39,7 @@ export default function RandomAliasGenerator({ return ( - {t("routes.AdminRoute.settings.randomAliasesPreview.title")} + {t("randomAliasesPreview.title")} @@ -51,9 +51,7 @@ export default function RandomAliasGenerator({ - - {t("routes.AdminRoute.settings.randomAliasesPreview.helperText")} - + {t("randomAliasesPreview.helperText")} ) } diff --git a/src/route-widgets/ReservedAliasDetailRoute/AdminUserPicker.tsx b/src/route-widgets/ReservedAliasDetailRoute/AdminUserPicker.tsx index a33e68f..b857356 100644 --- a/src/route-widgets/ReservedAliasDetailRoute/AdminUserPicker.tsx +++ b/src/route-widgets/ReservedAliasDetailRoute/AdminUserPicker.tsx @@ -17,7 +17,7 @@ export default function AdminUserPicker({ onPick, alreadyPicked, }: AdminUserPickerProps): ReactElement { - const {t} = useTranslation() + const {t} = useTranslation("admin-reserved-aliases") const meUser = useUser() const {data: {users: availableUsers} = {}} = useQuery( ["getAdminUsers"], @@ -54,7 +54,7 @@ export default function AdminUserPicker({ {users.map(user => ( {user.id === meUser?.id - ? t("routes.AdminRoute.forms.reservedAliases.fields.users.me", { + ? t("fields.users.me", { email: user.email.address, }) : user.email.address} diff --git a/src/route-widgets/Settings2FARoute/Delete2FA.tsx b/src/route-widgets/Settings2FARoute/Delete2FA.tsx index 146554d..b1c3ea9 100644 --- a/src/route-widgets/Settings2FARoute/Delete2FA.tsx +++ b/src/route-widgets/Settings2FARoute/Delete2FA.tsx @@ -21,7 +21,7 @@ export default function Delete2FA({onSuccess}: Delete2FAProps): ReactElement { const {showSuccess, showError} = useErrorSuccessSnacks() const {mutate} = useMutation(delete2FA, { onSuccess: () => { - showSuccess(t("routes.SettingsRoute.2fa.delete.success")) + showSuccess(t("delete.success")) onSuccess() }, onError: showError,