fix(cv): keep blank letter documents accessible
This commit is contained in:
@@ -31,10 +31,15 @@ public sealed class CoverLetterDocumentRenderer
|
||||
}
|
||||
if (list) body.Append("</ul>");
|
||||
var contact = string.Join(" · ", new[] { s.SenderEmail, s.SenderPhone, s.SenderLocation }.Where(v => !string.IsNullOrWhiteSpace(v)).Select(E));
|
||||
var letterLabel = s.Language == "nb-NO" ? "Søknadsbrev" : "Cover letter";
|
||||
var bodyLabel = s.Language == "nb-NO" ? "Brevtekst" : "Cover letter text";
|
||||
var title = string.Join(" — ", new[] { s.Subject, s.SenderName }.Where(value => !string.IsNullOrWhiteSpace(value)));
|
||||
var senderHeading = string.IsNullOrWhiteSpace(s.SenderName) ? "" : $"<h1>{E(s.SenderName)}</h1>";
|
||||
var subjectHeading = string.IsNullOrWhiteSpace(s.Subject) ? "" : $"<h2>{E(s.Subject)}</h2>";
|
||||
var html = $$"""
|
||||
<!DOCTYPE html><html lang="{{E(s.Language)}}"><head><meta charset="utf-8">
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; script-src 'unsafe-inline'; font-src data:; base-uri 'none'">
|
||||
<title>{{E(s.Subject)}} — {{E(s.SenderName)}}</title><style>
|
||||
<title>{{E(string.IsNullOrEmpty(title) ? letterLabel : title)}}</title><style>
|
||||
{{CvDocumentFonts.Embed(font)}}
|
||||
:root{--cv-page-margin:{{F(s.PageMarginMm)}}mm}
|
||||
*{box-sizing:border-box}html,body{margin:0;padding:0;color:#111827;background:#fff}
|
||||
@@ -46,10 +51,10 @@ public sealed class CoverLetterDocumentRenderer
|
||||
.paragraph-gap{height:2mm}ul{padding-left:6mm;margin:2mm 0}li{orphans:3;widows:3}a{color:inherit;text-decoration:underline}
|
||||
@page{size:{{size}};margin:{{F(s.PageMarginMm)}}mm 0}
|
||||
@media print{.letter-paper{width:auto;min-height:0;padding:0 {{F(s.PageMarginMm)}}mm;margin:0} }
|
||||
</style></head><body><article class="page letter-paper" aria-label="Cover letter">
|
||||
<header><h1>{{E(s.SenderName)}}</h1><div>{{E(s.SenderTitle)}}</div><div class="contact">{{contact}}</div></header>
|
||||
<div class="date">{{E(s.Date)}}</div><div class="recipient">{{E(s.Recipient)}}</div><h2>{{E(s.Subject)}}</h2>
|
||||
<main>{{body}}</main></article></body></html>
|
||||
</style></head><body><article class="page letter-paper" aria-label="{{E(letterLabel)}}">
|
||||
<header>{{senderHeading}}<div>{{E(s.SenderTitle)}}</div><div class="contact">{{contact}}</div></header>
|
||||
<div class="date">{{E(s.Date)}}</div><div class="recipient">{{E(s.Recipient)}}</div>{{subjectHeading}}
|
||||
<main aria-label="{{E(bodyLabel)}}">{{body}}</main></article></body></html>
|
||||
""";
|
||||
return new(html, s.ThemeId, "cover-letter.pdf");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user