Skip to content

Commit 1c9eabc

Browse files
author
PrintableTools Lab Bot
committed
Add sponsor invoice request copy
1 parent f2ee23f commit 1c9eabc

29 files changed

Lines changed: 264 additions & 190 deletions

app.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7524,6 +7524,17 @@ ${paragraphs.join("\n")}
75247524
${sponsorDeals.map((deal) => `<article class="panel"><h3>${escapeHtml(deal.title)}</h3><p><strong>${escapeHtml(deal.price)}</strong></p><p>${escapeHtml(deal.bestFor)}</p><p>${escapeHtml(deal.deliverable)}</p><p class="help">Needed: ${escapeHtml(deal.proofNeeded)}</p><p><a class="button" data-sponsor-deal-select ${sponsorDealPrefillAttrs(deal)} data-track-event="sponsor_request_intent" data-track-tool="sponsor" href="${escapeHtml(deal.trackedUrl)}">Use this deal path</a></p></article>`).join("")}
75257525
</div>
75267526
</section>
7527+
<section class="shell section">
7528+
<h2>Copy-ready pilot request</h2>
7529+
<div class="grid-2">
7530+
${sponsorDeals.filter((deal) => deal.id !== "partner-distribution-test").slice(0, 2).map((deal) => {
7531+
const vertical = sponsorVerticals[0];
7532+
const prospect = { id: deal.id, name: "Sponsor team", category: "Direct buyer", fitReason: deal.bestFor, vertical: vertical.slug };
7533+
const copy = sponsorInvoiceRequestCopy(prospect, deal, vertical, deal.trackedUrl);
7534+
return `<article class="panel"><h3>${escapeHtml(deal.title)}</h3><p><strong>${escapeHtml(deal.price)}</strong></p><p>${escapeHtml(deal.deliverable)}</p><p><button class="button" type="button" data-copy-text="${escapeHtml(copy)}" data-track-event="sponsor_request_intent" data-track-tool="sponsor">Copy invoice request</button></p></article>`;
7535+
}).join("")}
7536+
</div>
7537+
</section>
75277538
<section class="shell section">
75287539
<h2>Best-fit sponsor categories</h2>
75297540
<div class="grid-3">
@@ -7563,12 +7574,13 @@ ${paragraphs.join("\n")}
75637574
const dealUrl = sponsorProspectDealUrl(prospect, deal, vertical);
75647575
const proposalUrl = sponsorProspectProposalUrl(prospect, deal, vertical);
75657576
const pitch = sponsorProspectPitch(prospect, deal, vertical, proposalUrl);
7577+
const invoiceRequest = sponsorInvoiceRequestCopy(prospect, deal, vertical, proposalUrl);
75667578
app.innerHTML = `
75677579
<section class="shell page-title section sponsor-hero">
75687580
<a href="/sponsor-deal-room/">Sponsor deal room</a>
75697581
<h1>${escapeHtml(prospect.name)} sponsor proposal</h1>
75707582
<p>A direct, business-safe proposal for a small, clearly labeled sponsor pilot with PrintableTools Lab. Downloads stay free, sponsor copy is manually reviewed, and revenue is counted only after a signed agreement or settled external payment.</p>
7571-
<p><a class="button" data-track-event="sponsor_request_intent" data-track-tool="sponsor" href="#sponsor-inquiry">Start inquiry</a> <a class="button secondary" data-track-event="sponsor_request_intent" data-track-tool="sponsor" href="${escapeHtml(dealUrl)}">Open deal room path</a> <button class="button ghost" type="button" data-copy-text="${escapeHtml(pitch)}">Copy outreach note</button></p>
7583+
<p><a class="button" data-track-event="sponsor_request_intent" data-track-tool="sponsor" href="#sponsor-inquiry">Start inquiry</a> <button class="button secondary" type="button" data-track-event="sponsor_request_intent" data-track-tool="sponsor" data-copy-text="${escapeHtml(invoiceRequest)}">Copy invoice request</button> <a class="button secondary" data-track-event="sponsor_request_intent" data-track-tool="sponsor" href="${escapeHtml(dealUrl)}">Open deal room path</a> <button class="button ghost" type="button" data-copy-text="${escapeHtml(pitch)}">Copy outreach note</button></p>
75727584
</section>
75737585
<section class="shell section">
75747586
<h2>Why this is a fit</h2>
@@ -7583,7 +7595,7 @@ ${paragraphs.join("\n")}
75837595
<div class="grid-3">
75847596
<article class="panel"><h3>${escapeHtml(deal.title)}</h3><p><strong>${escapeHtml(deal.price)}</strong></p><p>${escapeHtml(deal.bestFor)}</p></article>
75857597
<article class="panel"><h3>Deliverable</h3><p>${escapeHtml(deal.deliverable)}</p></article>
7586-
<article class="panel"><h3>Review needed</h3><p>${escapeHtml(deal.proofNeeded)}</p></article>
7598+
<article class="panel"><h3>Review needed</h3><p>${escapeHtml(deal.proofNeeded)}</p><p><button class="button ghost" type="button" data-copy-text="${escapeHtml(invoiceRequest)}">Copy invoice request</button></p></article>
75877599
</div>
75887600
</section>
75897601
<section class="shell section">
@@ -8050,6 +8062,7 @@ ${paragraphs.join("\n")}
80508062
<a class="button secondary" href="${escapeHtml(prospect.contactUrl)}" target="_blank" rel="noreferrer">Contact</a>
80518063
<a class="button secondary" href="${escapeHtml(proposalUrl)}" target="_blank" rel="noreferrer">Proposal</a>
80528064
<a class="button ghost" href="${escapeHtml(dealUrl)}" target="_blank" rel="noreferrer">Deal link</a>
8065+
<button class="button ghost" type="button" data-copy-text="${escapeHtml(invoiceRequest)}">Copy invoice request</button>
80538066
<button class="button ghost" type="button" data-copy-text="${escapeHtml(pitch)}">Copy pitch</button>
80548067
</div>
80558068
</article>
@@ -8121,6 +8134,20 @@ ${paragraphs.join("\n")}
81218134
].join("\n");
81228135
}
81238136

8137+
function sponsorInvoiceRequestCopy(prospect, deal, vertical, dealUrl) {
8138+
const absoluteDealUrl = absoluteSponsorUrl(dealUrl);
8139+
return [
8140+
"Hi PrintableTools Lab team,",
8141+
"",
8142+
`We are interested in the ${deal.title} (${deal.price}) for ${vertical.title}.`,
8143+
`Company/prospect: ${prospect.name}`,
8144+
`Pilot link: ${absoluteDealUrl}`,
8145+
"",
8146+
"Please review fit and send the external invoice/agreement if this sponsor placement is policy-safe.",
8147+
"We will keep payment, tax, bank, phone, and private customer details outside the website form.",
8148+
].join("\n");
8149+
}
8150+
81248151
function absoluteSponsorUrl(pathName) {
81258152
try {
81268153
return new URL(pathName, CONFIG.siteUrl || window.location.origin).toString();

discovery.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "PrintableTools Lab",
33
"url": "https://printable-tools-lab.pages.dev/",
4-
"generatedAt": "2026-06-07T19:04:42.246Z",
4+
"generatedAt": "2026-06-07T19:10:30.543Z",
55
"positioning": "Free no-signup browser PDF, image, and QR tools with local generation, original guides, and responsible ad placement after approval.",
66
"feed": "https://printable-tools-lab.pages.dev/feed.xml",
77
"manifest": "https://printable-tools-lab.pages.dev/site.webmanifest",

docs/game-submission-feed.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "HTML5 Game Submission Feed",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/html5-game-submission-pack/",
55
"mainSubmissionPack": "https://printable-tools-lab.pages.dev/portal-submission-pack/",
66
"purpose": "Public machine-readable feed for HTML5 game portals and reviewers. It lists playable builds, clean ZIPs, SDK packages, demo videos, review reports, and ad-safety notes without private account or payout data.",

docs/games.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "HTML5 Game Submission Feed",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/html5-game-submission-pack/",
55
"mainSubmissionPack": "https://printable-tools-lab.pages.dev/portal-submission-pack/",
66
"purpose": "Public machine-readable feed for HTML5 game portals and reviewers. It lists playable builds, clean ZIPs, SDK packages, demo videos, review reports, and ad-safety notes without private account or payout data.",

docs/organic-push-kit.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "PrintableTools Lab Organic Push Kit Mirror",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/organic-push-kit/",
55
"livePage": "https://printable-tools-lab.pages.dev/organic-push-kit/",
66
"liveJson": "https://printable-tools-lab.pages.dev/organic-push-kit.json",

docs/sponsor-call.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "PrintableTools Lab Sponsor Call Mirror",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-call/",
55
"livePage": "https://printable-tools-lab.pages.dev/sponsor-call/",
66
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-call.json",

docs/sponsor-deal-room.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "PrintableTools Lab Sponsor Deal Room Mirror",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-deal-room/",
55
"livePage": "https://printable-tools-lab.pages.dev/sponsor-deal-room/",
66
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-deal-room.json",

docs/sponsor-opportunities.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "PrintableTools Lab Sponsor Opportunities Mirror",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-opportunities/",
55
"livePage": "https://printable-tools-lab.pages.dev/sponsor-opportunities/",
66
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-opportunities.json",

docs/tools.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"finder": "https://printable-tools-lab.pages.dev/pdf-tool-finder/",
66
"feed": "https://printable-tools-lab.pages.dev/feed.xml",
77
"githubPagesDirectory": "https://yanqr213.github.io/printable-tools-lab/",
8-
"generatedAt": "2026-06-07T19:04:42.342Z",
8+
"generatedAt": "2026-06-07T19:10:30.630Z",
99
"landingPages": [
1010
{
1111
"title": "Free Upload Limit Fixer",
@@ -1559,7 +1559,7 @@
15591559
},
15601560
"organicPushKit": {
15611561
"name": "PrintableTools Lab Organic Push Kit Mirror",
1562-
"generatedAt": "2026-06-07T19:04:42.342Z",
1562+
"generatedAt": "2026-06-07T19:10:30.630Z",
15631563
"directory": "https://yanqr213.github.io/printable-tools-lab/organic-push-kit/",
15641564
"livePage": "https://printable-tools-lab.pages.dev/organic-push-kit/",
15651565
"liveJson": "https://printable-tools-lab.pages.dev/organic-push-kit.json",
@@ -1656,7 +1656,7 @@
16561656
},
16571657
"uploadErrorCheatsheet": {
16581658
"name": "PrintableTools Lab Upload Error Cheatsheet Mirror",
1659-
"generatedAt": "2026-06-07T19:04:42.342Z",
1659+
"generatedAt": "2026-06-07T19:10:30.630Z",
16601660
"directory": "https://yanqr213.github.io/printable-tools-lab/upload-error-cheatsheet/",
16611661
"livePage": "https://printable-tools-lab.pages.dev/upload-error-cheatsheet/",
16621662
"liveJson": "https://printable-tools-lab.pages.dev/upload-error-cheatsheet.json",
@@ -1803,7 +1803,7 @@
18031803
},
18041804
"sponsorDealRoom": {
18051805
"name": "PrintableTools Lab Sponsor Deal Room Mirror",
1806-
"generatedAt": "2026-06-07T19:04:42.342Z",
1806+
"generatedAt": "2026-06-07T19:10:30.630Z",
18071807
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-deal-room/",
18081808
"livePage": "https://printable-tools-lab.pages.dev/sponsor-deal-room/",
18091809
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-deal-room.json",
@@ -1907,7 +1907,7 @@
19071907
},
19081908
"sponsorCall": {
19091909
"name": "PrintableTools Lab Sponsor Call Mirror",
1910-
"generatedAt": "2026-06-07T19:04:42.342Z",
1910+
"generatedAt": "2026-06-07T19:10:30.630Z",
19111911
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-call/",
19121912
"livePage": "https://printable-tools-lab.pages.dev/sponsor-call/",
19131913
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-call.json",
@@ -2016,7 +2016,7 @@
20162016
},
20172017
"sponsorOpportunities": {
20182018
"name": "PrintableTools Lab Sponsor Opportunities Mirror",
2019-
"generatedAt": "2026-06-07T19:04:42.342Z",
2019+
"generatedAt": "2026-06-07T19:10:30.630Z",
20202020
"directory": "https://yanqr213.github.io/printable-tools-lab/sponsor-opportunities/",
20212021
"livePage": "https://printable-tools-lab.pages.dev/sponsor-opportunities/",
20222022
"liveJson": "https://printable-tools-lab.pages.dev/sponsor-opportunities.json",

docs/upload-error-cheatsheet.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "PrintableTools Lab Upload Error Cheatsheet Mirror",
3-
"generatedAt": "2026-06-07T19:04:42.342Z",
3+
"generatedAt": "2026-06-07T19:10:30.630Z",
44
"directory": "https://yanqr213.github.io/printable-tools-lab/upload-error-cheatsheet/",
55
"livePage": "https://printable-tools-lab.pages.dev/upload-error-cheatsheet/",
66
"liveJson": "https://printable-tools-lab.pages.dev/upload-error-cheatsheet.json",

0 commit comments

Comments
 (0)