More work on versioning for Events
This commit is contained in:
@@ -5,8 +5,8 @@ import type { Writable } from 'svelte/store';
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
|
||||
// Set the version for the app data. Changing this should force a notification and ask the user to clear and reload the page.
|
||||
let ver = '2024-08-21_1646';
|
||||
let ver_idb = '2024-08-21_1645';
|
||||
let ver = '2025-10-15_1259';
|
||||
let ver_idb = '2025-10-15_1259';
|
||||
|
||||
/* *** BEGIN *** Initialize events_local_data_struct */
|
||||
// Longer-term app data. This should be stored to *local* storage.
|
||||
|
||||
@@ -94,6 +94,40 @@ if (log_lvl > 1) {
|
||||
|
||||
// *** Functions and Logic
|
||||
|
||||
function clear_idb() {
|
||||
indexedDB.deleteDatabase('ae_archives_db'); // Archives module
|
||||
indexedDB.deleteDatabase('ae_core_db');
|
||||
indexedDB.deleteDatabase('ae_events_db'); // Events module
|
||||
indexedDB.deleteDatabase('ae_journals_db'); // Journals module
|
||||
indexedDB.deleteDatabase('ae_posts_db'); // Posts module
|
||||
indexedDB.deleteDatabase('ae_sponsorships_db'); // Sponsorships module
|
||||
}
|
||||
|
||||
function clear_local() {
|
||||
// localStorage.removeItem('ae_loc');
|
||||
// localStorage.removeItem('ae_idaa_loc');
|
||||
// localStorage.removeItem('ae_journals_loc');
|
||||
// localStorage.removeItem('ae_events_loc');
|
||||
|
||||
$ae_loc.allow_access = false;
|
||||
$ae_loc.authenticated_access = false;
|
||||
$ae_loc.edit_mode = false;
|
||||
|
||||
localStorage.clear();
|
||||
window.localStorage.clear();
|
||||
}
|
||||
|
||||
function clear_sess() {
|
||||
// sessionStorage.removeItem('ae_sess');
|
||||
// sessionStorage.removeItem('ae_idaa_sess');
|
||||
// sessionStorage.removeItem('ae_journals_sess');
|
||||
// sessionStorage.removeItem('ae_events_sess');
|
||||
|
||||
sessionStorage.clear();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Event
|
||||
let lq__event_obj = $derived(liveQuery(async () => {
|
||||
if (log_lvl) {
|
||||
@@ -1341,3 +1375,25 @@ $effect(() => {
|
||||
/>
|
||||
<!-- on:ws_recv={handle_ws_recv} -->
|
||||
{/if}
|
||||
|
||||
|
||||
{#if ($events_loc?.ver !== $events_sess?.ver)}
|
||||
<button
|
||||
class="fixed top-16 left-68 z-50 p-3 btn btn-lg preset-tonal-warning preset-outlined-warning hover:preset-filled-warning-500 transition-all"
|
||||
onclick={() => {
|
||||
// Clear the IndexedDB
|
||||
clear_idb();
|
||||
|
||||
// Clear localStorage and sessionStorage
|
||||
clear_local();
|
||||
// clear_sess();
|
||||
|
||||
location.reload();
|
||||
}}
|
||||
title="A new version of the launcher is available. Click to reload the page and get the latest version."
|
||||
>
|
||||
<span class="fas fa-sync-alt fa-spin m-1"></span>
|
||||
<span class="hidden sm:inline">New Events Module Version Available<br>Click to Reload</span>
|
||||
</button>
|
||||
$events_loc.ver=${$events_loc?.ver} $events_sess.ver=${$events_sess?.ver}
|
||||
{/if}
|
||||
Reference in New Issue
Block a user