Compare commits

...

4 Commits

Author SHA1 Message Date
valknar 2b22f504cf fix: pass DB_PASSWORD to postgres client in sync script
The sync script created its own postgres client and only read DATABASE_URL,
bypassing the DB_PASSWORD override that lib/db/index.ts already applied.
Since DATABASE_URL has no password embedded, auth always failed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:43:50 +02:00
valknar 9a87e9dde3 fix: proper Tailwind v4 CSS structure in globals.css
- @theme inline → @theme so tokens generate utility classes (bg-bg,
  text-text, font-display etc.) rather than being inlined as vars only
- Wrap base resets, keyframes and custom classes in @layer base for
  correct Tailwind cascade ordering
- Remove broken @source directives (Tailwind v4 auto-detects sources
  from the project root when using @tailwindcss/postcss with Next.js)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:37:59 +02:00
valknar ea7f0551f0 fix: replace recursive ** globs in @source with explicit per-directory paths
Tailwind v4 @source does not support ** recursive globs — each
directory level must be listed explicitly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:26:25 +02:00
valknar 30d30f68fb fix: add @source directives so Tailwind v4 scans all component files
Without explicit @source paths, Tailwind v4 auto-detection can miss
app/, components/, and lib/ directories in production builds, causing
utility classes to be stripped from the output CSS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:22:13 +02:00
2 changed files with 42 additions and 37 deletions
+3 -1
View File
@@ -1,7 +1,7 @@
@import "tailwindcss"; @import "tailwindcss";
@import "flag-icons/css/flag-icons.min.css"; @import "flag-icons/css/flag-icons.min.css";
@theme inline { @theme {
--color-bg: #040d08; --color-bg: #040d08;
--color-card: #0a1810; --color-card: #0a1810;
--color-hero: #0d2416; --color-hero: #0d2416;
@@ -17,6 +17,7 @@
--font-body: "Space Grotesk", system-ui, sans-serif; --font-body: "Space Grotesk", system-ui, sans-serif;
} }
@layer base {
* { box-sizing: border-box; margin: 0; padding: 0; } * { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; } html { scroll-behavior: smooth; }
@@ -55,3 +56,4 @@ body {
rgba(34,197,94,0.018) 88px rgba(34,197,94,0.018) 88px
); );
} }
}
+4 -1
View File
@@ -73,7 +73,10 @@ function parseScore(score: RawScore | undefined) {
} }
async function run() { async function run() {
const client = postgres(DATABASE_URL, { max: 5 }) const client = postgres(DATABASE_URL, {
max: 5,
...(process.env.DB_PASSWORD ? { password: process.env.DB_PASSWORD } : {}),
})
const db = drizzle(client) const db = drizzle(client)
console.log('Creating tables...') console.log('Creating tables...')