diff --git a/site/package.json b/site/package.json index 07d84ae49b50f..2d58280aab27d 100644 --- a/site/package.json +++ b/site/package.json @@ -64,7 +64,7 @@ "formik": "2.4.1", "front-matter": "4.0.2", "history": "5.3.0", - "i18next": "21.9.1", + "i18next": "22.5.0", "jest-environment-jsdom": "29.5.0", "jest-location-mock": "1.0.9", "just-debounce-it": "3.1.1", diff --git a/site/src/components/AuditLogRow/AuditLogDescription/AuditLogDescription.test.tsx b/site/src/components/AuditLogRow/AuditLogDescription/AuditLogDescription.test.tsx index 4de181cbef02d..be9be76b5ac27 100644 --- a/site/src/components/AuditLogRow/AuditLogDescription/AuditLogDescription.test.tsx +++ b/site/src/components/AuditLogRow/AuditLogDescription/AuditLogDescription.test.tsx @@ -11,7 +11,7 @@ import { render } from "testHelpers/renderHelpers" import { screen } from "@testing-library/react" import { i18n } from "i18n" -const t = (str: string, variables?: Record) => +const t = (str: string, variables: Record) => i18n.t(str, variables) const getByTextContent = (text: string) => { diff --git a/site/src/components/EditRolesButton/EditRolesButton.tsx b/site/src/components/EditRolesButton/EditRolesButton.tsx index 0cb9a21ece8b8..39c1b40bdb875 100644 --- a/site/src/components/EditRolesButton/EditRolesButton.tsx +++ b/site/src/components/EditRolesButton/EditRolesButton.tsx @@ -77,7 +77,7 @@ export const EditRolesButton: FC = ({ ref={anchorRef} size="small" className={styles.editButton} - title={t("editUserRolesTooltip")} + title={t("editUserRolesTooltip") || ""} onClick={() => setIsOpen(true)} > @@ -101,7 +101,7 @@ export const EditRolesButton: FC = ({
{roles.map((role) => ( diff --git a/site/src/components/Form/Form.tsx b/site/src/components/Form/Form.tsx index af1df96bb929d..0ab0b6c4a5923 100644 --- a/site/src/components/Form/Form.tsx +++ b/site/src/components/Form/Form.tsx @@ -118,6 +118,10 @@ export const FormFooter: FC = (props) => { /> ) } +const getFlexDirection = ({ direction }: FormContextValue = {}): + | "row" + | "column" => + direction === "horizontal" ? ("row" as const) : ("column" as const) const useStyles = makeStyles((theme) => ({ form: { @@ -136,8 +140,7 @@ const useStyles = makeStyles((theme) => ({ alignItems: "flex-start", gap: ({ direction }: FormContextValue = {}) => direction === "horizontal" ? theme.spacing(15) : theme.spacing(3), - flexDirection: ({ direction }: FormContextValue = {}) => - direction === "horizontal" ? "row" : "column", + flexDirection: getFlexDirection, [theme.breakpoints.down("md")]: { flexDirection: "column", @@ -156,7 +159,7 @@ const useStyles = makeStyles((theme) => ({ [theme.breakpoints.down("md")]: { width: "100%", - position: "initial", + position: "initial" as const, }, }, diff --git a/site/src/components/Resources/AgentStatus.tsx b/site/src/components/Resources/AgentStatus.tsx index e414f1a06aba4..c69a154ff1ba5 100644 --- a/site/src/components/Resources/AgentStatus.tsx +++ b/site/src/components/Resources/AgentStatus.tsx @@ -19,14 +19,14 @@ import Link from "@mui/material/Link" // connected:ready, connected:shutting_down, connected:shutdown_timeout, // connected:shutdown_error, connected:off. -const ReadyLifecycle: React.FC = () => { +const ReadyLifecycle = () => { const styles = useStyles() const { t } = useTranslation("workspacePage") return (
) @@ -34,13 +34,12 @@ const ReadyLifecycle: React.FC = () => { const StartingLifecycle: React.FC = () => { const styles = useStyles() - const { t } = useTranslation("workspacePage") return ( - +
@@ -135,13 +134,12 @@ const StartErrorLifecycle: React.FC<{ const ShuttingDownLifecycle: React.FC = () => { const styles = useStyles() - const { t } = useTranslation("workspacePage") return ( - +
@@ -236,13 +234,12 @@ const ShutdownErrorLifecycle: React.FC<{ const OffLifecycle: React.FC = () => { const styles = useStyles() - const { t } = useTranslation("workspacePage") return ( - +
@@ -294,13 +291,12 @@ const ConnectedStatus: React.FC<{ const DisconnectedStatus: React.FC = () => { const styles = useStyles() - const { t } = useTranslation("workspacePage") return ( - +
@@ -309,13 +305,12 @@ const DisconnectedStatus: React.FC = () => { const ConnectingStatus: React.FC = () => { const styles = useStyles() - const { t } = useTranslation("workspacePage") return ( - +
diff --git a/site/src/pages/CreateTemplatePage/CreateTemplateForm.tsx b/site/src/pages/CreateTemplatePage/CreateTemplateForm.tsx index 371c784c64963..cbaa48adadcb0 100644 --- a/site/src/pages/CreateTemplatePage/CreateTemplateForm.tsx +++ b/site/src/pages/CreateTemplatePage/CreateTemplateForm.tsx @@ -71,25 +71,22 @@ const validationSchema = Yup.object({ ), description: Yup.string().max( MAX_DESCRIPTION_CHAR_LIMIT, - i18next.t("form.error.descriptionMax", { ns: "createTemplatePage" }), + "Please enter a description that is less than or equal to 128 characters.", ), icon: Yup.string().optional(), default_ttl_hours: Yup.number() .integer() - .min( - 0, - i18next.t("form.error.defaultTTLMin", { ns: "templateSettingsPage" }), - ) + .min(0, "Default time until autostop must not be less than 0.") .max( 24 * MAX_TTL_DAYS /* 7 days in hours */, - i18next.t("form.error.defaultTTLMax", { ns: "templateSettingsPage" }), + "Please enter a limit that is less than or equal to 168 hours (7 days).", ), max_ttl_hours: Yup.number() .integer() - .min(0, i18next.t("form.error.maxTTLMin", { ns: "templateSettingsPage" })) + .min(0, "Maximum time until autostop must not be less than 0.") .max( 24 * MAX_TTL_DAYS /* 7 days in hours */, - i18next.t("form.error.maxTTLMax", { ns: "templateSettingsPage" }), + "Please enter a limit that is less than or equal to 168 hours(7 days).", ), }) @@ -223,8 +220,8 @@ export const CreateTemplateForm: FC = ({ {/* General info */} {starterTemplate ? ( @@ -255,8 +252,8 @@ export const CreateTemplateForm: FC = ({ {/* Display info */} = ({ {/* Schedule */} @@ -384,8 +381,8 @@ export const CreateTemplateForm: FC = ({ {/* Operations */} @@ -291,7 +291,7 @@ export const CreateWorkspacePageView: FC< diff --git a/site/src/pages/StarterTemplatesPage/StarterTemplatesPage.tsx b/site/src/pages/StarterTemplatesPage/StarterTemplatesPage.tsx index db34f7f90db3c..973c6d709c7d8 100644 --- a/site/src/pages/StarterTemplatesPage/StarterTemplatesPage.tsx +++ b/site/src/pages/StarterTemplatesPage/StarterTemplatesPage.tsx @@ -17,7 +17,7 @@ const StarterTemplatesPage: FC = () => { return ( <> - {pageTitle(t("title"))} + {pageTitle(t("title").toString())} diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx index fc81ec0d19c9c..0844a3e5f3959 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx @@ -36,7 +36,9 @@ export const getValidationSchema = (): Yup.AnyObjectSchema => ), description: Yup.string().max( MAX_DESCRIPTION_CHAR_LIMIT, - i18next.t("descriptionMaxError", { ns: "templateSettingsPage" }), + i18next + .t("descriptionMaxError", { ns: "templateSettingsPage" }) + .toString(), ), allow_user_cancel_workspace_jobs: Yup.boolean(), icon: iconValidator, @@ -82,11 +84,11 @@ export const TemplateSettingsForm: FC = ({ return ( = ({ = ({