feat(v5): add Inertia app shell with Flux health

Adds v5 routing, middleware, home page rendering, team context sharing,
project model/table support, and Flux health reporting. Installs Flux in
container builds with role-aware s6 services and documents runtime roles.
This commit is contained in:
Andras Bacsai committed 2026-06-15 23:09:49 +02:00
1 parent 02ab4b39ef
commit dcd325dc44
41 files changed
+1705 -108

No files matched your search

+59
View File
@@ -0,0 +1,59 @@
import { Head } from '@inertiajs/react';
export default function Home({ status, currentTeam, teams, flux }) {
return (
<>
<Head title="V5" />
<main>
<p>{status}</p>
<h1>Coolify v5</h1>
<p>
This page is served from Laravel through Inertia and React, with routes,
assets, and future v5 tables isolated from the current v4 Livewire app.
</p>
<section aria-labelledby="flux-status-heading">
<h2 id="flux-status-heading">Flux status</h2>
<p>
<strong>{flux.label}</strong>
</p>
<p>{flux.message}</p>
{flux.socket ? <p>Socket: {flux.socket}</p> : null}
</section>
<h2>Current team</h2>
{currentTeam ? (
<dl>
<dt>Name</dt>
<dd>{currentTeam.name}</dd>
<dt>Description</dt>
<dd>{currentTeam.description || 'No description'}</dd>
<dt>Your role</dt>
<dd>{currentTeam.role}</dd>
</dl>
) : (
<p>No team selected.</p>
)}
<h2>Your teams</h2>
<ul>
{teams.map((team) => (
<li key={team.id}>
{team.name} ({team.role})
</li>
))}
</ul>
</main>
</>
);
}
+11
View File
@@ -0,0 +1,11 @@
import { createInertiaApp } from '@inertiajs/react';
import '../../css/v5/app.css';
createInertiaApp({
id: 'v5-app',
pages: {
path: './Pages',
extension: '.jsx',
},
strictMode: true,
});