providers is a panel, not a section in officer's settings
`IntegrationsSettings/index.tsx` has carried the rule since email was extracted on 2026-08-18: a plugin contributes panels, not settings sections. the extraction brief said the opposite and the brief was wrong. settings living in the platform mean this plugin is not self-contained — it cannot be configured on an older platform, and uninstalling would leave a dead "Atelier" section in the settings screen for someone to delete by hand. so: a fourth panel, `atelier-providers`, and the default layout stacks it under Collections in the right column. smallest and last because it is configured once and then ignored — but it has to be REACHABLE, which is the whole point. Generate's empty state pointed at "Settings → Integrations → Atelier". it now points at the Providers panel, which is where the key actually goes.
This commit is contained in:
+21
-3
@@ -1,8 +1,15 @@
|
||||
import type { LayoutNode } from 'officerdev';
|
||||
|
||||
// Generate stays narrow and fixed — it is a form, not a working area. Gallery gets the most room: it
|
||||
// is the main "what did I make" view. Collections is the organising view, smallest of the three. Users
|
||||
// can resize or rearrange freely; this is only the starting point.
|
||||
// is the main "what did I make" view. The right column stacks the two organising views: Collections
|
||||
// above, Providers below.
|
||||
//
|
||||
// Providers is here rather than in Officer's settings because a plugin contributes panels, not settings
|
||||
// sections — the rule `IntegrationsSettings/index.tsx` states for email. It is placed smallest and last
|
||||
// because it is configured once and then ignored, but it has to be REACHABLE, and a plugin whose only
|
||||
// configuration screen lives in the platform is not self-contained.
|
||||
//
|
||||
// Users can resize or rearrange freely; this is only the starting point.
|
||||
export const defaultLayout: LayoutNode = {
|
||||
type: 'group',
|
||||
id: 'atelier-root',
|
||||
@@ -10,6 +17,17 @@ export const defaultLayout: LayoutNode = {
|
||||
children: [
|
||||
{ node: { type: 'panel', id: 'atelier-generate', appType: 'atelier-generate' }, size: 26 },
|
||||
{ node: { type: 'panel', id: 'atelier-gallery', appType: 'atelier-gallery' }, size: 48 },
|
||||
{ node: { type: 'panel', id: 'atelier-collections', appType: 'atelier-collections' }, size: 26 },
|
||||
{
|
||||
node: {
|
||||
type: 'group',
|
||||
id: 'atelier-side',
|
||||
direction: 'vertical',
|
||||
children: [
|
||||
{ node: { type: 'panel', id: 'atelier-collections', appType: 'atelier-collections' }, size: 60 },
|
||||
{ node: { type: 'panel', id: 'atelier-providers', appType: 'atelier-providers' }, size: 40 },
|
||||
],
|
||||
},
|
||||
size: 26,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user