Files
2026-09-18 16:36:52 +02:00

40 lines
912 B
Typst

#let _persons = state("598041ec-f6ce-4a04-872a-032a8325b760", ())
#let byFunction(
function,
) = {
let ps = _persons.get().filter(person => person.at("function", default: "") == function)
if ps.len() > 0 {
return ps.at(0)
} else {
return (
name: "Axel Schweiss",
email: "axel.schweiss@bit.admin.ch",
shorthand: "AS",
function: function,
where: "In der Genehmigung",
git: "xxxxxxxxx",
)
}
}
#let overview() = {
return (
[Name],
[Kontakt],
[Kürzel],
.._persons
.get()
.map(p => (
[#p.at("function-name", default: p.function): \ #p.name],
[
#if p.at("phone", default: "") != "" { [Telefon: #link("tel:" + p.phone, p.phone) \ ] }
#if p.at("email", default: "") != "" { [Email: #link("mailto:" + p.email, p.email) \ ] }
],
p.shorthand,
))
.flatten(),
)
}