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 = ({ trans_part, trans_type, artifact, version }) => { return ( {(t, {}) => { switch (trans_part) { case TranslatedPart.TITLE: switch (trans_type) { case InstallType.INSTALL: return
{t('PluginInstallModal.install.title', { artifact: artifact })}
; case InstallType.REINSTALL: return
{t('PluginInstallModal.reinstall.title', { artifact: artifact })}
; case InstallType.UPDATE: return
{t('PluginInstallModal.update.title', { artifact: artifact })}
; default: return null; } case TranslatedPart.DESC: switch (trans_type) { case InstallType.INSTALL: return (
{t('PluginInstallModal.install.desc', { artifact: artifact, version: version, })}
); case InstallType.REINSTALL: return (
{t('PluginInstallModal.reinstall.desc', { artifact: artifact, version: version, })}
); case InstallType.UPDATE: return (
{t('PluginInstallModal.update.desc', { artifact: artifact, version: version, })}
); default: return null; } case TranslatedPart.BUTTON_IDLE: switch (trans_type) { case InstallType.INSTALL: return
{t('PluginInstallModal.install.button_idle')}
; case InstallType.REINSTALL: return
{t('PluginInstallModal.reinstall.button_idle')}
; case InstallType.UPDATE: return
{t('PluginInstallModal.update.button_idle')}
; default: return null; } case TranslatedPart.BUTTON_PROC: switch (trans_type) { case InstallType.INSTALL: return
{t('PluginInstallModal.install.button_processing')}
; case InstallType.REINSTALL: return
{t('PluginInstallModal.reinstall.button_processing')}
; case InstallType.UPDATE: return
{t('PluginInstallModal.update.button_processing')}
; default: return null; } } }}
); }; export default TPluginInstallModal;