]> git.r.bdr.sh - rbdr/prompt/blobdiff - src/lib/stores/prompt.js
Pass public path variable
[rbdr/prompt] / src / lib / stores / prompt.js
index 59df711ae10762f4e18974b12008e5c6f269b03e..32848659774406aa8a274ef3e8aa5433f857f7b7 100644 (file)
@@ -2,22 +2,24 @@ import { readable } from 'svelte/store';
 import { browser } from '$app/env';
 
 const internals = {
 import { browser } from '$app/env';
 
 const internals = {
-  kDataPrefix: 'http://localhost:3000/data/',
+  kVersion: '1:', // in case we need to force a re-fetch
+  kHost: import.meta.env.VITE_PUBLIC_BASE_PATH || 'http://localhost:3000',
+  kDataPrefix: '/data/',
   kAdjectivesPath: '/adjectives.json',
   kNounsPath: '/nouns.json',
 
   async get(locale, path) {
 
     const shortLocale = locale.split('-')[0];
   kAdjectivesPath: '/adjectives.json',
   kNounsPath: '/nouns.json',
 
   async get(locale, path) {
 
     const shortLocale = locale.split('-')[0];
-    const targetFile = internals.kDataPrefix + shortLocale + path;
-    const data = browser && sessionStorage.getItem(targetFile);
+    const targetFile = internals.kHost + internals.kDataPrefix + shortLocale + path;
+    const data = browser && localStorage.getItem(internals.kVersion + targetFile);
 
     if (data) {
       return JSON.parse(data);
     }
 
     let newData = await (await fetch(targetFile)).json();
 
     if (data) {
       return JSON.parse(data);
     }
 
     let newData = await (await fetch(targetFile)).json();
-    browser && sessionStorage.setItem(targetFile, JSON.stringify(newData));
+    browser && localStorage.setItem(internals.kVersion + targetFile, JSON.stringify(newData));
 
     return newData;
   },
 
     return newData;
   },