diff --git a/assets/css/styles.scss b/assets/css/styles.scss
index 831a86e0e..614e89475 100644
--- a/assets/css/styles.scss
+++ b/assets/css/styles.scss
@@ -494,6 +494,7 @@ fieldset.yellow legend {
display: none;
}
+kbd,
select,
input,
option,
diff --git a/components/collections/folder.vue b/components/collections/folder.vue
index 567040a2d..4b2d6a4ce 100644
--- a/components/collections/folder.vue
+++ b/components/collections/folder.vue
@@ -27,13 +27,19 @@
class="icon"
@click="removeFolder"
v-tooltip="'Delete folder'"
+ v-close-popover
>
delete
Delete
-
+
+
+ keyboard
+ Shortcuts
+
+
@@ -219,10 +256,12 @@
import intializePwa from "../assets/js/pwa";
import logo from "../components/logo";
import * as version from "../.postwoman/version.json";
+import modal from "../components/modal";
export default {
components: {
- logo
+ logo,
+ modal
},
methods: {
@@ -240,7 +279,8 @@ export default {
// that can be called to show the user the installation
// prompt.
showInstallPrompt: null,
- version: {}
+ version: {},
+ showShortcuts: false
};
},
diff --git a/pages/index.vue b/pages/index.vue
index 05f681d07..3d359cf34 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -1942,6 +1942,13 @@ export default {
},
mounted() {
this.observeRequestButton();
+ this._keyListener = function(e) {
+ if (e.key === "s" && (e.ctrlKey || e.metaKey)) {
+ e.preventDefault();
+ this.saveRequest();
+ }
+ };
+ document.addEventListener("keydown", this._keyListener.bind(this));
},
created() {
this.urlExcludes = this.$store.state.postwoman.settings.URL_EXCLUDES || {
@@ -1974,6 +1981,9 @@ export default {
this.setRouteQueryState();
}
);
+ },
+ beforeDestroy() {
+ document.removeEventListener('keydown', this._keyListener);
}
};