feat(10-03): add event navigation and user range query

This commit is contained in:
Arthur Belleville 2026-05-16 00:35:09 +02:00
parent 0692dd2d4f
commit ebd31b5645
No known key found for this signature in database
4 changed files with 38 additions and 14 deletions

View file

@ -24,6 +24,26 @@ RETURNING id, tablo_id, title, event_date, start_time, end_time, description, lo
DELETE FROM events
WHERE id = $1 AND tablo_id = $2;
-- name: ListUserEventsRange :many
SELECT events.id,
events.tablo_id,
events.title,
events.event_date,
events.start_time,
events.end_time,
events.description,
events.location,
events.created_at,
events.updated_at,
tablos.title AS tablo_title,
tablos.color AS tablo_color
FROM events
JOIN tablos ON tablos.id = events.tablo_id
WHERE tablos.user_id = sqlc.arg(user_id)
AND events.event_date >= sqlc.arg(start_date)
AND events.event_date <= sqlc.arg(end_date)
ORDER BY events.event_date, events.start_time, events.title;
-- name: ListEventsByTabloRange :many
SELECT id, tablo_id, title, event_date, start_time, end_time, description, location, created_at, updated_at
FROM events

View file

@ -84,12 +84,14 @@ func buildEventsCalendar(month time.Time, events []sqlc.Event) templates.EventsC
})
}
return templates.EventsCalendar{
Month: monthStart.Format("2006-01"),
MonthLabel: monthStart.Format("January 2006"),
PrevMonth: monthStart.AddDate(0, -1, 0).Format("2006-01"),
NextMonth: monthStart.AddDate(0, 1, 0).Format("2006-01"),
Days: days,
WeekdayLabs: templates.DefaultWeekdayLabels(),
Month: monthStart.Format("2006-01"),
MonthLabel: monthStart.Format("January 2006"),
PrevMonth: monthStart.AddDate(0, -1, 0).Format("2006-01"),
PrevMonthLabel: monthStart.AddDate(0, -1, 0).Format("January 2006"),
NextMonth: monthStart.AddDate(0, 1, 0).Format("2006-01"),
NextMonthLabel: monthStart.AddDate(0, 1, 0).Format("January 2006"),
Days: days,
WeekdayLabs: templates.DefaultWeekdayLabels(),
}
}

View file

@ -21,7 +21,7 @@ templ EventsTabFragment(tablo sqlc.Tablo, calendar EventsCalendar, csrfToken str
hx-swap="innerHTML"
hx-push-url={ EventMonthURL(tablo.ID, calendar.PrevMonth) }
class="ui-button ui-button-soft-neutral-md"
aria-label={ "Previous month: " + calendar.PrevMonth }
aria-label={ "Previous month: " + calendar.PrevMonthLabel }
>Previous month</a>
<a
href={ templ.SafeURL(EventMonthURL(tablo.ID, calendar.NextMonth)) }
@ -30,7 +30,7 @@ templ EventsTabFragment(tablo sqlc.Tablo, calendar EventsCalendar, csrfToken str
hx-swap="innerHTML"
hx-push-url={ EventMonthURL(tablo.ID, calendar.NextMonth) }
class="ui-button ui-button-soft-neutral-md"
aria-label={ "Next month: " + calendar.NextMonth }
aria-label={ "Next month: " + calendar.NextMonthLabel }
>Next month</a>
@ui.Button(ui.ButtonProps{
Label: "New event",

View file

@ -28,12 +28,14 @@ type EventCreateErrors struct {
}
type EventsCalendar struct {
Month string
MonthLabel string
PrevMonth string
NextMonth string
Days []EventCalendarDay
WeekdayLabs []string
Month string
MonthLabel string
PrevMonth string
PrevMonthLabel string
NextMonth string
NextMonthLabel string
Days []EventCalendarDay
WeekdayLabs []string
}
type EventCalendarDay struct {