small fixes in pdf generation + time calculation
All checks were successful
Tests / Run Go Tests (push) Successful in 27s

This commit is contained in:
2025-09-15 12:33:46 +02:00
parent 2d0b117403
commit 656d4c2340
8 changed files with 865 additions and 214 deletions

View File

@@ -16,6 +16,7 @@
--color-neutral-300: oklch(87% 0 0);
--color-neutral-400: oklch(70.8% 0 0);
--color-neutral-500: oklch(55.6% 0 0);
--color-neutral-600: oklch(43.9% 0 0);
--color-neutral-700: oklch(37.1% 0 0);
--color-neutral-800: oklch(26.9% 0 0);
--color-neutral-900: oklch(20.5% 0 0);
@@ -198,12 +199,6 @@
.col-span-3 {
grid-column: span 3 / span 3;
}
.col-span-5 {
grid-column: span 5 / span 5;
}
.col-span-6 {
grid-column: span 6 / span 6;
}
.col-span-full {
grid-column: 1 / -1;
}
@@ -221,8 +216,8 @@
}
.icon-\[material-symbols-light--add-circle-outline\] {
display: inline-block;
width: 1.5em;
height: 1.5em;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
@@ -234,8 +229,8 @@
}
.icon-\[material-symbols-light--check-circle-outline\] {
display: inline-block;
width: 1.5em;
height: 1.5em;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
@@ -247,8 +242,8 @@
}
.icon-\[material-symbols-light--circle-outline\] {
display: inline-block;
width: 1.5em;
height: 1.5em;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
@@ -260,8 +255,8 @@
}
.icon-\[material-symbols-light--more-time\] {
display: inline-block;
width: 1.5em;
height: 1.5em;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
@@ -273,8 +268,8 @@
}
.icon-\[material-symbols-light--motion-photos-paused-outline\] {
display: inline-block;
width: 1.5em;
height: 1.5em;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
@@ -284,6 +279,19 @@
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M9.808 14.616h1V9.385h-1zm3.384 0h1V9.385h-1zM12.003 21q-1.866 0-3.51-.705q-1.643-.706-2.859-1.915t-1.925-2.843T3 12.039q0-.905.167-1.778t.497-1.713l.78.78q-.219.65-.331 1.32T4 12q0 3.35 2.325 5.675T12 20t5.675-2.325T20 12t-2.325-5.675T12 4q-.675 0-1.332.112t-1.3.332l-.776-.775q.789-.315 1.606-.492T11.885 3q1.887 0 3.546.701t2.894 1.926t1.955 2.866t.72 3.505t-.708 3.509t-1.924 2.859t-2.856 1.925t-3.509.709M5.923 6.808q-.356 0-.62-.265q-.264-.264-.264-.62t.264-.62t.62-.264t.62.264t.265.62t-.265.62t-.62.265M12 12'/%3E%3C/svg%3E");
}
.icon-\[material-symbols-light--nest-clock-farsight-analog-outline\] {
display: inline-block;
width: 1.25em;
height: 1.25em;
background-color: currentColor;
-webkit-mask-image: var(--svg);
mask-image: var(--svg);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
--svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14.935 16.223L11.5 12.789V7.923h1v4.464l3.123 3.123zM11.5 6V4h1v2zm6.5 6.5v-1h2v1zM11.5 20v-2h1v2zM4 12.5v-1h2v1zm8.003 8.5q-1.867 0-3.51-.708q-1.643-.709-2.859-1.924t-1.925-2.856T3 12.003t.709-3.51Q4.417 6.85 5.63 5.634t2.857-1.925T11.997 3t3.51.709q1.643.708 2.859 1.922t1.925 2.857t.709 3.509t-.708 3.51t-1.924 2.859t-2.856 1.925t-3.509.709M12 20q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m0-8'/%3E%3C/svg%3E");
}
.flex {
display: flex;
}
@@ -322,15 +330,15 @@
.h-full {
height: 100%;
}
.w-1\/7 {
width: calc(1/7 * 100%);
}
.w-2 {
width: calc(var(--spacing) * 2);
}
.w-4 {
width: calc(var(--spacing) * 4);
}
.w-9 {
width: calc(var(--spacing) * 9);
}
.w-9\/10 {
width: calc(9/10 * 100%);
}
@@ -343,9 +351,6 @@
.w-full {
width: 100%;
}
.flex-shrink {
flex-shrink: 1;
}
.flex-shrink-0 {
flex-shrink: 0;
}
@@ -364,8 +369,8 @@
.cursor-pointer {
cursor: pointer;
}
.resize {
resize: both;
.break-after-page {
break-after: page;
}
.auto-rows-min {
grid-auto-rows: min-content;
@@ -453,10 +458,22 @@
border-style: var(--tw-border-style);
border-width: 1px;
}
.border-1 {
border-style: var(--tw-border-style);
border-width: 1px;
}
.border-t-1 {
border-top-style: var(--tw-border-style);
border-top-width: 1px;
}
.border-r-0 {
border-right-style: var(--tw-border-style);
border-right-width: 0px;
}
.border-r-1 {
border-right-style: var(--tw-border-style);
border-right-width: 1px;
}
.border-b-0 {
border-bottom-style: var(--tw-border-style);
border-bottom-width: 0px;
@@ -467,6 +484,9 @@
.border-neutral-300 {
border-color: var(--color-neutral-300);
}
.border-neutral-600 {
border-color: var(--color-neutral-600);
}
.border-neutral-900 {
border-color: var(--color-neutral-900);
}
@@ -491,9 +511,6 @@
.bg-red-600 {
background-color: var(--color-red-600);
}
.mask-repeat {
mask-repeat: repeat;
}
.p-1 {
padding: calc(var(--spacing) * 1);
}
@@ -558,13 +575,6 @@
.uppercase {
text-transform: uppercase;
}
.underline {
text-decoration-line: underline;
}
.outline {
outline-style: var(--tw-outline-style);
outline-width: 1px;
}
.filter {
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
@@ -582,9 +592,14 @@
--tw-duration: 300ms;
transition-duration: 300ms;
}
.\*\:p-2 {
.\*\:\*\:\*\:border-1 {
:is(& > *) {
padding: calc(var(--spacing) * 2);
:is(& > *) {
:is(& > *) {
border-style: var(--tw-border-style);
border-width: 1px;
}
}
}
}
.\*\:text-center {
@@ -592,6 +607,13 @@
text-align: center;
}
}
.\*\:not-print\:p-2 {
:is(& > *) {
@media not print {
padding: calc(var(--spacing) * 2);
}
}
}
.group-hover\:text-black {
&:is(:where(.group):hover *) {
@media (hover: hover) {
@@ -852,6 +874,12 @@
}
}
}
@layer base {
body {
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
}
}
@layer components {
.grid-main {
display: grid;
@@ -888,7 +916,7 @@
border-width: 1px;
border-color: var(--color-neutral-800);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-timing-function: var( --tw-ease, var(--default-transition-timing-function) );
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.btn:hover {
@@ -934,11 +962,6 @@
syntax: "*";
inherits: false;
}
@property --tw-outline-style {
syntax: "*";
inherits: false;
initial-value: solid;
}
@property --tw-blur {
syntax: "*";
inherits: false;
@@ -1003,7 +1026,6 @@
--tw-border-style: solid;
--tw-divide-y-reverse: 0;
--tw-font-weight: initial;
--tw-outline-style: solid;
--tw-blur: initial;
--tw-brightness: initial;
--tw-contrast: initial;