diff --git a/pkg/extension/src/images/extension/icon-19.png b/pkg/extension/src/images/extension/icon-19.png new file mode 100644 index 000000000..9c5f2a8ee Binary files /dev/null and b/pkg/extension/src/images/extension/icon-19.png differ diff --git a/pkg/extension/src/images/extension/icon-38.png b/pkg/extension/src/images/extension/icon-38.png new file mode 100644 index 000000000..1041a3f2a Binary files /dev/null and b/pkg/extension/src/images/extension/icon-38.png differ diff --git a/pkg/extension/src/images/extension/icon-70.png b/pkg/extension/src/images/extension/icon-70.png new file mode 100644 index 000000000..41337352f Binary files /dev/null and b/pkg/extension/src/images/extension/icon-70.png differ diff --git a/pkg/extension/src/manifest.json b/pkg/extension/src/manifest.json index e9b8fceb2..958648b27 100644 --- a/pkg/extension/src/manifest.json +++ b/pkg/extension/src/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "process.env.EXTENSION_NAME", "short_name": "process.env.EXTENSION_NAME", - "version": "2.6.2", + "version": "2.8.0", "description": "Save PDFs and Articles to your Omnivore library", "author": "Omnivore Media, Inc", "default_locale": "en", @@ -95,4 +95,4 @@ "web_accessible_resources": [ "views/toast.html" ] -} \ No newline at end of file +} diff --git a/pkg/extension/src/scripts/content/toast.js b/pkg/extension/src/scripts/content/toast.js index 443bb6941..cf2031716 100644 --- a/pkg/extension/src/scripts/content/toast.js +++ b/pkg/extension/src/scripts/content/toast.js @@ -247,13 +247,29 @@ // Auto hide if everything went well and the user // has not initiated any interaction. - hideToastTimeout = setTimeout(function () { - console.log('hiding: ', currentToastEl, doNotHide) - if (!doNotHide) { - currentToastEl.remove() - currentToastEl = undefined - } - }, 2500) + const handleAutoDismiss = (autoDismissTime) => { + const dismissTime = + autoDismissTime && !Number.isNaN(Number(autoDismissTime)) + ? Number(autoDismissTime) + : 2500 + console.log('setting dismiss time: ', dismissTime) + hideToastTimeout = setTimeout(function () { + console.log('hiding toast timeout') + if (!doNotHide) { + currentToastEl.remove() + currentToastEl = undefined + } + }, dismissTime) + } + + getStorageItem('autoDismissTime') + .then((autoDismissTime) => { + handleAutoDismiss(autoDismissTime) + }) + .catch(() => { + handleAutoDismiss('2500') + }) + getStorageItem('disableAutoDismiss').then((disable) => { console.log('got disableAutoDismiss', disable) if (disable) { diff --git a/pkg/extension/src/scripts/options.js b/pkg/extension/src/scripts/options.js index e2a14efaa..6e8eb4856 100644 --- a/pkg/extension/src/scripts/options.js +++ b/pkg/extension/src/scripts/options.js @@ -49,6 +49,21 @@ function autoDismissChanged(event) { }) } +function saveAutoDismissTime() { + const value = document.getElementById('auto-dismiss-time').value + + if (value.length < 1 || Number.isNaN(Number(value))) { + alert('Invalid value') + return + } + + setStorage({ + autoDismissTime: value, + }).then(() => { + console.log('autoDismissTime updated', value) + }) +} + ;(() => { document .getElementById('save-api-key-btn') @@ -61,7 +76,6 @@ function autoDismissChanged(event) { .addEventListener('click', clearAPIKey) getStorageItem('disableAutoDismiss').then((value) => { - console.log('disableAutoDismiss updated', value) document.getElementById('disable-auto-dismiss').checked = value ? true : false @@ -70,4 +84,11 @@ function autoDismissChanged(event) { document .getElementById('disable-auto-dismiss') .addEventListener('change', autoDismissChanged) + + getStorageItem('autoDismissTime').then((value) => { + document.getElementById('auto-dismiss-time').value = value ?? '2500' + }) + document + .getElementById('auto-dismiss-time-btn') + .addEventListener('click', saveAutoDismissTime) })() diff --git a/pkg/extension/src/views/options.html b/pkg/extension/src/views/options.html index 538989d73..6d94b26c6 100644 --- a/pkg/extension/src/views/options.html +++ b/pkg/extension/src/views/options.html @@ -1,7 +1,7 @@ - API Key Storage + Omnivore Extension Settings @@ -35,8 +35,16 @@

Settings

- - +

+ + +

+ +

+ + + +