Files
stroblmeandClaude Opus 5 d01a8dad37 Rename Installation to Instance
Follows the portal: the noun is "instance" everywhere the app says it —
UI strings, CLI output, error details, docs and comments. The wire keys
(`instance_id`, `instance_token`) and the hub route this calls move with it.

An existing cloud.json is adopted rather than refused: without the key
alias the dataclass fails to parse, which the caller swallows and reads as
"never enrolled" instead of "reconnect".

`instance_key` on a node type becomes `target_key`. It means the outside
thing a node points at, which is a different sense of the word, and keeping
both would put two meanings of "instance" in one codebase.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015YrQnKV3bnQd4K342y8tKj
2026-08-31 10:12:01 +02:00

61 lines
2.3 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#59849b" />
<!-- `%BASE_URL%` is `/` on an instance of its own and `/app-shell/` in
the build the portal serves, where the hub rewrites this line to the
instance's own path so the install is scoped to one house. -->
<link rel="manifest" href="%BASE_URL%manifest.webmanifest" />
<link rel="apple-touch-icon" href="%BASE_URL%apple-touch-icon.png" />
<title>Fluksio</title>
<!-- Set the theme class before first paint so the app never flashes light. -->
<script>
(() => {
try {
const stored = localStorage.getItem('fluksio-ui-theme')
const theme = stored && stored !== 'system' ? stored
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
document.documentElement.classList.add(theme)
} catch (_e) { }
})()
</script>
<!-- The boot spinner, until React's first commit clears `#root`. Styled
here with the literal values of --background / --border / --primary
because the stylesheet carrying those tokens has not necessarily
arrived yet; the theme class above is already on <html>. -->
<style>
#boot {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: #ffffff;
}
#boot i {
width: 28px;
height: 28px;
border: 2px solid #e4e4e4;
border-top-color: #4a7189;
border-radius: 9999px;
animation: boot-spin 0.8s linear infinite;
}
html.dark #boot { background: #0a0a0a; }
html.dark #boot i { border-color: #2a2a2a; border-top-color: #7ba3b8; }
@keyframes boot-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
#boot i { animation-duration: 2.4s; }
}
</style>
</head>
<body>
<div id="root">
<div id="boot" role="status" aria-label="Loading Fluksio"><i></i></div>
</div>
<script type="module" src="./src/main.tsx"></script>
</body>
</html>