Skip to content

Commit

Permalink
Hide "Plugin Settings" for plugin without "settings" mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
SchrodingersGat committed Oct 2, 2024
1 parent d784ecc commit f14b64c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
27 changes: 17 additions & 10 deletions src/frontend/src/components/plugins/PluginDrawer.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { t } from '@lingui/macro';
import { Accordion, Alert, Card, Stack, Text } from '@mantine/core';
import { IconExclamationCircle } from '@tabler/icons-react';
import { useMemo } from 'react';

import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { useInstance } from '../../hooks/UseInstance';
Expand Down Expand Up @@ -28,6 +29,10 @@ export default function PluginDrawer({
refetchOnMount: true
});

const hasSettings: boolean = useMemo(() => {
return !!pluginInstance?.mixins?.settings;
}, [pluginInstance]);

if (!pluginInstance.active) {
return (
<Alert
Expand Down Expand Up @@ -116,16 +121,18 @@ export default function PluginDrawer({
</Stack>
</Accordion.Panel>
</Accordion.Item>
<Accordion.Item value="plugin-settings">
<Accordion.Control>
<StylishText size="lg">{t`Plugin Settings`}</StylishText>
</Accordion.Control>
<Accordion.Panel>
<Card withBorder>
<PluginSettingList pluginKey={pluginKey} />
</Card>
</Accordion.Panel>
</Accordion.Item>
{hasSettings && (
<Accordion.Item value="plugin-settings">
<Accordion.Control>
<StylishText size="lg">{t`Plugin Settings`}</StylishText>
</Accordion.Control>
<Accordion.Panel>
<Card withBorder>
<PluginSettingList pluginKey={pluginKey} />
</Card>
</Accordion.Panel>
</Accordion.Item>
)}
{pluginAdmin?.source && (
<Accordion.Item value="plugin-custom">
<Accordion.Control>
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/src/tables/plugin/PluginListTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ export default function PluginListTable() {
{activatePluginModal.modal}
<DetailDrawer
title={t`Plugin Detail`}
size={'50%'}
size={'65%'}
renderContent={(pluginKey) => {
if (!pluginKey) return;
return (
Expand Down

0 comments on commit f14b64c

Please sign in to comment.