diff options
Diffstat (limited to 'frontend/src/components')
| -rw-r--r-- | frontend/src/components/settings/pages/plugin_list/PluginListLabel.tsx | 19 | ||||
| -rw-r--r-- | frontend/src/components/settings/pages/plugin_list/index.tsx | 13 |
2 files changed, 25 insertions, 7 deletions
diff --git a/frontend/src/components/settings/pages/plugin_list/PluginListLabel.tsx b/frontend/src/components/settings/pages/plugin_list/PluginListLabel.tsx index fec03e56..416d693e 100644 --- a/frontend/src/components/settings/pages/plugin_list/PluginListLabel.tsx +++ b/frontend/src/components/settings/pages/plugin_list/PluginListLabel.tsx @@ -1,15 +1,16 @@ import { FC } from 'react'; import { useTranslation } from 'react-i18next'; -import { FaEyeSlash, FaLock } from 'react-icons/fa'; +import { FaEyeSlash, FaLock, FaMoon } from 'react-icons/fa'; interface PluginListLabelProps { frozen: boolean; hidden: boolean; + disabled: boolean; name: string; version?: string; } -const PluginListLabel: FC<PluginListLabelProps> = ({ name, frozen, hidden, version }) => { +const PluginListLabel: FC<PluginListLabelProps> = ({ name, frozen, hidden, version, disabled }) => { const { t } = useTranslation(); return ( <div style={{ display: 'flex', flexDirection: 'column', gap: '6px' }}> @@ -43,6 +44,20 @@ const PluginListLabel: FC<PluginListLabelProps> = ({ name, frozen, hidden, versi {t('PluginListLabel.hidden')} </div> )} + {disabled && ( + <div + style={{ + fontSize: '0.8rem', + color: '#dcdedf', + display: 'flex', + alignItems: 'center', + gap: '10px', + }} + > + <FaMoon /> + {t('PluginListLabel.disabled')} + </div> + )} </div> ); }; diff --git a/frontend/src/components/settings/pages/plugin_list/index.tsx b/frontend/src/components/settings/pages/plugin_list/index.tsx index da70f4ca..b21e4933 100644 --- a/frontend/src/components/settings/pages/plugin_list/index.tsx +++ b/frontend/src/components/settings/pages/plugin_list/index.tsx @@ -13,7 +13,7 @@ import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FaDownload, FaEllipsisH, FaRecycle } from 'react-icons/fa'; -import { InstallType } from '../../../../plugin'; +import { enablePlugin, InstallType } from '../../../../plugin'; import { StorePluginVersion, getPluginList, @@ -84,9 +84,11 @@ function PluginInteractables(props: { entry: ReorderableEntry<PluginTableData> } {t('PluginListIndex.uninstall')} </MenuItem> {disabled ? - // implement enabler - <> - </> : + <MenuItem + onSelected={() => enablePlugin(name)} + > + {t('PluginListIndex.plugin_enable')} + </MenuItem> : <MenuItem onSelected={() => DeckyPluginLoader.disablePlugin( @@ -188,7 +190,8 @@ export default function PluginList({ isDeveloper }: { isDeveloper: boolean }) { const hidden = hiddenPlugins.includes(name); return { - label: <PluginListLabel name={name} frozen={frozen} hidden={hidden} version={version} />, + label: <PluginListLabel name={name} frozen={frozen} hidden={hidden} version={version} + disabled={disabled.find(p => p.name == name) !== undefined} />, position: pluginOrder.indexOf(name), data: { name, |
