diff --git a/src/plugins/_core/settings.tsx b/src/plugins/_core/settings.tsx index e107ca9c..6bd2e6ca 100644 --- a/src/plugins/_core/settings.tsx +++ b/src/plugins/_core/settings.tsx @@ -35,7 +35,7 @@ let LayoutTypes = { PANEL: 3, PANE: 4 }; -waitFor(["SECTION", "SIDEBAR_ITEM", "PANEL", "PANE"], v => LayoutTypes = v); +waitFor(["SECTION", "SIDEBAR_ITEM", "PANEL"], v => LayoutTypes = v); const FallbackSectionTypes = { HEADER: "HEADER", @@ -164,6 +164,34 @@ export default definePlugin({ buildEntry(options: EntryOptions): SettingsLayoutNode { const { key, title, panelTitle = title, Component, Icon } = options; + const panel: SettingsLayoutNode = { + key: key + "_panel", + type: LayoutTypes.PANEL, + useTitle: () => panelTitle, + }; + + const render = { + // FIXME + StronglyDiscouragedCustomComponent: () => , + render: () => , + }; + + // FIXME + if (LayoutTypes.PANE) { + panel.buildLayout = () => [ + { + key: key + "_pane", + type: LayoutTypes.PANE, + useTitle: () => panelTitle, + buildLayout: () => [], + ...render + } + ]; + } else { + Object.assign(panel, render); + panel.buildLayout = () => []; + } + return ({ key, type: LayoutTypes.SIDEBAR_ITEM, @@ -172,24 +200,7 @@ export default definePlugin({ getLegacySearchKey: () => title.toUpperCase(), useTitle: () => title, icon: () => , - buildLayout: () => [ - { - key: key + "_panel", - type: LayoutTypes.PANEL, - useTitle: () => panelTitle, - buildLayout: () => [ - { - key: key + "_pane", - type: LayoutTypes.PANE, - buildLayout: () => [], - // FIXME - StronglyDiscouragedCustomComponent: () => , - render: () => , - useTitle: () => panelTitle - } - ] - } - ] + buildLayout: () => [panel] }); },