feat(10-03): add event navigation and user range query
This commit is contained in:
parent
0692dd2d4f
commit
ebd31b5645
4 changed files with 38 additions and 14 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue