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 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>

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, 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',

View File

@@ -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',