settings: Atelier providers under Integrations, per plugin decision
decision 2 of the atelier extraction: providers (which adapter, which model, whose key) becomes an
Officer settings screen rather than a panel, since it is owner-level configuration in the same shape
as the Apify token beside it. Talks to /api/atelier/providers over HTTP through useClient() — no
import from plugins/atelier/ in either direction.
recorded in BLOCKERS.md: this goes against IntegrationsSettings' own comment from the email
extraction five days earlier ("a plugin contributes panels, not settings sections"). Followed the
pre-made decision anyway per the kickoff prompt's own instructions, and wrote down the
contradiction rather than picking one silently.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { useMemo } from 'react';
|
||||
import { useNavigate, useParams } from 'react-router';
|
||||
import { Puzzle, KeyRound, Globe, Wrench, CalendarDays } from 'lucide-react';
|
||||
import { Puzzle, KeyRound, Globe, Wrench, CalendarDays, Palette } from 'lucide-react';
|
||||
import type { LayoutNode, PanelComponents } from 'officerdev';
|
||||
import { WorkspaceLayout } from 'officerdev';
|
||||
import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
@@ -10,6 +10,7 @@ import { GoogleOAuthConfig } from './GoogleOAuthConfig';
|
||||
// import { GoogleAccount } from './GoogleAccount'; // hidden — email uses IMAP app password now
|
||||
import { BrowserRelay } from './BrowserRelay';
|
||||
import { ApifyConfig } from './ApifyConfig';
|
||||
import { AtelierProviders } from './AtelierProviders';
|
||||
import { DavAppPasswords } from './DavAppPasswords';
|
||||
import { ApiKeys } from './ApiKeys';
|
||||
|
||||
@@ -30,6 +31,13 @@ const enterpriseSections: SettingsSection[] = [
|
||||
description: 'API token for web scraping actors',
|
||||
content: <ApifyConfig />,
|
||||
},
|
||||
{
|
||||
key: 'atelier',
|
||||
icon: Palette,
|
||||
title: 'Atelier',
|
||||
description: 'Image generation providers — adapter, model and API key',
|
||||
content: <AtelierProviders />,
|
||||
},
|
||||
];
|
||||
|
||||
const personalSections: SettingsSection[] = [
|
||||
|
||||
Reference in New Issue
Block a user