11import React , { useMemo } from 'react' ;
22
3- const LuxeArt = ( { seed = 'luxe' , className } ) => {
3+ const LuxeArt = ( { seed = 'luxe' , className, transparent = false } ) => {
44 // LCG Random Generator
55 const rng = useMemo ( ( ) => {
66 let h = 0xdeadbeef ;
@@ -57,7 +57,7 @@ const LuxeArt = ({ seed = 'luxe', className }) => {
5757 // Close the shape to bottom/corners to form a fillable area
5858 d += ` L 100 100 L 0 100 Z` ;
5959
60- const opacity = 0.05 + r ( ) * 0.15 ;
60+ const opacity = ( 0.05 + r ( ) * 0.15 ) * ( transparent ? 2 : 1 ) ;
6161 // const color = `hsla(${baseHue + (r() - 0.5) * 40}, ${saturation}%, ${lightness - i * 5}%, ${opacity})`;
6262 // Force grayscale/gold/bronze tones for "Luxe"
6363 const isGold = r ( ) > 0.8 ;
@@ -79,15 +79,15 @@ const LuxeArt = ({ seed = 'luxe', className }) => {
7979 cx : r ( ) * 100 ,
8080 cy : r ( ) * 100 ,
8181 r : r ( ) * 0.3 ,
82- fill : 'rgba(0,0,0,0.1)'
82+ fill : transparent ? 'rgba(0,0,0,0.2)' : 'rgba(0,0,0,0.1)'
8383 } ) ;
8484 }
8585
8686 return { curves : items , specks } ;
8787 } , [ rng ] ) ;
8888
8989 return (
90- < div className = { `w-full h-full bg-[#EBEBEB] overflow-hidden relative ${ className } ` } >
90+ < div className = { `w-full h-full overflow-hidden relative ${ ! transparent && ' bg-[#EBEBEB]' } ${ className } ` } >
9191 < svg
9292 viewBox = "0 0 100 100"
9393 preserveAspectRatio = "none"
0 commit comments