@@ -118,10 +118,12 @@ export const ScrapbookText: React.FC<ScrapbookTextProps> = ({
118118 } , [ text ] ) ;
119119
120120 const uppercaseText = text . toUpperCase ( ) ;
121- const letters = uppercaseText . split ( '' ) . filter ( ( char ) => char !== ' ' ) ;
122121
123122 // Generate random transforms once per component instance (changes on reload)
124- const transforms = useMemo ( ( ) => generateRandomTransforms ( letters . length ) , [ letters . length ] ) ;
123+ const transforms = useMemo ( ( ) => {
124+ const letterCount = uppercaseText . replace ( / / g, '' ) . length ;
125+ return generateRandomTransforms ( letterCount ) ;
126+ } , [ uppercaseText ] ) ;
125127
126128 return (
127129 < div className = { `flex items-center justify-center flex-wrap ${ className } ` } >
@@ -138,6 +140,7 @@ export const ScrapbookText: React.FC<ScrapbookTextProps> = ({
138140 // Calculate letter index (excluding spaces)
139141 const letterIndex = uppercaseText . slice ( 0 , index ) . replace ( / / g, '' ) . length ;
140142 const transform = transforms [ letterIndex ] ;
143+ const totalLetters = uppercaseText . replace ( / / g, '' ) . length ;
141144
142145 return (
143146 < ScrapbookLetter
@@ -146,7 +149,7 @@ export const ScrapbookText: React.FC<ScrapbookTextProps> = ({
146149 rotation = { transform . rotation }
147150 offsetY = { transform . offsetY }
148151 scale = { transform . scale }
149- zIndex = { letters . length - letterIndex }
152+ zIndex = { totalLetters - letterIndex }
150153 size = { letterSize }
151154 letterClassName = { letterClassName }
152155 />
0 commit comments