@@ -135,7 +135,20 @@ export function loadCustomThemeFromUrl(getOverride?: string): void {
135135const TestSettingsSchema = z . tuple ( [
136136 ModeSchema . nullable ( ) ,
137137 Mode2Schema . nullable ( ) ,
138- CustomText . CustomTextSettingsSchema . nullable ( ) ,
138+ CustomText . CustomTextSettingsSchema . partial ( {
139+ pipeDelimiter : true ,
140+ limit : true ,
141+ mode : true ,
142+ } )
143+ //legacy values
144+ . extend ( {
145+ isTimeRandom : z . boolean ( ) . optional ( ) ,
146+ isWordRandom : z . boolean ( ) . optional ( ) ,
147+ word : z . number ( ) . int ( ) . optional ( ) ,
148+ time : z . number ( ) . int ( ) . optional ( ) ,
149+ delimiter : z . string ( ) . optional ( ) ,
150+ } )
151+ . nullable ( ) ,
139152 z . boolean ( ) . nullable ( ) , //punctuation
140153 z . boolean ( ) . nullable ( ) , //numbers
141154 z . string ( ) . nullable ( ) , //language
@@ -186,9 +199,34 @@ export function loadTestSettingsFromUrl(getOverride?: string): void {
186199 if ( de [ 2 ] !== null ) {
187200 const customTextSettings = de [ 2 ] ;
188201 CustomText . setText ( customTextSettings . text ) ;
189- CustomText . setLimitMode ( customTextSettings . limit . mode ) ;
190- CustomText . setLimitValue ( customTextSettings . limit . value ) ;
191- CustomText . setPipeDelimiter ( customTextSettings . pipeDelimiter ) ;
202+
203+ if ( customTextSettings . limit !== undefined ) {
204+ CustomText . setLimitMode ( customTextSettings . limit . mode ) ;
205+ CustomText . setLimitValue ( customTextSettings . limit . value ) ;
206+ }
207+ //convert legacy values
208+ else {
209+ if ( customTextSettings . isWordRandom ) {
210+ CustomText . setLimitMode ( "word" ) ;
211+ } else if ( customTextSettings . isTimeRandom ) {
212+ CustomText . setLimitMode ( "time" ) ;
213+ }
214+ if ( customTextSettings . word !== undefined ) {
215+ CustomText . setLimitValue ( customTextSettings . word ) ;
216+ } else if ( customTextSettings . time !== undefined ) {
217+ CustomText . setLimitValue ( customTextSettings . time ) ;
218+ }
219+ }
220+
221+ if ( customTextSettings . pipeDelimiter ) {
222+ CustomText . setPipeDelimiter ( customTextSettings . pipeDelimiter ) ;
223+ }
224+ //convert legacy values
225+ else if ( customTextSettings . delimiter === "|" ) {
226+ CustomText . setPipeDelimiter ( true ) ;
227+ }
228+
229+ CustomText . setMode ( customTextSettings . mode ?? "repeat" ) ;
192230
193231 applied [ "custom text settings" ] = "" ;
194232 }
0 commit comments