Commit graph

9 commits

Author SHA1 Message Date
db9a12250e Track which account is interested in which events
Store a list of ids of events and slots that accounts have marked as
being interested in, and show aggeregate counts in the schedule.
2025-03-07 20:15:41 +01:00
ca51c07065 Move push notification setting to separate page
Set up a dedicated Account Setttings page to hold account specific
settings such as the push notifications.
2025-03-07 18:43:24 +01:00
b2a5b67096 Refactor push subscription logic into a composable 2025-03-07 16:08:45 +01:00
52dfde95d1 Tie push subscriptions to current session
If a user logs out from a device the expectation should be that device
no longer having any association with the user's account.  Any existing
push notifications should thefore be removed on server.  For this reason
tie push notifications to a session, and remove them when the session is
deleted.
2025-03-07 15:47:48 +01:00
150cb82f5c Basic account and session system
Provide a basic account system with login and server side session store
identified by a cookie.  Upon successful login a signed session cookie
is set by the server with the session stored on the server identifying
which account it is logged in as.  The client uses a shared useFetch on
the session endpoint to identify if it's logged in and which account it
is logged in as, and refreshes this when loggin in or out.
2025-03-07 12:41:57 +01:00
5044b7b58d Fix day header inserted into break
If a span ended on midnight the next day header would be started on the
break and the sameDay check would match the day of the next span causing
the day header to be inserted into the break column.  Fix by checking
that the last day header has a non-zero span in the same day check.
2025-03-06 00:37:40 +01:00
f42dfcc13d Gracefully handle events with invalid locations 2025-03-05 22:14:58 +01:00
e45e51ef7a EventsEdit: Handle no events existing 2025-03-05 19:10:24 +01:00
250ca9a1ac Port application from Next.js to Nuxt
Nuxt is based on Vue.js and I find their building blocks to be much
neater compared to the React based Next.js.
2025-03-05 15:36:50 +01:00