parent
9697d53a15
commit
68a1b8f3e0
@ -14,6 +14,8 @@ import { Runner } from './models/Runner';
|
|||||||
import { RunnerCard } from './models/RunnerCard';
|
import { RunnerCard } from './models/RunnerCard';
|
||||||
import { RunnerGroup } from './models/RunnerGroup';
|
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 class is responsible for all things pdf creation.
|
||||||
* This uses the html templates from src/templates.
|
* This uses the html templates from src/templates.
|
||||||
@ -87,6 +89,15 @@ export class PdfCreator {
|
|||||||
return i18next.t(str, PdfCreator.interpolations).toString();
|
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 });
|
this.browser = await puppeteer.launch({ headless: true, args: minimal_args });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,6 +151,7 @@ export class PdfCreator {
|
|||||||
const template = Handlebars.compile(template_source);
|
const template = Handlebars.compile(template_source);
|
||||||
let result = template({ cards, cards_swapped, eventname: "LfK! 2069", codeformat: "qrcode" })
|
let result = template({ cards, cards_swapped, eventname: "LfK! 2069", codeformat: "qrcode" })
|
||||||
result = await awaitAsyncHandlebarHelpers(result);
|
result = await awaitAsyncHandlebarHelpers(result);
|
||||||
|
fs.writeFileSync("lelelelele.tmp", result);
|
||||||
const pdf = await this.renderPdf(result, { format: "A4", landscape: false });
|
const pdf = await this.renderPdf(result, { format: "A4", landscape: false });
|
||||||
return pdf
|
return pdf
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
<div class="column is-two-thirds">
|
<div class="column is-two-thirds">
|
||||||
<!--SPONSOR LOGO HERE-->
|
<!--SPONSOR LOGO HERE-->
|
||||||
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
<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>
|
||||||
<div class="column is-one-third">
|
<div class="column is-one-third">
|
||||||
<!--BARCODE HERE-->
|
<!--BARCODE HERE-->
|
||||||
@ -59,7 +59,7 @@
|
|||||||
<div class="column is-half runnercard">
|
<div class="column is-half runnercard">
|
||||||
<!--SPONSOR LOGO FIRST-->
|
<!--SPONSOR LOGO FIRST-->
|
||||||
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
<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-->
|
<!--BARCODE SECOND-->
|
||||||
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
<img style="vertical-align: revert; margin-top: auto; object-fit: cover; max-height: 2cm;"
|
||||||
src="{{--bc this.id ../codeformat}}" />
|
src="{{--bc this.id ../codeformat}}" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user