Add localization support to admin status and error messages (#4631)
* Initial plan * Add localization support to admin form status and error messages Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Format updated files with prettier Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * Replace t() with Translation component in admin page JSX Co-authored-by: gabek <414923+gabek@users.noreply.github.com> * update package-lock.json * Update web/i18n/en/translation.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: gabek <414923+gabek@users.noreply.github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
gabek
Copilot
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Gabe Kangas
parent
fd89c6e8f2
commit
383b80851b
@@ -2,6 +2,7 @@ import { Button, Upload } from 'antd';
|
||||
import { RcFile } from 'antd/lib/upload/interface';
|
||||
import React, { useState, useContext, FC } from 'react';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { useTranslation } from 'next-export-i18n';
|
||||
import { FormStatusIndicator } from './FormStatusIndicator';
|
||||
import { ServerStatusContext } from '../../utils/server-status-context';
|
||||
import {
|
||||
@@ -17,6 +18,7 @@ import {
|
||||
STATUS_SUCCESS,
|
||||
} from '../../utils/input-statuses';
|
||||
import { NEXT_PUBLIC_API_HOST } from '../../utils/apis';
|
||||
import { Localization } from '../../types/localization';
|
||||
|
||||
import {
|
||||
ACCEPTED_IMAGE_TYPES,
|
||||
@@ -37,6 +39,7 @@ const UploadOutlined = dynamic(() => import('@ant-design/icons/UploadOutlined'),
|
||||
|
||||
// eslint-disable-next-line import/prefer-default-export
|
||||
export const EditLogo: FC = () => {
|
||||
const { t } = useTranslation();
|
||||
const [logoUrl, setlogoUrl] = useState(null);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [logoCachedbuster, setLogoCacheBuster] = useState(0);
|
||||
@@ -64,16 +67,28 @@ export const EditLogo: FC = () => {
|
||||
// eslint-disable-next-line consistent-return
|
||||
return new Promise<void>((res, rej) => {
|
||||
if (file.size > MAX_IMAGE_FILESIZE) {
|
||||
const msg = `File size is too big: ${readableBytes(file.size)}`;
|
||||
setSubmitStatus(createInputStatus(STATUS_ERROR, `There was an error: ${msg}`));
|
||||
const msg = t(Localization.Admin.StatusMessages.fileSizeTooBig, {
|
||||
size: readableBytes(file.size),
|
||||
});
|
||||
setSubmitStatus(
|
||||
createInputStatus(
|
||||
STATUS_ERROR,
|
||||
t(Localization.Admin.StatusMessages.thereWasAnError, { message: msg }),
|
||||
),
|
||||
);
|
||||
resetTimer = setTimeout(resetStates, RESET_TIMEOUT);
|
||||
setLoading(false);
|
||||
// eslint-disable-next-line no-promise-executor-return
|
||||
return rej();
|
||||
}
|
||||
if (!ACCEPTED_IMAGE_TYPES.includes(file.type)) {
|
||||
const msg = `File type is not supported: ${file.type}`;
|
||||
setSubmitStatus(createInputStatus(STATUS_ERROR, `There was an error: ${msg}`));
|
||||
const msg = t(Localization.Admin.StatusMessages.fileTypeNotSupported, { type: file.type });
|
||||
setSubmitStatus(
|
||||
createInputStatus(
|
||||
STATUS_ERROR,
|
||||
t(Localization.Admin.StatusMessages.thereWasAnError, { message: msg }),
|
||||
),
|
||||
);
|
||||
resetTimer = setTimeout(resetStates, RESET_TIMEOUT);
|
||||
setLoading(false);
|
||||
// eslint-disable-next-line no-promise-executor-return
|
||||
@@ -101,7 +116,12 @@ export const EditLogo: FC = () => {
|
||||
setLogoCacheBuster(Math.floor(Math.random() * 100)); // Force logo to re-load
|
||||
},
|
||||
onError: (msg: string) => {
|
||||
setSubmitStatus(createInputStatus(STATUS_ERROR, `There was an error: ${msg}`));
|
||||
setSubmitStatus(
|
||||
createInputStatus(
|
||||
STATUS_ERROR,
|
||||
t(Localization.Admin.StatusMessages.thereWasAnError, { message: msg }),
|
||||
),
|
||||
);
|
||||
setLoading(false);
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user