diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..809b7b0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,10 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + + diff --git a/README.md b/README.md index 59aea8f..067bf6c 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ Your browser must support Web Bluetooth API: [supported browsers](https://develo For serial communication: [supported browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API#browser_compatibility). +In some systems you need to enable Chrome `Experimental Web Platform Features` (navigate to `chrome://flags`). + ## Feedback needed! I only have D110 and B1 printers. If you own other models, please write a comment [here](https://github.com/MultiMote/niimbluelib/issues/1) describing your model working or not. diff --git a/src/lib/SavedLabelsMenu.svelte b/src/lib/SavedLabelsMenu.svelte index 888db69..06cdb02 100644 --- a/src/lib/SavedLabelsMenu.svelte +++ b/src/lib/SavedLabelsMenu.svelte @@ -16,6 +16,11 @@ let savedLabels: ExportedLabelTemplate[] = []; let selectedIndex: number = -1; let title: string = ""; + let usedSpace: number = 0; + + const calcUsedSpace = () => { + usedSpace = LocalStoragePersistence.usedSpace(); + } const onLabelSelected = (index: number) => { selectedIndex = index; @@ -38,8 +43,21 @@ savedLabels = result; title = ""; + calcUsedSpace(); }; + const saveLabels = (labels: ExportedLabelTemplate[]) => { + const {zodErrors, otherErrors} = LocalStoragePersistence.saveLabels(labels); + zodErrors.forEach((e) => Toasts.zodErrors(e, "Label save error")); + otherErrors.forEach((e) => Toasts.error(e)); + + if (zodErrors.length === 0 && otherErrors.length === 0) { + savedLabels = labels; + } + + calcUsedSpace(); + } + const onSaveReplaceClicked = () => { if (selectedIndex === -1) { return; @@ -55,26 +73,14 @@ const result = [...savedLabels]; result[selectedIndex] = label; - const errors = LocalStoragePersistence.saveLabels(result); - errors.forEach((e) => Toasts.zodErrors(e, "Label save error")); - - if (errors.length === 0) { - savedLabels = result; - } + saveLabels(result); }; const onSaveClicked = () => { const label = onRequestCurrentCanvas(); label.title = title; const result = [...savedLabels, label]; - console.log(result); - - const errors = LocalStoragePersistence.saveLabels(result); - errors.forEach((e) => Toasts.zodErrors(e, "Label save error")); - - if (errors.length === 0) { - savedLabels = result; - } + saveLabels(result); }; const onLoadClicked = () => { @@ -114,12 +120,9 @@ } }; - const reload = () => { - savedLabels = LocalStoragePersistence.loadLabels(); - }; - onMount(() => { - reload(); + savedLabels = LocalStoragePersistence.loadLabels(); + calcUsedSpace(); }); @@ -128,7 +131,9 @@