diff options
Diffstat (limited to 'frontend/src/components/modals/TPluginInstallModal.tsx')
| -rw-r--r-- | frontend/src/components/modals/TPluginInstallModal.tsx | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/frontend/src/components/modals/TPluginInstallModal.tsx b/frontend/src/components/modals/TPluginInstallModal.tsx new file mode 100644 index 00000000..3866560e --- /dev/null +++ b/frontend/src/components/modals/TPluginInstallModal.tsx @@ -0,0 +1,95 @@ +import { FC } from 'react'; +import { Translation } from 'react-i18next'; + +import { InstallType } from '../../plugin'; + +export enum TranslatedPart { + TITLE, + DESC, + BUTTON_IDLE, + BUTTON_PROC, +} +interface TPluginInstallModalProps { + trans_part: TranslatedPart; + trans_type: number; + artifact?: string; + version?: string; +} + +const TPluginInstallModal: FC<TPluginInstallModalProps> = ({ trans_part, trans_type, artifact, version }) => { + return ( + <Translation> + {(t, {}) => { + switch (trans_part) { + case TranslatedPart.TITLE: + switch (trans_type) { + case InstallType.INSTALL: + return <div>{t('PluginInstallModal.install.title', { artifact: artifact })}</div>; + case InstallType.REINSTALL: + return <div>{t('PluginInstallModal.reinstall.title', { artifact: artifact })}</div>; + case InstallType.UPDATE: + return <div>{t('PluginInstallModal.update.title', { artifact: artifact })}</div>; + default: + return null; + } + case TranslatedPart.DESC: + switch (trans_type) { + case InstallType.INSTALL: + return ( + <div> + {t('PluginInstallModal.install.desc', { + artifact: artifact, + version: version, + })} + </div> + ); + case InstallType.REINSTALL: + return ( + <div> + {t('PluginInstallModal.reinstall.desc', { + artifact: artifact, + version: version, + })} + </div> + ); + case InstallType.UPDATE: + return ( + <div> + {t('PluginInstallModal.update.desc', { + artifact: artifact, + version: version, + })} + </div> + ); + default: + return null; + } + case TranslatedPart.BUTTON_IDLE: + switch (trans_type) { + case InstallType.INSTALL: + return <div>{t('PluginInstallModal.install.button_idle')}</div>; + case InstallType.REINSTALL: + return <div>{t('PluginInstallModal.reinstall.button_idle')}</div>; + case InstallType.UPDATE: + return <div>{t('PluginInstallModal.update.button_idle')}</div>; + default: + return null; + } + case TranslatedPart.BUTTON_PROC: + switch (trans_type) { + case InstallType.INSTALL: + return <div>{t('PluginInstallModal.install.button_processing')}</div>; + case InstallType.REINSTALL: + return <div>{t('PluginInstallModal.reinstall.button_processing')}</div>; + case InstallType.UPDATE: + return <div>{t('PluginInstallModal.update.button_processing')}</div>; + default: + return null; + } + } + }} + </Translation> + ); +}; + +export default TPluginInstallModal; |
