Files
test/.template/development/tests/fixtures/modes/main.typ
T
2026-10-09 04:24:38 +00:00

61 lines
2.0 KiB
Typst

#import "/.template/lib/index.typ": document, profiles, recipient, party, signer, load-company
#let profile-id = sys.inputs.at("profile", default: "letter")
#let mode = sys.inputs.at("mode", default: "draft")
#let company-id = sys.inputs.at("company", default: "test-company")
#let company = load-company(company-id)
#let addressee = recipient(company: "ООО «Проверка режима»")
#let left = party(
"left",
"Исполнитель",
company.legal.name,
legal: company.legal,
contacts: company.contacts,
banking: company.banking,
representative: signer(
company.director.name,
company.director.title,
signature: company.resources.signature,
stamp: company.resources.stamp,
),
)
#let right = party(
"right",
"Заказчик",
"ООО «Проверка режима»",
representative: signer("П.П. Проверяющий", "Директор"),
)
#let selected-profile = if profile-id == "report" {
profiles.report(title: "Проверка режима выпуска", year: 2026)
} else if profile-id == "letter" {
profiles.letter(recipient: addressee, title: "Проверка режима выпуска")
} else if profile-id == "commercial-offer" {
profiles.commercial_offer(
recipient: addressee,
subject: "Проверка режима выпуска",
amount: "100 000",
currency: "руб.",
)
} else if profile-id == "contract" {
profiles.contract(
number: "MODE-1",
date: "26.08.2026",
parties: (left, right),
sections: (
profiles.contract_section("subject", "Предмет договора", [Проверка режима выпуска.]),
),
)
} else {
panic("Неизвестный тестовый profile: " + profile-id)
}
#show: document.with(
company: company,
profile: selected-profile,
options: (mode: mode, watermark: if mode == "draft" { "ЧЕРНОВИК" } else { none }),
)
Документ собран в режиме #mode для профиля #profile-id.