Skip to content

feat(templates): add waitlist product template - #276

Merged
anurag629 merged 1 commit into
codercops:devfrom
sank8-2:feat/product-waitlist
Oct 27, 2026
Merged

anurag629 merged 1 commit into
codercops:devfrom
sank8-2:feat/product-waitlist

Conversation

@sank8-2

@sank8-2 sank8-2 commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Description

Closes #257

Adds the product-waitlist template for pre-launch posts that collect sign-ups: a small "Join the waitlist" label in the accent, the product name large under it, a one-line pitch, the number of people waiting with its label beside it, and an optional launch window plus site name at the bottom.

  • Long product names and pitches shrink with autoFontSize() first and then truncate.
  • A blank or whitespace-only description, launchWindow or site name hides cleanly.
  • When count is empty its countLabel hides with it, so the label never stands alone.
  • The separator dot only renders when both the launch window and the site name are present.
  • The label and the launch window are drawn in the accent on the page background, so they are darkened with mixColors() when that background is light.

How I Tested This

  • npm run check — 0 errors, 0 warnings (10 hints, all pre-existing).
  • npm test — 1,170 tests passed across 54 files.
  • npm run build — passed.
  • git diff --check — passed.
  • Added tests/templates/waitlist.test.ts covering registration and the re-export, render order, the count label hiding with an empty count, blank description/launch window/site name dropping out, the separator dot staying out when only one of the launch window and site name is set, a long name and pitch shrinking then truncating, and the darkened accent on a white background with a pale yellow accent.
  • Rendered and inspected the 1200×630 PNGs: default dark theme, white background with #fde047 accent, and a long-name/long-pitch/empty-count/blank-launch-window case. Screenshots below.

AI Assistance

OpenCode (an AI coding agent) drafted the template, the test file, and this description. I reviewed the diff, rendered the PNGs above, and ran npm run check, npm test, and npm run build locally.

Type of Change

  • New template

Screenshots

Default (dark):

og-product-waitlist-dark

Light background with a pale yellow accent:

og-product-waitlist-light

Long name and pitch, empty count and blank launch window:

og-product-waitlist-sparse

Checklist

  • This PR targets dev
  • I was assigned the linked issue
  • npm run check passes
  • npm run test passes with the default timeout
  • npm run build passes
  • Screenshot included
  • New template follows the Template Guidelines

Adds product-waitlist: a Join the waitlist label in the accent, the product name and pitch shrunk with autoFontSize before truncating, the waitlist count with its label beside it, and the launch window plus site name at the bottom. An empty count hides its label too, and blank optional fields drop out cleanly. Accent text is darkened on light backgrounds.

Closes codercops#257

@anurag629 anurag629 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @sank8-2, this works. Check, all 1392 tests and the build pass on top of dev, and the renders look right: default, a white background with a pale accent, a long caps name, pitch, count and labels, and blank fields, where the count label hides with the count and the dot only shows when both the launch window and the site name are there.

@anurag629 anurag629 added the hacktoberfest-accepted PR counts for Hacktoberfest label Oct 27, 2026
@anurag629
anurag629 merged commit 803df0e into codercops:dev Oct 27, 2026
3 checks passed
@sank8-2 sank8-2 mentioned this pull request Oct 27, 2026
25 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest-accepted PR counts for Hacktoberfest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the Waitlist product template (product-waitlist)

2 participants