Repository navigation
feat(pricing): a dated Black Friday sale with its own page, banner, band and sale prices - #135
Merged
Merged
Conversation
…and and sale prices
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A dated Black Friday sale, defined once in
pricing.json's newcampaign: 40% off Pro one-time and Pro yearly with the Polar discountBLACKFRIDAY2026, live from 2026-11-24 00:00 UTC until 2026-12-01 08:00 UTC. The site switches on and off by itself at those instants, with no deploy./black-friday, in every language, on one URL kept from year to year. Before the sale it states the window and the prices. During it, both offers can be bought from the page with the code attached. After it, the title, heading and description say the sale has ended and nothing is offered.tablepro:campaign-closed, which the privacy policy now lists in every language.CacheHtmlAtEdgeshortenss-maxageandstale-while-revalidateso every cached copy expires at that instant.useCampaignends it in a tab left open, and never starts it on the reader's clock.Ships together with
BLACKFRIDAY2026, already created (40%, once, Pro Lifetime and Pro Yearly, same window)./checkoutalready acceptsdiscount_code.Tests changed on purpose
TopBannerTest,LanguageBarTest,PricingPageTest,RegionalPricingTestandEdgeCacheTestnow run after the sale has ended. They describe the license banner, list prices and the usual cache lifetimes, and they would otherwise fail in CI during the sale week or the hour before it.CampaignTestandCampaignPageTestcover the sale.TopBannerTest: thebannerprop now carries itskind.RegionalPricingTest: the sale's page also asks for the regional discount, only to leave the code off. It never names it.PricingDataTestpins the campaign to the Polar discount.LandingTest,LocaleRoutingTest,LlmsTxtTest(the page is left out of llms.txt),SeoLengthsTest,ContentParityTest("Black Friday" is a kept name) andPublicContractsTest(four banner and band events) know the new page.Checks run
/black-fridaytab turned live at the start instant and an open Pricing tab dropped the band, the banner and the sale prices at the end instant.npm run typecheck,npm run test:jsandpint --testpass./black-fridaychecked at 1440px and 390px, light and dark, with the sale forced live locally.