added StoragePersist.vue to prompt user/browser to persist our data permanently and not evict it to free memory
This commit is contained in:
@@ -4,6 +4,7 @@ import {Options, Vue} from 'vue-class-component';
|
|||||||
import DocumentLocaleSetter from '@/components/locale/DocumentLocaleSetter.vue';
|
import DocumentLocaleSetter from '@/components/locale/DocumentLocaleSetter.vue';
|
||||||
import NavBar from '@/components/NavBar.vue';
|
import NavBar from '@/components/NavBar.vue';
|
||||||
import LocaleSaver from '@/components/locale/LocaleSaver.vue';
|
import LocaleSaver from '@/components/locale/LocaleSaver.vue';
|
||||||
|
import StoragePersist from '@/components/StoragePersist.vue';
|
||||||
|
|
||||||
@Options({
|
@Options({
|
||||||
name: 'App',
|
name: 'App',
|
||||||
@@ -12,6 +13,7 @@ import LocaleSaver from '@/components/locale/LocaleSaver.vue';
|
|||||||
LocaleSaver,
|
LocaleSaver,
|
||||||
NavBar,
|
NavBar,
|
||||||
RouterView,
|
RouterView,
|
||||||
|
StoragePersist,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class App extends Vue {
|
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">
|
<div class="d-flex flex-column h-100 w-100">
|
||||||
<LocaleSaver/>
|
<LocaleSaver/>
|
||||||
<DocumentLocaleSetter/>
|
<DocumentLocaleSetter/>
|
||||||
|
<StoragePersist/>
|
||||||
<NavBar/>
|
<NavBar/>
|
||||||
<RouterView class="flex-grow-1"/>
|
<RouterView class="flex-grow-1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
18
src/components/StoragePersist.vue
Normal file
18
src/components/StoragePersist.vue
Normal 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>
|
||||||
@@ -11,6 +11,7 @@ export const messagesDe = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
locale: messagesEn.locale,
|
locale: messagesEn.locale,
|
||||||
|
localStoragePersistNotSupported: 'Lokaler Speicher wird nicht permanent. Das könnte in längere Wartezeiten verursachen!',
|
||||||
manga: {
|
manga: {
|
||||||
chapters: {
|
chapters: {
|
||||||
newCount: '#Neue Kapitel',
|
newCount: '#Neue Kapitel',
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export const messagesEn = {
|
|||||||
'de': 'Deutsch',
|
'de': 'Deutsch',
|
||||||
'en': 'English',
|
'en': 'English',
|
||||||
},
|
},
|
||||||
|
localStoragePersistNotSupported: 'Locale storage will not be persisted. This could result in longer loading times!',
|
||||||
manga: {
|
manga: {
|
||||||
chapters: {
|
chapters: {
|
||||||
newCount: '#new chapters',
|
newCount: '#new chapters',
|
||||||
|
|||||||
Reference in New Issue
Block a user