diff --git a/attached_assets/image_1772637430140.png b/attached_assets/image_1772637430140.png new file mode 100644 index 0000000..a9ad4d6 Binary files /dev/null and b/attached_assets/image_1772637430140.png differ diff --git a/client/src/components/artist-pattern-bg.tsx b/client/src/components/artist-pattern-bg.tsx index a62e540..712d6d7 100644 --- a/client/src/components/artist-pattern-bg.tsx +++ b/client/src/components/artist-pattern-bg.tsx @@ -9,6 +9,8 @@ const ARTISTS = [ "Die 3 Z'widern", "Mark Ed", "Natascha", "Meli Stein", "SUSAL", "Pfundskerle", "Da Wadltreiber", "Sanny", "Alex Reichinger", "Sigrid & Marina", "Folx Stadl", "Gipfelstammtisch", + "Wildecker Herzbuben", "Herzilein", "Jonny Hill", "Ramona Martiness", + "Kayla Kristin", "Kevin Neon", "Robi Zupan", "Oberkrainer", ]; function seededRandom(seed: number) { @@ -29,17 +31,22 @@ export default function ArtistPatternBg({ children, className = "", seed = 42 }: const items = useMemo(() => { const rng = seededRandom(seed); const result: { name: string; x: number; y: number; size: number; opacity: number; rotation: number; italic: boolean }[] = []; - const count = 40; - for (let i = 0; i < count; i++) { - result.push({ - name: ARTISTS[Math.floor(rng() * ARTISTS.length)], - x: rng() * 100, - y: (i / count) * 100 + (rng() - 0.5) * 8, - size: 11 + rng() * 11, - opacity: 0.08 + rng() * 0.12, - rotation: -15 + rng() * 30, - italic: rng() > 0.6, - }); + const rows = 20; + const cols = 6; + for (let row = 0; row < rows; row++) { + for (let col = 0; col < cols; col++) { + const cellW = 100 / cols; + const cellH = 100 / rows; + result.push({ + name: ARTISTS[Math.floor(rng() * ARTISTS.length)], + x: col * cellW + rng() * cellW * 0.8, + y: row * cellH + rng() * cellH * 0.7, + size: 10 + rng() * 8, + opacity: 0.07 + rng() * 0.11, + rotation: -20 + rng() * 40, + italic: rng() > 0.6, + }); + } } return result; }, [seed]);