Update diary view with new buttons

This commit is contained in:
2026-04-15 12:32:28 +02:00
parent 02fa19272d
commit 8081c2ebd8
4 changed files with 45 additions and 3 deletions

View File

@@ -77,6 +77,7 @@ type diaryMonthSummary struct {
type diaryDaySection struct {
Heading string
URL string
EditURL string
Content template.HTML
Photos []diaryPhoto
}
@@ -89,6 +90,40 @@ var diaryYearTmpl = template.Must(template.ParseFS(assets, "assets/diary/diary-y
var diaryMonthTmpl = template.Must(template.ParseFS(assets, "assets/diary/diary-month.html"))
var diaryDayTmpl = template.Must(template.ParseFS(assets, "assets/diary/diary-day.html"))
var germanWeekdays = map[time.Weekday]string{
time.Sunday: "Sonntag",
time.Monday: "Montag",
time.Tuesday: "Dienstag",
time.Wednesday: "Mittwoch",
time.Thursday: "Donnerstag",
time.Friday: "Freitag",
time.Saturday: "Samstag",
}
var germanMonths = map[time.Month]string{
time.January: "Januar",
time.February: "Februar",
time.March: "März",
time.April: "April",
time.May: "Mai",
time.June: "Juni",
time.July: "Juli",
time.August: "August",
time.September: "September",
time.October: "Oktober",
time.November: "November",
time.December: "Dezember",
}
func formatGermanDate(t time.Time) string {
return fmt.Sprintf("%s, %d. %s %d",
germanWeekdays[t.Weekday()],
t.Day(),
germanMonths[t.Month()],
t.Year(),
)
}
var photoExts = map[string]bool{
".jpg": true, ".jpeg": true, ".png": true, ".gif": true, ".webp": true,
}
@@ -222,7 +257,7 @@ func renderDiaryMonth(fsPath, urlPath string) template.HTML {
for _, dayNum := range days {
date := time.Date(year, time.Month(monthNum), dayNum, 0, 0, 0, 0, time.UTC)
heading := date.Format("Monday, January 2")
heading := formatGermanDate(date)
dayURL := path.Join(urlPath, fmt.Sprintf("%02d", dayNum)) + "/"
var content template.HTML
if dirName, ok := dayDirs[dayNum]; ok {
@@ -247,6 +282,7 @@ func renderDiaryMonth(fsPath, urlPath string) template.HTML {
sections = append(sections, diaryDaySection{
Heading: heading,
URL: dayURL,
EditURL: dayURL + "?edit",
Content: content,
Photos: photos,
})