Servers is a block in Administration, not a section of its own

It is the same KIND of thing as the root location and the databases — this
machine, not the site's content — and a nav row leading to one card was a whole
screen to reach three lines.

Last of the three, because it needs both of the others: a server has nowhere to
run without the checkout and nothing to read without a database.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-29 13:53:39 +01:00
co-authored by Claude Opus 5
parent ca43f7ef86
commit b27969ba57
4 changed files with 42 additions and 61 deletions
+1 -23
View File
@@ -1,5 +1,5 @@
import type { LucideIcon } from 'lucide-react';
import { Home, Info, Layers, Images, Handshake, Sparkles, Wrench, Settings, Mail, Cog, FolderOpen, Server } from 'lucide-react';
import { Home, Info, Layers, Images, Handshake, Sparkles, Wrench, Settings, Mail, Cog, FolderOpen } from 'lucide-react';
/**
* The sections of the fofos admin, in nav order.
@@ -29,7 +29,6 @@ import { Home, Info, Layers, Images, Handshake, Sparkles, Wrench, Settings, Mail
export type SectionKey =
| 'administration'
| 'servers'
| 'media'
| 'messages'
| 'site'
@@ -178,27 +177,6 @@ export const SECTIONS: Section[] = [
// Pinned beside Administration: both are about this machine rather than about the site's pages.
pinned: true,
},
{
/*
The two processes that serve the site, under pm2.
Beside Administration and above it, because it is the same KIND of thing — this machine rather
than the site's content — but it is the one somebody opens most: whether the site is up is a
question with a different urgency from where its files are.
`requires: 'root'`, not a connection. It needs the checkout to run, and nothing from fofos itself:
a site that is down is exactly when its API cannot be reached, which is precisely when this has to
keep working.
*/
key: 'servers',
label: 'Servers',
icon: Server,
hint: 'Development and production, and whether they are up',
path: null,
built: true,
requires: 'root',
pinned: true,
},
{
/*
Last, and `path: null` — it reads nothing from fofos. Every other section is a window onto the