@@ -371,6 +371,8 @@ const message_id = () => {
371
371
}
372
372
373
373
window . onload = async ( ) => {
374
+ load_settings_localstorage ( ) ;
375
+
374
376
conversations = 0
375
377
for ( let i = 0 ; i < localStorage . length ; i ++ ) {
376
378
if ( localStorage . key ( i ) . startsWith ( 'conversation:' ) ) {
@@ -406,6 +408,8 @@ window.onload = async () => {
406
408
if ( prompt_lock ) return ;
407
409
await handle_ask ( ) ;
408
410
} ) ;
411
+
412
+ register_settings_localstorage ( ) ;
409
413
}
410
414
411
415
document . querySelector ( '.mobile-sidebar' ) . addEventListener ( 'click' , ( event ) => {
@@ -420,4 +424,40 @@ document.querySelector('.mobile-sidebar').addEventListener('click', (event) => {
420
424
}
421
425
422
426
window . scrollTo ( 0 , 0 ) ;
423
- } )
427
+ } )
428
+
429
+ const register_settings_localstorage = async ( ) => {
430
+ settings_ids = [ 'switch' , 'model' , 'jailbreak' ]
431
+ settings_elements = settings_ids . map ( id => document . getElementById ( id ) )
432
+ settings_elements . map ( element => element . addEventListener ( `change` , async ( event ) => {
433
+ switch ( event . target . type ) {
434
+ case 'checkbox' :
435
+ localStorage . setItem ( event . target . id , event . target . checked )
436
+ break
437
+ case 'select-one' :
438
+ localStorage . setItem ( event . target . id , event . target . selectedIndex )
439
+ break
440
+ default :
441
+ console . warn ( 'Unresolved element type' )
442
+ }
443
+ } ) )
444
+ }
445
+
446
+ const load_settings_localstorage = async ( ) => {
447
+ settings_ids = [ 'switch' , 'model' , 'jailbreak' ]
448
+ settings_elements = settings_ids . map ( id => document . getElementById ( id ) )
449
+ settings_elements . map ( element => {
450
+ if ( localStorage . getItem ( element . id ) ) {
451
+ switch ( element . type ) {
452
+ case 'checkbox' :
453
+ element . checked = localStorage . getItem ( element . id ) === 'true'
454
+ break
455
+ case 'select-one' :
456
+ element . selectedIndex = parseInt ( localStorage . getItem ( element . id ) )
457
+ break
458
+ default :
459
+ console . warn ( 'Unresolved element type' )
460
+ }
461
+ }
462
+ } )
463
+ }
0 commit comments