Migrate to central appointment database #45
@ -19,7 +19,6 @@ Um die Verfügbarkeit für alle Mitglieder transparent zu halten und Überschnei
|
|||||||
|
|
||||||
Weitere Infos zur Reservierung findest du unterhalb der Kalender.
|
Weitere Infos zur Reservierung findest du unterhalb der Kalender.
|
||||||
|
|
||||||
{{< tsc/iframe >}}https://cloud.tsc-vfl.de/index.php/apps/calendar/embed/d5KikZAZJfJxMHyK-RyoP44ym84oa5NFm-8DBYtgZwmkDsdemr/listYear/now{{< /tsc/iframe >}}
|
|
||||||
|
|
||||||
{{<tsc/calendar-color-table>}}
|
{{<tsc/calendar-color-table>}}
|
||||||
|
|
||||||
@ -29,6 +28,9 @@ Weitere Infos zur Reservierung findest du unterhalb der Kalender.
|
|||||||
{{< tsc/calendar/schedule 10 22 "Mon" "Tue" "Wed" >}}
|
{{< tsc/calendar/schedule 10 22 "Mon" "Tue" "Wed" >}}
|
||||||
|
|
||||||
{{< tsc/show-calendar 10 22 "Mo" "Di" "Mi" >}}
|
{{< tsc/show-calendar 10 22 "Mo" "Di" "Mi" >}}
|
||||||
|
|
||||||
|
{{< tsc/calendar/schedule 10 22 "Thu" "Fri" >}}
|
||||||
|
|
||||||
{{< tsc/show-calendar 10 22 "Do" "Fr" >}}
|
{{< tsc/show-calendar 10 22 "Do" "Fr" >}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,9 +11,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin mouse-available {
|
|
||||||
@media screen and (pointer: fine) {
|
|
||||||
@content;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -1,9 +1,19 @@
|
|||||||
@use './responsive.scss' as r;
|
@use './responsive.scss' as r;
|
||||||
@use './colors.scss' as *;
|
@use './colors.scss' as *;
|
||||||
|
|
||||||
|
$calendar-height-row: 60px;
|
||||||
|
|
||||||
.calendar-schedule {
|
.calendar-schedule {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
||||||
|
font-size: xx-small;
|
||||||
|
|
||||||
|
@include r.media-large {
|
||||||
|
& {
|
||||||
|
font-size: x-small;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: contents;
|
display: contents;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -19,13 +29,6 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.first-row {
|
|
||||||
grid-row: 1;
|
|
||||||
}
|
|
||||||
.second-row {
|
|
||||||
grid-row: 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.times {
|
.times {
|
||||||
@ -35,6 +38,57 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.table-row {
|
||||||
|
height: $calendar-height-row;
|
||||||
|
|
||||||
|
border-top: solid lightgray 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-entry {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.event {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
|
||||||
|
top: calc($calendar-height-row * var(--minutes) / 60.0);
|
||||||
|
height: calc($calendar-height-row * var(--duration) / 60.0);
|
||||||
|
|
||||||
|
width: 30%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 1px 0;
|
||||||
|
// overflow: hidden;
|
||||||
|
|
||||||
|
--fg-color: black;
|
||||||
|
|
||||||
|
&.room-vorne {
|
||||||
|
--bg-color: var(--color-vhvorne);
|
||||||
|
left: 2.5%;
|
||||||
|
}
|
||||||
|
&.room-mitte {
|
||||||
|
--bg-color: var(--color-vhmitte);
|
||||||
|
left: 35%
|
||||||
|
}
|
||||||
|
&.room-hinten {
|
||||||
|
--bg-color: var(--color-vhhinten);
|
||||||
|
--fg-color: white;
|
||||||
|
left: 67.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 3px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
color: var(--fg-color);
|
||||||
|
background-color: var(--bg-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.cal-main-content {
|
.cal-main-content {
|
||||||
grid-row: 3 / 100;
|
grid-row: 3 / 100;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -88,14 +142,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.background {
|
|
||||||
display: contents;
|
|
||||||
|
|
||||||
> * {
|
|
||||||
grid-column: 1 / -1;
|
|
||||||
min-height: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-grid-2-days {
|
.calendar-grid-2-days {
|
||||||
|
@ -21,7 +21,39 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="second-row"></div>
|
<div class="second-row"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="times">
|
{{ range (seq $start $end) }}
|
||||||
|
{{- $currentHour := string . -}}
|
||||||
|
{{- $addClass := "" -}}
|
||||||
|
{{- $firstRow := eq . $start -}}
|
||||||
|
{{- if eq . $start }}{{ $addClass = "first-main-row"}}{{ end -}}
|
||||||
|
{{ warnf "Current hour: %s (%T)" $currentHour $currentHour }}
|
||||||
|
<div class="table-row">{{ printf "%2d:00" . }}</div>
|
||||||
|
{{- range $id, $day := $days }}
|
||||||
|
<div class="table-row main-entry">
|
||||||
|
{{- range $listSchedule }}
|
||||||
|
{{- if ne .day $day }}{{ continue }}{{ end -}}
|
||||||
|
{{- $sTime := time.AsTime (printf "2025-01-02T%s:00" .start) -}}
|
||||||
|
{{- $evHour := $sTime.Format "15" -}}
|
||||||
|
{{- if ne $currentHour $evHour }}{{ continue }}{{ end -}}
|
||||||
|
{{- $hours := int ($sTime.Format "15") -}}
|
||||||
|
{{- $minutes := int ($sTime.Format "4") -}}
|
||||||
|
{{/* warnf "%T" $hours */}}
|
||||||
|
{{/* $hours = add $hours (sub 0 $start) (div $minutes 60.0) */}}
|
||||||
|
{{/* print $hours */}}
|
||||||
|
{{/* $hours = $hours - 0 + ($minutes / 60.0) */}}
|
||||||
|
{{- $style := printf "--duration: %d; --minutes: %d;" .duration $minutes -}}
|
||||||
|
{{/* warnf "%s" $style */}}
|
||||||
|
<div class="event room-{{ .roomId }}" style="{{ $style | safeCSS }}">
|
||||||
|
<div>
|
||||||
|
{{ .title }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end -}}
|
||||||
|
</div>
|
||||||
|
{{ end -}}
|
||||||
|
<div class="table-row">{{ printf "%2d:00" . }}</div>
|
||||||
|
{{ end }}
|
||||||
|
<!--<div class="times">
|
||||||
{{ range (seq $start $end) }}
|
{{ range (seq $start $end) }}
|
||||||
<div>{{ printf "%2d:00" . }}</div>
|
<div>{{ printf "%2d:00" . }}</div>
|
||||||
<div>{{ printf "%2d:00" . }}</div>
|
<div>{{ printf "%2d:00" . }}</div>
|
||||||
@ -49,70 +81,5 @@
|
|||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}-->
|
||||||
<div class="background">
|
|
||||||
{{ range $idx, $val := (seq $start $end)}}
|
|
||||||
<div class="hor-line" style="grid-row-start: calc({{$idx}} + 1);"></div>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<table class="calendar-manual">
|
|
||||||
<tr>
|
|
||||||
<th></th>
|
|
||||||
{{ range $days }}
|
|
||||||
<th colspan="3" class="day-title">{{ . }}</th>
|
|
||||||
{{ end }}
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th></th>
|
|
||||||
{{ range $days }}
|
|
||||||
<th class="first-col-of-room">vorne</th>
|
|
||||||
<th>mitte</th>
|
|
||||||
<th>hinten</th>
|
|
||||||
{{ end }}
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
{{ range seq $start $end }}
|
|
||||||
{{ $hour := . }}
|
|
||||||
{{ range seq 0 15 45 }}
|
|
||||||
{{ $firstMin := "" }}
|
|
||||||
{{ if eq . 0 }}
|
|
||||||
{{ $firstMin = "first-min" }}
|
|
||||||
{{ end }}
|
|
||||||
<tr class="{{ $firstMin }}">
|
|
||||||
{{ $time := printf "%2d:%02d" $hour . }}
|
|
||||||
{{ if or (eq . 0) (eq . 30) }}
|
|
||||||
<td rowspan="2" class="time">{{ $time }}</td>
|
|
||||||
{{ end }}
|
|
||||||
{{ range $days }}
|
|
||||||
{{ $day := . }}
|
|
||||||
{{ $firstRoom := true }}
|
|
||||||
{{ range slice "vorne" "mitte" "hinten" }}
|
|
||||||
{{ $room := . }}
|
|
||||||
{{ $addClass := "" }}
|
|
||||||
{{ if $firstRoom }}
|
|
||||||
{{ $addClass = "first-col-of-room" }}
|
|
||||||
{{ $firstRoom = false }}
|
|
||||||
{{ end }}
|
|
||||||
{{ with index (index (index $calendar .) $day) $time }}
|
|
||||||
<td class="calendar-block {{ $addClass }}">
|
|
||||||
<div class="calendar-block-entity height-{{ .slots }}">
|
|
||||||
<div class="room-block room-{{ $room }}">
|
|
||||||
{{ .title }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
{{ else }}
|
|
||||||
<td class="{{ $addClass }}"></td>
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ if or (eq . 0) (eq . 30) }}
|
|
||||||
{{ $time := printf "%2d.%02d" $hour . }}
|
|
||||||
<td rowspan="2" class="time">{{ $time }}</td>
|
|
||||||
{{ end }}
|
|
||||||
</tr>
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
</table>
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user