aboutsummaryrefslogtreecommitdiff
path: root/src/pages/Home.tsx
diff options
context:
space:
mode:
authorAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-08-30 16:26:19 +0200
committerAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2024-08-30 16:26:19 +0200
commitf1db052266f254dec65435a54702ca6e2a74a8cd (patch)
tree879b5dfc9d6c050a0fb12079bc5196d1ef1495ff /src/pages/Home.tsx
parent2656a9c1ed802f87d30530f6cea502a3238880de (diff)
Fix client-side stop list cache
Diffstat (limited to 'src/pages/Home.tsx')
-rw-r--r--src/pages/Home.tsx17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx
index 14d5d7a..f92847a 100644
--- a/src/pages/Home.tsx
+++ b/src/pages/Home.tsx
@@ -10,20 +10,19 @@ interface Stop {
}
interface CachedStopList {
- timetsamp: number;
+ timestamp: number;
data: Stop[];
}
export function Home() {
const navigate = useNavigate()
const { data, error, isLoading } = useSWR<Stop[]>('home', async () => {
- const cachedData = localStorage.getItem('cachedStopList')
- if (cachedData) {
- const parsedData: CachedStopList = JSON.parse(cachedData)
+ const rawCachedData = localStorage.getItem('cachedStopList');
+ if (rawCachedData) {
+ const parsedData: CachedStopList = JSON.parse(rawCachedData)
// Cache for 12 hours
- if (Date.now() - parsedData.timetsamp < 1000 * 60 * 60 * 12) {
- console.log("parsed data: ", parsedData.data)
+ if (Date.now() - parsedData.timestamp < 1000 * 60 * 60 * 12) {
return parsedData.data
} else {
localStorage.removeItem('cachedStopList')
@@ -33,10 +32,12 @@ export function Home() {
const response = await fetch('/api/ListStops')
const body = await response.json();
- localStorage.setItem('cachedStopList', JSON.stringify({
+ const cachedData: CachedStopList = {
timestamp: Date.now(),
data: body
- }));
+ }
+
+ localStorage.setItem('cachedStopList', JSON.stringify(cachedData));
return body;
});