Skip to content

OpenConceptLab/ocl_online#299 | Banner: subscription dates (Nov 1 / Dec 1 grace period), "Learn more" and "See pricing" - #89

Merged
paynejd merged 1 commit into
mainfrom
OpenConceptLab/ocl_online#299-subscription-banner
Oct 1, 2026
Merged

paynejd merged 1 commit into
mainfrom
OpenConceptLab/ocl_online#299-subscription-banner

Conversation

@paynejd

@paynejd paynejd commented Oct 1, 2026

Copy link
Copy Markdown
Member

Linked Issue

Refs OpenConceptLab/ocl_online#299

Summary

Replaces the Mapper's public-preview announcement with the subscription-dates banner that is going live on openconceptlab.org, so the apps and the site say the same thing.

  • New announcement id subscription-dates-2026-10 (the same id as the community site), so visitors who dismissed the preview banner see this one.
  • Text (en/es/zh): "Subscriptions open November 1." / "Existing accounts using premium features have a grace period until December 1."
  • Two links instead of one, separated by " · ", each opening in a new tab:
    • "Learn more": the letter to the OCL community (existing announcement.link_label, unchanged)
    • "See pricing": openconceptlab.org/pricing (new announcement.pricing_link_label in en/es/zh)
  • Both URLs carry utm_source=oclmap&utm_medium=banner&utm_campaign=subscription_dates. MAPPER_ANNOUNCEMENT_URL in src/common/constants.js becomes MAPPER_ANNOUNCEMENT_LETTER_URL and MAPPER_ANNOUNCEMENT_PRICING_URL.
  • Each link has whiteSpace: 'nowrap', so a label doesn't break mid-label when the banner wraps on narrow screens.

The banner doesn't record GA events today, and this PR doesn't add any.

Test Plan

  • ./node_modules/eslint/bin/eslint.js src --ext .jsx,.js: clean
  • npm run test:all: 401 unit + 6 integration tests pass (no existing banner test; the suite runs .test.js under node --test, which doesn't cover JSX components)
  • Locale bundles parse, and announcement.* has the same keys in en/es/zh
  • After deploy: banner shows the new text in en/es/zh, reappears for someone who dismissed the preview banner, and both links open the right page in a new tab
  • On a phone-width viewport, "Learn more" and "See pricing" each stay on one line

Notes

Don't merge until Jon's go; production deploy is manual.

🤖 Generated with Claude Code

https://claude.ai/code/session_019j2N6BFoNmA32L2DHKZV41

…ec 1 grace period), "Learn more" and "See pricing"

New announcement id, so visitors who dismissed the preview banner see this
one. Two links instead of one, each kept on one line on narrow screens:
"Learn more" (the letter to the OCL community) and "See pricing" (new
announcement.pricing_link_label in en/es/zh). Both carry
utm_campaign=subscription_dates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019j2N6BFoNmA32L2DHKZV41
@paynejd paynejd self-assigned this Oct 1, 2026

@paynejd paynejd left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Codex adversarial review, pass 1 (codex-cli 0.159.2, commit 92c2a08)

Read-only. Posted verbatim. The destination pages it couldn't reach from its sandbox return 200 (checked after today's openconceptlab.org deploy).


Clean—no actionable findings.

  • Unique, stable React keys; both links render in order with single-line labels.
  • New announcement ID correctly resets dismissal; dismissing persists the new ID.
  • Links remain keyboard accessible and use target="_blank" with rel="noopener noreferrer".
  • Spanish and Chinese accurately convey the dates and grace period.
  • URLs and UTM tags match the requested destinations and app attribution.
  • JSON parsing, JSX/JS syntax checks, and git diff --check passed. No stale constant references found.

Live destination verification was blocked by fetch/DNS failures. Full build and browser checks weren’t run. No files modified.

@paynejd
paynejd merged commit 80fe024 into main Oct 1, 2026
2 checks passed
@paynejd
paynejd deleted the OpenConceptLab/ocl_online#299-subscription-banner branch October 1, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant