Files
corrosion-admin-panel/docs/reference-repos/icehunter/web/src/main.tsx
Vantz Stockwell 651a35d4be
All checks were successful
CI / backend-types (push) Successful in 10s
CI / frontend-build (push) Successful in 15s
CI / agent-tests (push) Successful in 39s
CI / integration (push) Successful in 22s
docs(reference): import Dune: Awakening server-manager references
Phase 2 references for the host-agent Dune adapter, moved out of volatile /tmp
into docs/reference-repos/ (per Commander). Three upstream projects, .git +
node_modules + compiled binaries stripped (16MB source). Nested AI-instruction
files (.claude/, CLAUDE.md) removed so they don't pollute Corrosion sessions.

- icehunter/    dune-admin (Go+React) — 4 control planes; SETUP_DOCKER.md is the
                closest analog to our agent's Dune docker control plane (compose
                lifecycle, docker logs, RabbitMQ-via-exec, dune Postgres schema)
- adainrivers/  Rust/Tauri desktop — SSH+k8s BattleGroup control, maintenance
                daemon, in-game admin console (Rust idiom reference)
- the4rchangel/ Node web UI replacing battlegroup.bat — matches the Commander's
                Hyper-V self-host path + game-config schema

See docs/reference-repos/README.md for the full index + how we use each.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 21:08:05 -04:00

49 lines
1.5 KiB
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { HashRouter } from 'react-router-dom'
import './index.css'
import './i18n'
import { applyTheme, loadTheme } from './theme'
import { App } from './App.tsx'
import { ClerkProvider } from '@clerk/react'
import { dark } from '@clerk/themes'
// Apply the saved appearance theme (#144) before first paint to avoid a flash.
applyTheme(loadTheme())
const publishableKey = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY
// Match Clerk modals to the dune-admin dark amber theme.
// Element class overrides are needed for the backdrop because Clerk injects
// it via inline style — the appearance.elements className alone doesn't win.
const clerkAppearance = {
baseTheme: dark,
variables: {
colorPrimary: '#c9820a',
colorDanger: '#c9230a',
borderRadius: '2px',
fontFamily: 'system-ui, -apple-system, sans-serif',
},
elements: {
formButtonPrimary:
'bg-[#c9820a] hover:bg-[#d4900f] text-black font-bold shadow-none normal-case tracking-normal',
footerActionLink: 'text-[#c9820a] hover:text-[#d4900f]',
},
} as const
createRoot(document.getElementById('root')!).render(
<StrictMode>
<HashRouter>
{publishableKey
? (
<ClerkProvider publishableKey={publishableKey} afterSignOutUrl="/" appearance={clerkAppearance}>
<App />
</ClerkProvider>
)
: (
<App />
)}
</HashRouter>
</StrictMode>,
)