Move SealShare onto Livewire Material

Replaces maryUI and daisyUI with nonameweb/livewire-material: the Vibrant
indigo scheme, a system/light/dark theme under sealshare-theme, one top
app bar with the account menu, the upload drop zone and link-ready
moments, M3 fields, dialogs instead of wire:confirm, snackbars instead of
flashed messages, a sortable admin table, and the starter-kit cleanup.
Docker builds assets after Composer; CI drops the Flux step.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
This commit is contained in:
Andreas Reinhold / reini
2026-09-13 10:49:38 +02:00
co-authored by Claude Opus 5
parent 6d7120e8e2
commit c4a17b65c8
70 changed files with 3043 additions and 1680 deletions
+10 -8
View File
@@ -2,15 +2,17 @@
use App\Models\User;
test('guests are redirected to the login page', function () {
$response = $this->get(route('dashboard'));
$response->assertRedirect(route('login'));
test('the starter placeholder dashboard is gone', function () {
$this->actingAs(User::factory()->admin()->create())
->get('/dashboard')
->assertNotFound();
});
test('authenticated users can visit the dashboard', function () {
$user = User::factory()->create();
$this->actingAs($user);
test('a signed-in admin lands on the admin dashboard', function () {
$admin = User::factory()->admin()->create();
$response = $this->get(route('dashboard'));
$response->assertOk();
$this->post(route('login.store'), ['email' => $admin->email, 'password' => 'password'])
->assertRedirect(route('admin.dashboard', absolute: false));
$this->get(route('admin.dashboard'))->assertOk();
});