@@ -2,12 +2,27 @@ import '@logseq/libs'
22import { SettingSchemaDesc , BlockEntity , IBatchBlock , BlockUUID } from '@logseq/libs/dist/LSPlugin'
33import { parse as luaparse } from 'luaparse'
44import { ProgressNotification } from './progress'
5- import { get as getStorage , set as setStorage } from 'idb-keyval' ;
6-
7- let settings : SettingSchemaDesc [ ] = [ ]
5+ import { get as getStorage , set as setStorage , del as delStorage } from 'idb-keyval' ;
6+
7+ let settings : SettingSchemaDesc [ ] = [
8+ {
9+ key : "rememberDirectory" ,
10+ default : true ,
11+ description : "Remember saved path to KOReader files. Uncheck to clear saved path, but remember to switch it back on after." ,
12+ title : "Remember KOReader Path" ,
13+ type : "boolean" ,
14+ } ,
15+ ]
816
917const delay = ( t = 100 ) => new Promise ( r => setTimeout ( r , t ) )
1018
19+ function onSettingsChange ( ) {
20+ console . log ( "settings changed." ) ;
21+ if ( ! ( logseq . settings ?. rememberDirectory ) ) {
22+ delStorage ( 'logseq_koreader_sync__directoryHandle' )
23+ }
24+ }
25+
1126function truncateString ( str , length ) {
1227 if ( ! str ) {
1328 return '' ;
@@ -267,6 +282,9 @@ function main () {
267282 logseq . useSettingsSchema ( settings )
268283 logseq . provideModel ( {
269284 async syncKOReader ( ) {
285+ onSettingsChange ( ) ;
286+ logseq . onSettingsChanged ( onSettingsChange ) ;
287+
270288 const info = await logseq . App . getUserConfigs ( )
271289 if ( loading ) return
272290
@@ -326,7 +344,10 @@ function main () {
326344 console . error ( e ) ;
327345 return ;
328346 }
329- setStorage ( 'logseq_koreader_sync__directoryHandle' , directoryHandle ) ;
347+
348+ if ( logseq . settings ?. rememberDirectory ) {
349+ setStorage ( 'logseq_koreader_sync__directoryHandle' , directoryHandle ) ;
350+ }
330351 }
331352
332353 if ( ! directoryHandle ) {
0 commit comments