<article class="season-calendar" data-hx-target="this" data-hx-swap="outerHTML"> {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/season.Calendar*/ -}} <header> <h3>{{ .Year }}</h3> <button type="button" data-hx-get="/admin/seasons/range?year={{ dec .Year }}"><span class="sr-only">{{ pgettext "Prev" "navigation" }}</span></button> <button type="button" data-hx-get="/admin/seasons/range?year={{ inc .Year }}"><span class="sr-only">{{ pgettext "Next" "navigation" }}</span></button> </header> <div> {{ range .Months -}} <table class="month"> <caption>{{ pgettext .Name "month" }}</caption> <thead> <tr> <th scope="col">{{(pgettext "Mon" "day" )}}</th> <th scope="col">{{(pgettext "Tue" "day" )}}</th> <th scope="col">{{(pgettext "Wed" "day" )}}</th> <th scope="col">{{(pgettext "Thu" "day" )}}</th> <th scope="col">{{(pgettext "Fri" "day" )}}</th> <th scope="col">{{(pgettext "Sat" "day" )}}</th> <th scope="col">{{(pgettext "Sun" "day" )}}</th> </tr> </thead> <tbody> {{ range .Weeks }} <tr> {{- range . }} <td> {{- if .Color -}} <time style="background-color: {{ .Color }}" datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2" }}</time> {{- end -}} </td> {{- end }} </tr> {{- end }} </tbody> </table> {{- end }} {{ with .Form }} <dialog> <form data-hx-put="/admin/seasons/range"> {{ CSRFInput }} <input type="hidden" name="year" value="{{ $.Year }}"> {{ with .StartDate }}<input type="hidden" name="{{ .Name }}" value="{{ .Val }}">{{ end }} {{ with .EndDate }}<input type="hidden" name="{{ .Name }}" value="{{ .Val }}">{{ end }} <footer> <button type="submit"><span class="sr-only">{{( pgettext "Cancel" "action" )}}</span></button> {{ range .Seasons -}} <button type="submit" name="season_id" value="{{ .ID }}"> <svg width="20px" height="20px"> <circle cx="50%" cy="50%" r="49%" fill="{{ .Color }}" stroke="#000" stroke-width=".5"/> </svg> {{ .Name }} </button> {{- end }} </footer> </form> </dialog> {{ end }} </div> <script type="module"> import {setupCalendar} from "/static/camper.js?v={{ camperVersion }}"; setupCalendar(document.querySelector('.season-calendar')) </script> </article>