"Derived media" was a section sitting beside the block that lists `originals/` and `derived/` — the same subject described twice, leaving the reader to work out that the two were about one thing. So the control moves under those folders, inside Root Location, and appears only once both exist: before that the button would be asking to write into a directory that is not there, and Create is the thing to press. An order, not a choice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import { RootLocationBlock } from './RootLocationBlock';
|
|
import { DatabaseBlock } from './DatabaseBlock';
|
|
|
|
/**
|
|
* Administration — this plugin's own machinery, not the client's site.
|
|
*
|
|
* A list of blocks, and nothing else. Each one owns its own heading, its own state and its own status
|
|
* message; this file decides only which of them exist and in what order.
|
|
*
|
|
* The order is the order things are needed in: where the site is on this machine, then how to read its
|
|
* data. Building `derived/` from `originals/` lives with the folders it acts on, inside Root Location,
|
|
* rather than as a section here describing the same two directories a second time.
|
|
*
|
|
* ── What used to be here ──
|
|
*
|
|
* An address and a token: where fofos is, over HTTP. That is gone from the screen. The server half is
|
|
* untouched — `/_config` still stores a URL and a token, and the proxy in `api/router.ts` still reads
|
|
* them — but nothing can set them, which is why `useReady` stays hardcoded false and every other
|
|
* section stays locked. The two are the same unfinished change.
|
|
*/
|
|
|
|
export const AdministrationPanel = () => (
|
|
<div className="flex size-full flex-col gap-4 overflow-auto p-5">
|
|
<RootLocationBlock />
|
|
<DatabaseBlock />
|
|
</div>
|
|
);
|