Create frontend project

This commit is contained in:
Jon Staab
2026-02-25 14:55:36 -08:00
parent c84b003a57
commit 9bc6c42aee
32 changed files with 1339 additions and 1 deletions
@@ -0,0 +1,25 @@
import { useParams, A } from "@solidjs/router"
export default function AdminRelayDetail() {
const params = useParams()
return (
<div class="max-w-4xl mx-auto px-4 py-8">
<div class="flex items-center gap-2 mb-6">
<A href="/admin/relays" class="text-gray-500 hover:text-gray-700"> Relays</A>
</div>
<h1 class="text-2xl font-bold text-gray-900 mb-4">Relay {params.id}</h1>
<div class="flex gap-3">
<A
href={`/admin/relays/${params.id}/edit`}
class="py-2 px-4 border border-gray-300 text-gray-700 font-medium rounded-lg hover:bg-gray-50 transition-colors"
>
Edit
</A>
<button class="py-2 px-4 border border-red-300 text-red-600 font-medium rounded-lg hover:bg-red-50 transition-colors">
Deactivate
</button>
</div>
</div>
)
}
@@ -0,0 +1,15 @@
import { useParams, A } from "@solidjs/router"
export default function AdminRelayEdit() {
const params = useParams()
return (
<div class="max-w-2xl mx-auto px-4 py-8">
<div class="flex items-center gap-2 mb-6">
<A href={`/admin/relays/${params.id}`} class="text-gray-500 hover:text-gray-700"> Back</A>
</div>
<h1 class="text-2xl font-bold text-gray-900 mb-6">Edit Relay (Admin)</h1>
<p class="text-gray-500">Edit form coming soon.</p>
</div>
)
}
+13
View File
@@ -0,0 +1,13 @@
export default function AdminRelays() {
return (
<div class="max-w-5xl mx-auto px-4 py-8">
<h1 class="text-2xl font-bold text-gray-900 mb-6">All Relays</h1>
<input
type="search"
placeholder="Search relays..."
class="w-full border border-gray-300 rounded-lg px-3 py-2 mb-6 focus:outline-none focus:ring-2 focus:ring-blue-500"
/>
<p class="text-gray-500">No relays found.</p>
</div>
)
}
@@ -0,0 +1,23 @@
import { useParams, A } from "@solidjs/router"
export default function AdminTenantDetail() {
const params = useParams()
return (
<div class="max-w-4xl mx-auto px-4 py-8">
<div class="flex items-center gap-2 mb-6">
<A href="/admin/tenants" class="text-gray-500 hover:text-gray-700"> Tenants</A>
</div>
<h1 class="text-2xl font-bold text-gray-900 mb-6">Tenant {params.id}</h1>
<div class="space-y-6">
<section class="bg-white border border-gray-200 rounded-xl p-6">
<h2 class="text-lg font-semibold mb-4">Relays</h2>
<p class="text-gray-500">No relays.</p>
</section>
<button class="py-2 px-4 border border-red-300 text-red-600 font-medium rounded-lg hover:bg-red-50 transition-colors">
Deactivate Tenant
</button>
</div>
</div>
)
}
+13
View File
@@ -0,0 +1,13 @@
export default function AdminTenants() {
return (
<div class="max-w-5xl mx-auto px-4 py-8">
<h1 class="text-2xl font-bold text-gray-900 mb-6">Tenants</h1>
<input
type="search"
placeholder="Search tenants..."
class="w-full border border-gray-300 rounded-lg px-3 py-2 mb-6 focus:outline-none focus:ring-2 focus:ring-blue-500"
/>
<p class="text-gray-500">No tenants found.</p>
</div>
)
}