Implmented sponsoring image selection from array

ref #14
This commit is contained in:
Nicolai Ort 2021-02-12 17:19:57 +01:00
parent 9697d53a15
commit 68a1b8f3e0
2 changed files with 14 additions and 2 deletions

View File

@ -14,6 +14,8 @@ import { Runner } from './models/Runner';
import { RunnerCard } from './models/RunnerCard';
import { RunnerGroup } from './models/RunnerGroup';
const sponsors: string[] = ["https://odit.services/assets/img/profile-pic-no_bg.hash.0c81702a.png", "./sponsoringheader.png"]
/**
* This class is responsible for all things pdf creation.
* This uses the html templates from src/templates.
@ -87,6 +89,15 @@ export class PdfCreator {
return i18next.t(str, PdfCreator.interpolations).toString();
}
);
await Handlebars.registerHelper('--sponsor',
function (str) {
const index = (parseInt(str) % sponsors.length);
if (isNaN(index)) {
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg=="
}
return sponsors[index];
}
);
this.browser = await puppeteer.launch({ headless: true, args: minimal_args });
}
@ -140,6 +151,7 @@ export class PdfCreator {
const template = Handlebars.compile(template_source);
let result = template({ cards, cards_swapped, eventname: "LfK! 2069", codeformat: "qrcode" })
result = await awaitAsyncHandlebarHelpers(result);
fs.writeFileSync("lelelelele.tmp", result);
const pdf = await this.renderPdf(result, { format: "A4", landscape: false });
return pdf
}

View File

@ -39,7 +39,7 @@
<div class="column is-two-thirds">
<!--SPONSOR LOGO HERE-->
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
src="https://odit.services/assets/img/profile-pic-no_bg.hash.0c81702a.png" />
src="{{--sponsor this.id}}" />
</div>
<div class="column is-one-third">
<!--BARCODE HERE-->
@ -59,7 +59,7 @@
<div class="column is-half runnercard">
<!--SPONSOR LOGO FIRST-->
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
src="https://odit.services/assets/img/profile-pic-no_bg.hash.0c81702a.png" />
src="{{--sponsor this.id}}" />
<!--BARCODE SECOND-->
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
src="{{--bc this.id ../codeformat}}" />