@@ -152,39 +152,48 @@ export const githubParamsSchema = z.object({
152152 . transform ( ( val ) => val === 'true' ) ,
153153} ) ;
154154
155- export const ogParamsSchema = z . object ( {
156- user : z
157- . string ( )
158- . trim ( )
159- . optional ( )
160- . transform ( ( val ) => ( val === '' ? undefined : val ) )
161- . default ( 'unknown' ) ,
162- theme : z
163- . string ( )
164- . trim ( )
165- . optional ( )
166- . transform ( ( val ) => ( val === '' ? undefined : val ) )
167- . transform ( ( val ) => ( val && Object . hasOwn ( themes , val ) ? val : 'dark' ) )
168- . default ( 'dark' ) ,
169- bg : z
170- . string ( )
171- . trim ( )
172- . optional ( )
173- . transform ( ( val ) => ( val === '' ? undefined : val ) )
174- . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
175- text : z
176- . string ( )
177- . trim ( )
178- . optional ( )
179- . transform ( ( val ) => ( val === '' ? undefined : val ) )
180- . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
181- accent : z
182- . string ( )
183- . trim ( )
184- . optional ( )
185- . transform ( ( val ) => ( val === '' ? undefined : val ) )
186- . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
187- } ) ;
155+ export const ogParamsSchema = z
156+ . object ( {
157+ user : z
158+ . string ( )
159+ . trim ( )
160+ . optional ( )
161+ . transform ( ( val ) => ( val === '' ? undefined : val ) ) ,
162+ username : z
163+ . string ( )
164+ . trim ( )
165+ . optional ( )
166+ . transform ( ( val ) => ( val === '' ? undefined : val ) ) ,
167+ theme : z
168+ . string ( )
169+ . trim ( )
170+ . optional ( )
171+ . transform ( ( val ) => ( val === '' ? undefined : val ) )
172+ . transform ( ( val ) => ( val && Object . hasOwn ( themes , val ) ? val : 'dark' ) )
173+ . default ( 'dark' ) ,
174+ bg : z
175+ . string ( )
176+ . trim ( )
177+ . optional ( )
178+ . transform ( ( val ) => ( val === '' ? undefined : val ) )
179+ . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
180+ text : z
181+ . string ( )
182+ . trim ( )
183+ . optional ( )
184+ . transform ( ( val ) => ( val === '' ? undefined : val ) )
185+ . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
186+ accent : z
187+ . string ( )
188+ . trim ( )
189+ . optional ( )
190+ . transform ( ( val ) => ( val === '' ? undefined : val ) )
191+ . transform ( ( val ) => ( val && isValidHex ( val ) ? sanitizeHexColor ( val , '000000' ) : undefined ) ) ,
192+ } )
193+ . transform ( ( data ) => ( {
194+ ...data ,
195+ user : data . user || data . username || 'unknown' ,
196+ } ) ) ;
188197
189198export const statsParamsSchema = z . object ( {
190199 user : z . string ( { error : 'Missing user parameter' } ) . min ( 1 , { message : 'Missing user parameter' } ) ,
0 commit comments