Files
arbeitszeitmessung/WIR-typst/template.typ
tom 7eda8eb538
Some checks failed
Tests / Run Go Tests (push) Failing after 1m44s
reworked pdf exporter to use typst
2025-10-23 16:18:22 +02:00

59 lines
1010 B
Typst

#let table-header(..headers) = {
table.header(
..headers.pos().map(h => strong(text(fill: white, h)))
)
}
#set table(
stroke: black,
inset: .5em,
align: center,
)
#let abrechnung(meta, days) = {
set page(paper: "a4")
[= Abrechnung Arbeitszeit -- #meta.employee-name]
[Zeitraum: #meta.Zeitraum
Arbeitszeit: #user.Arbeitszeit
Überstunden: #user.Überstunden
]
table(
columns: (1fr, 1fr, 1fr, 1fr, 1fr, 1fr, 1.25fr),
fill: (x, y) =>
if y == 0 { gray },
align: center,
table-header(
[Datum], [Kommen], [Gehen], [Arbeitsart], [Stunden], [Pause], [Überstunden]
),
.. for day in days {
(
[#day.Date],
table.cell(colspan: 3, inset: 0em)[
#table(
columns: (1fr, 1fr, 1fr),
gutter: 0em,
stroke: black,
.. for Zeit in day.Zeiten {
(
[#Zeit.Kommen],
[#Zeit.Gehen],
[#Zeit.Art],
)
},
)
],
[#day.Arbeitszeit],
[#day.Pause],
[#day.Überstunden],
)
}
)
}