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';
|
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.
|
// 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 = '2025-10-15_1259';
|
||||||
let ver_idb = '2024-08-21_1645';
|
let ver_idb = '2025-10-15_1259';
|
||||||
|
|
||||||
/* *** BEGIN *** Initialize events_local_data_struct */
|
/* *** BEGIN *** Initialize events_local_data_struct */
|
||||||
// Longer-term app data. This should be stored to *local* storage.
|
// Longer-term app data. This should be stored to *local* storage.
|
||||||
|
|||||||
@@ -94,6 +94,40 @@ if (log_lvl > 1) {
|
|||||||
|
|
||||||
// *** Functions and Logic
|
// *** 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
|
// Event
|
||||||
let lq__event_obj = $derived(liveQuery(async () => {
|
let lq__event_obj = $derived(liveQuery(async () => {
|
||||||
if (log_lvl) {
|
if (log_lvl) {
|
||||||
@@ -1341,3 +1375,25 @@ $effect(() => {
|
|||||||
/>
|
/>
|
||||||
<!-- on:ws_recv={handle_ws_recv} -->
|
<!-- on:ws_recv={handle_ws_recv} -->
|
||||||
{/if}
|
{/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