feat(frontend): Tailwind v4 @theme + vite-plugin-pwa + local fonts
Replaced vite.config.js with laravel+tailwind v4+VitePWA config, added auth.js and touch.js entry points. Rewrote app.css with Tailwind v4 @theme custom tokens and local @font-face declarations for Plus Jakarta Sans (variable) and JetBrains Mono. Downloaded both woff2 font files locally to public/fonts/ — no CDN links. Vite build: exit 0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
fe3b8d904f
commit
318a6f1f6b
File diff suppressed because it is too large
Load Diff
|
|
@ -11,6 +11,7 @@
|
||||||
"concurrently": "^9.0.1",
|
"concurrently": "^9.0.1",
|
||||||
"laravel-vite-plugin": "^3.1",
|
"laravel-vite-plugin": "^3.1",
|
||||||
"tailwindcss": "^4.0.0",
|
"tailwindcss": "^4.0.0",
|
||||||
"vite": "^8.0.0"
|
"vite": "^8.0.0",
|
||||||
|
"vite-plugin-pwa": "^1.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,11 +1,33 @@
|
||||||
@import 'tailwindcss';
|
@import "tailwindcss";
|
||||||
|
|
||||||
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
|
|
||||||
@source '../../storage/framework/views/*.php';
|
|
||||||
@source '../**/*.blade.php';
|
|
||||||
@source '../**/*.js';
|
|
||||||
|
|
||||||
@theme {
|
@theme {
|
||||||
--font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
--color-bg-base: #f0eee9;
|
||||||
'Segoe UI Symbol', 'Noto Color Emoji';
|
--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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
// Auth entry point
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
// Touch/tracing entry point for Vorschule (Phase 7)
|
||||||
|
|
@ -1,24 +1,45 @@
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import laravel from 'laravel-vite-plugin';
|
import laravel from 'laravel-vite-plugin';
|
||||||
import { bunny } from 'laravel-vite-plugin/fonts';
|
|
||||||
import tailwindcss from '@tailwindcss/vite';
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
|
import { VitePWA } from 'vite-plugin-pwa';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
laravel({
|
laravel({
|
||||||
input: ['resources/css/app.css', 'resources/js/app.js'],
|
input: [
|
||||||
refresh: true,
|
'resources/css/app.css',
|
||||||
fonts: [
|
'resources/js/auth.js',
|
||||||
bunny('Instrument Sans', {
|
'resources/js/app.js',
|
||||||
weights: [400, 500, 600],
|
'resources/js/touch.js',
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
|
refresh: true,
|
||||||
}),
|
}),
|
||||||
tailwindcss(),
|
tailwindcss(),
|
||||||
|
VitePWA({
|
||||||
|
registerType: 'autoUpdate',
|
||||||
|
manifest: false,
|
||||||
|
workbox: {
|
||||||
|
runtimeCaching: [
|
||||||
|
{
|
||||||
|
urlPattern: /\.(?:js|css|woff2|png|svg|ico)$/,
|
||||||
|
handler: 'CacheFirst',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
urlPattern: /\/.*$/,
|
||||||
|
handler: 'NetworkOnly',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
server: {
|
server: {
|
||||||
watch: {
|
host: '0.0.0.0',
|
||||||
ignored: ['**/storage/framework/views/**'],
|
port: 5173,
|
||||||
|
hmr: {
|
||||||
|
host: 'app.dev.lernschiff.com',
|
||||||
|
protocol: 'wss',
|
||||||
|
clientPort: 443,
|
||||||
},
|
},
|
||||||
|
cors: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue