added StoragePersist.vue to prompt user/browser to persist our data permanently and not evict it to free memory

This commit is contained in:
wea_ondara
2023-09-26 17:50:54 +02:00
parent cacecbd2e3
commit 6cf5a7d84c
4 changed files with 23 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import {Options, Vue} from 'vue-class-component';
import DocumentLocaleSetter from '@/components/locale/DocumentLocaleSetter.vue';
import NavBar from '@/components/NavBar.vue';
import LocaleSaver from '@/components/locale/LocaleSaver.vue';
import StoragePersist from '@/components/StoragePersist.vue';
@Options({
name: 'App',
@@ -12,6 +13,7 @@ import LocaleSaver from '@/components/locale/LocaleSaver.vue';
LocaleSaver,
NavBar,
RouterView,
StoragePersist,
},
})
export default class App extends Vue {
@@ -23,6 +25,7 @@ export default class App extends Vue {
<div class="d-flex flex-column h-100 w-100">
<LocaleSaver/>
<DocumentLocaleSetter/>
<StoragePersist/>
<NavBar/>
<RouterView class="flex-grow-1"/>
</div>

View File

@@ -0,0 +1,18 @@
<script lang="ts">
import {Options, Vue} from 'vue-class-component';
import {toast} from 'vue3-toastify';
@Options({name: 'StoragePersist'})
export default class StoragePersist extends Vue {
async mounted(): Promise<void> {
if (!navigator.storage) {
toast.error(this.$t('localStoragePersistNotSupported'), {autoClose: false, theme: 'colored'});
} else {
await navigator.storage.persist();
}
}
}
</script>
<template>
</template>

View File

@@ -11,6 +11,7 @@ export const messagesDe = {
},
},
locale: messagesEn.locale,
localStoragePersistNotSupported: 'Lokaler Speicher wird nicht permanent. Das könnte in längere Wartezeiten verursachen!',
manga: {
chapters: {
newCount: '#Neue Kapitel',

View File

@@ -12,6 +12,7 @@ export const messagesEn = {
'de': 'Deutsch',
'en': 'English',
},
localStoragePersistNotSupported: 'Locale storage will not be persisted. This could result in longer loading times!',
manga: {
chapters: {
newCount: '#new chapters',