Skip to content

Commit 2609fd2

Browse files
committed
feature: storing path now optional #5
1 parent 1694ba8 commit 2609fd2

2 files changed

Lines changed: 26 additions & 5 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "logseq-koreader-sync",
3-
"version": "1.2.4",
3+
"version": "1.2.5",
44
"title": "Logseq Koreader Sync",
55
"description": "A koreader to logseq syncing plugin. Reference and read annotations in your notebook.",
66
"main": "dist/index.html",

src/index.ts

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,27 @@ import '@logseq/libs'
22
import { SettingSchemaDesc, BlockEntity, IBatchBlock, BlockUUID } from '@logseq/libs/dist/LSPlugin'
33
import { parse as luaparse } from 'luaparse'
44
import { 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

917
const 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+
1126
function 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

Comments
 (0)