From 859967d7d3abfc89c68922b9119032e0eb9587d6 Mon Sep 17 00:00:00 2001 From: Benji Grant Date: Sun, 18 Jun 2023 18:54:30 +1000 Subject: [PATCH] Allow recents to store availability information --- frontend/src/components/Recents/Recents.tsx | 2 +- frontend/src/stores/recentsStore.ts | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/Recents/Recents.tsx b/frontend/src/components/Recents/Recents.tsx index 13a1fab..d050c29 100644 --- a/frontend/src/components/Recents/Recents.tsx +++ b/frontend/src/components/Recents/Recents.tsx @@ -19,7 +19,7 @@ const Recents = () => { return recents?.length ?

{t('home:recently_visited')}

- {recents.map(event => ( + {recents.slice(0, 5).map(event => ( {event.name} ()(persist( set => ({ recents: [], - addRecent: event => set(state => { - const recents = state.recents.filter(e => e.id !== event.id) - recents.unshift(event) - recents.length = Math.min(recents.length, 5) - return { recents } - }), - removeRecent: id => set(state => { - const recents = state.recents.filter(e => e.id !== id) - return { recents } - }), + addRecent: event => set(state => ({ + recents: [event, ...state.recents.filter(e => e.id !== event.id)], + })), + removeRecent: id => set(state => ({ + recents: state.recents.filter(e => e.id !== id), + })), clearRecents: () => set({ recents: [] }), }), {