| 1234567891011121314151617181920212223242526 |
- /**
- * Fleet-size audience split for the sponsor surfaces.
- *
- * An install with a large fleet is almost certainly a business (print farm,
- * workshop, makerspace), and a business has no use for a "chip in $5" ask — it
- * wants a support contract, an invoice and a named contact. The sponsor toast
- * and the Settings banner therefore swap their copy and CTA above this
- * threshold instead of showing the personal ask.
- *
- * Counts CONFIGURED printers, not active ones: `is_active` is the
- * maintenance-mode flag, so a farm with half its machines on the bench must not
- * flicker back to the hobbyist pitch.
- */
- export const BUSINESS_FLEET_THRESHOLD = 5;
- export type SponsorAudience = 'personal' | 'business';
- export function fleetAudience(printerCount: number): SponsorAudience {
- return printerCount >= BUSINESS_FLEET_THRESHOLD ? 'business' : 'personal';
- }
- /** Landing page for each audience, carrying the Matomo `?from=` attribution. */
- export function sponsorHref(audience: SponsorAudience, from: string): string {
- const page = audience === 'business' ? 'business.html' : 'sponsors.html';
- return `https://bambuddy.cool/${page}?from=${from}`;
- }
|