feat: add translation for save recording component
This commit is contained in:
@@ -9,13 +9,14 @@ import { TextField, Typography } from "@mui/material";
|
|||||||
import { WarningText } from "../atoms/texts";
|
import { WarningText } from "../atoms/texts";
|
||||||
import NotificationImportantIcon from "@mui/icons-material/NotificationImportant";
|
import NotificationImportantIcon from "@mui/icons-material/NotificationImportant";
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
|
|
||||||
interface SaveRecordingProps {
|
interface SaveRecordingProps {
|
||||||
fileName: string;
|
fileName: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SaveRecording = ({ fileName }: SaveRecordingProps) => {
|
export const SaveRecording = ({ fileName }: SaveRecordingProps) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const [openModal, setOpenModal] = useState<boolean>(false);
|
const [openModal, setOpenModal] = useState<boolean>(false);
|
||||||
const [needConfirm, setNeedConfirm] = useState<boolean>(false);
|
const [needConfirm, setNeedConfirm] = useState<boolean>(false);
|
||||||
const [recordingName, setRecordingName] = useState<string>(fileName);
|
const [recordingName, setRecordingName] = useState<string>(fileName);
|
||||||
@@ -46,7 +47,7 @@ export const SaveRecording = ({ fileName }: SaveRecordingProps) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const exitRecording = useCallback(async () => {
|
const exitRecording = useCallback(async () => {
|
||||||
notify('success', 'Robot saved successfully');
|
notify('success', t('save_recording.notifications.save_success'));
|
||||||
if (browserId) {
|
if (browserId) {
|
||||||
await stopRecording(browserId);
|
await stopRecording(browserId);
|
||||||
}
|
}
|
||||||
@@ -63,7 +64,7 @@ export const SaveRecording = ({ fileName }: SaveRecordingProps) => {
|
|||||||
setWaitingForSave(true);
|
setWaitingForSave(true);
|
||||||
console.log(`Saving the recording as ${recordingName} for userId ${user.id}`);
|
console.log(`Saving the recording as ${recordingName} for userId ${user.id}`);
|
||||||
} else {
|
} else {
|
||||||
console.error('User not logged in. Cannot save recording.');
|
console.error(t('save_recording.notifications.user_not_logged'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -77,34 +78,38 @@ export const SaveRecording = ({ fileName }: SaveRecordingProps) => {
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Button onClick={() => setOpenModal(true)} variant="outlined" sx={{ marginRight: '20px' }} size="small" color="success">
|
<Button onClick={() => setOpenModal(true)} variant="outlined" sx={{ marginRight: '20px' }} size="small" color="success">
|
||||||
Finish
|
{t('right_panel.buttons.finish')}
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<GenericModal isOpen={openModal} onClose={() => setOpenModal(false)} modalStyle={modalStyle}>
|
<GenericModal isOpen={openModal} onClose={() => setOpenModal(false)} modalStyle={modalStyle}>
|
||||||
<form onSubmit={handleSaveRecording} style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start' }}>
|
<form onSubmit={handleSaveRecording} style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start' }}>
|
||||||
<Typography variant="h6">Save Robot</Typography>
|
<Typography variant="h6">{t('save_recording.title')}</Typography>
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
sx={{ width: '300px', margin: '15px 0px' }}
|
sx={{ width: '300px', margin: '15px 0px' }}
|
||||||
onChange={handleChangeOfTitle}
|
onChange={handleChangeOfTitle}
|
||||||
id="title"
|
id="title"
|
||||||
label="Robot Name"
|
label={t('save_recording.robot_name')}
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
defaultValue={recordingName ? recordingName : null}
|
defaultValue={recordingName ? recordingName : null}
|
||||||
/>
|
/>
|
||||||
{needConfirm
|
{needConfirm
|
||||||
?
|
?
|
||||||
(<React.Fragment>
|
(<React.Fragment>
|
||||||
<Button color="error" variant="contained" onClick={saveRecording} sx={{ marginTop: '10px' }}>Confirm</Button>
|
<Button color="error" variant="contained" onClick={saveRecording} sx={{ marginTop: '10px' }}>
|
||||||
|
{t('save_recording.button.confirm')}
|
||||||
|
</Button>
|
||||||
<WarningText>
|
<WarningText>
|
||||||
<NotificationImportantIcon color="warning" />
|
<NotificationImportantIcon color="warning" />
|
||||||
Robot with this name already exists, please confirm the Robot's overwrite.
|
{t('save_recording.warnings.robot_exists')}
|
||||||
</WarningText>
|
</WarningText>
|
||||||
</React.Fragment>)
|
</React.Fragment>)
|
||||||
: <Button type="submit" variant="contained" sx={{ marginTop: '10px' }}>Save</Button>
|
: <Button type="submit" variant="contained" sx={{ marginTop: '10px' }}>
|
||||||
|
{t('save_recording.button.save')}
|
||||||
|
</Button>
|
||||||
}
|
}
|
||||||
{waitingForSave &&
|
{waitingForSave &&
|
||||||
<Tooltip title='Optimizing and saving the workflow' placement={"bottom"}>
|
<Tooltip title={t('save_recording.tooltips.optimizing')} placement={"bottom"}>
|
||||||
<Box sx={{ width: '100%', marginTop: '10px' }}>
|
<Box sx={{ width: '100%', marginTop: '10px' }}>
|
||||||
<LinearProgress />
|
<LinearProgress />
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
Reference in New Issue
Block a user