Allow recents to store availability information
This commit is contained in:
parent
f95e794cb7
commit
859967d7d3
|
|
@ -19,7 +19,7 @@ const Recents = () => {
|
|||
return recents?.length ? <Section id="recents">
|
||||
<Content>
|
||||
<h2>{t('home:recently_visited')}</h2>
|
||||
{recents.map(event => (
|
||||
{recents.slice(0, 5).map(event => (
|
||||
<Link className={styles.recent} href={`/${event.id}`} key={event.id}>
|
||||
<span className={styles.name}>{event.name}</span>
|
||||
<span
|
||||
|
|
|
|||
|
|
@ -5,6 +5,10 @@ interface RecentEvent {
|
|||
id: string
|
||||
name: string
|
||||
created_at: number
|
||||
user?: {
|
||||
name: string
|
||||
availability: string[]
|
||||
}
|
||||
}
|
||||
|
||||
interface RecentsStore {
|
||||
|
|
@ -19,16 +23,12 @@ const useRecentsStore = create<RecentsStore>()(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: [] }),
|
||||
}),
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue