summaryrefslogtreecommitdiffstats
path: root/src/mixins/talkHashCheck.js
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-05-26 19:16:30 +0200
committerJoas Schilling <coding@schilljs.com>2020-05-26 19:17:19 +0200
commitfcd7960c18709fa516cc1757395cf8ff26a72fd7 (patch)
tree4e4a1b26aea1efd628162042187551bbad711b4a /src/mixins/talkHashCheck.js
parent5e67921f8054f3707f0cf4abd7deecbc6be49a10 (diff)
Move X-Nextcloud-Talk-Hash handling to a mixin
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'src/mixins/talkHashCheck.js')
-rw-r--r--src/mixins/talkHashCheck.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/mixins/talkHashCheck.js b/src/mixins/talkHashCheck.js
new file mode 100644
index 000000000..1ce556a5f
--- /dev/null
+++ b/src/mixins/talkHashCheck.js
@@ -0,0 +1,60 @@
+/**
+ * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>
+ *
+ * @author Marco Ambrosini <marcoambrosini@pm.me>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+import { showError } from '@nextcloud/dialogs'
+
+const talkHashCheck = {
+ data() {
+ return {
+ reloadWarningShown: false,
+ }
+ },
+
+ computed: {
+ isNextcloudTalkHashDirty() {
+ return this.$store.getters.isNextcloudTalkHashDirty
+ },
+ },
+
+ watch: {
+ isNextcloudTalkHashDirty(isDirty) {
+ if (isDirty) {
+ this.showReloadWarning()
+ }
+ },
+ },
+
+ methods: {
+ showReloadWarning() {
+ if (this.reloadWarningShown) {
+ return
+ }
+
+ this.reloadWarningShown = true
+ showError(t('spreed', 'Nextcloud Talk was updated, please reload the page'), {
+ timeout: 0,
+ })
+ },
+ },
+}
+
+export default talkHashCheck