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 @@