fix(ui): restore Tailwind v4 @theme tokens + disable /register route (invite-only)
- Restore app.css with Tailwind v4 @import and @theme design tokens (Breeze had overwritten with v3 directives)
- Add @tailwindcss/vite tailwindcss() plugin back to vite.config.js
- Upgrade tailwindcss in package.json from ^3.1.0 to ^4.0.0; remove @tailwindcss/forms and autoprefixer (v3-only)
- Delete postcss.config.js (v3 PostCSS plugin, not needed for v4 Vite plugin)
- Comment out Volt::route('register', ...) in routes/auth.php — platform is invite-only
- Update RegistrationTest to assert /register returns 404 instead of 200
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
parent
26f508395d
commit
0f3a48604e
File diff suppressed because it is too large
Load Diff
|
|
@ -7,13 +7,10 @@
|
||||||
"dev": "vite"
|
"dev": "vite"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/forms": "^0.5.2",
|
|
||||||
"@tailwindcss/vite": "^4.0.0",
|
"@tailwindcss/vite": "^4.0.0",
|
||||||
"autoprefixer": "^10.4.2",
|
|
||||||
"concurrently": "^9.0.1",
|
"concurrently": "^9.0.1",
|
||||||
"laravel-vite-plugin": "^3.1",
|
"laravel-vite-plugin": "^3.1",
|
||||||
"postcss": "^8.4.31",
|
"tailwindcss": "^4.0.0",
|
||||||
"tailwindcss": "^3.1.0",
|
|
||||||
"vite": "^8.0.0",
|
"vite": "^8.0.0",
|
||||||
"vite-plugin-pwa": "^1.3.0"
|
"vite-plugin-pwa": "^1.3.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
export default {
|
|
||||||
plugins: {
|
|
||||||
tailwindcss: {},
|
|
||||||
autoprefixer: {},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
@ -1,3 +1,33 @@
|
||||||
@tailwind base;
|
@import "tailwindcss";
|
||||||
@tailwind components;
|
|
||||||
@tailwind utilities;
|
@theme {
|
||||||
|
--color-bg-base: #f0eee9;
|
||||||
|
--color-text-primary: oklch(0.22 0.015 270);
|
||||||
|
--color-text-secondary: oklch(0.42 0.012 270);
|
||||||
|
--color-text-muted: oklch(0.58 0.01 270);
|
||||||
|
--color-border-subtle: oklch(0.92 0.006 85);
|
||||||
|
--font-display: 'Plus Jakarta Sans', sans-serif;
|
||||||
|
--font-mono: 'JetBrains Mono', monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Plus Jakarta Sans';
|
||||||
|
src: url('/fonts/PlusJakartaSans-VariableFont_wght.woff2') format('woff2');
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: var(--color-bg-base);
|
||||||
|
color: var(--color-text-primary);
|
||||||
|
font-family: var(--font-display);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,9 @@ use Illuminate\Support\Facades\Route;
|
||||||
use Livewire\Volt\Volt;
|
use Livewire\Volt\Volt;
|
||||||
|
|
||||||
Route::middleware('guest')->group(function () {
|
Route::middleware('guest')->group(function () {
|
||||||
Volt::route('register', 'pages.auth.register')
|
// Registration disabled — Lernschiff is invite-only.
|
||||||
->name('register');
|
// Volt::route('register', 'pages.auth.register')
|
||||||
|
// ->name('register');
|
||||||
|
|
||||||
Volt::route('login', 'pages.auth.login')
|
Volt::route('login', 'pages.auth.login')
|
||||||
->name('login');
|
->name('login');
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,12 @@
|
||||||
|
|
||||||
namespace Tests\Feature\Auth;
|
namespace Tests\Feature\Auth;
|
||||||
|
|
||||||
use Livewire\Volt\Volt;
|
// Lernschiff is invite-only. Self-registration is disabled.
|
||||||
|
// Users are created by school-admin or platform-admin via invite.
|
||||||
|
|
||||||
test('registration screen can be rendered', function () {
|
test('registration screen is disabled (invite-only)', function () {
|
||||||
$response = $this->get('/register');
|
// /register route is commented out in routes/auth.php — expect 404.
|
||||||
|
$this->get('/register')->assertNotFound();
|
||||||
$response
|
|
||||||
->assertOk()
|
|
||||||
->assertSeeVolt('pages.auth.register');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('new users can register', function () {
|
test('new users can register', function () {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import laravel from 'laravel-vite-plugin';
|
import laravel from 'laravel-vite-plugin';
|
||||||
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
|
tailwindcss(),
|
||||||
laravel({
|
laravel({
|
||||||
input: ['resources/css/app.css', 'resources/js/app.js', 'resources/js/auth.js'],
|
input: ['resources/css/app.css', 'resources/js/app.js', 'resources/js/auth.js'],
|
||||||
refresh: true,
|
refresh: true,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue