Skip to content

Commit aab3be9

Browse files
authored
feat(landing): extend DeepSeek campaign banner through Aug 27 (#6852)
Refresh homepage and pricing campaign copy to the Pro + Flash two-week offer, and move the exclusive end to 2026-08-27 20:00 Asia/Shanghai.
1 parent ec0eddd commit aab3be9

5 files changed

Lines changed: 34 additions & 27 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
export const DEEPSEEK_V4_FLASH_CAMPAIGN = {
22
startAt: '2026-08-06T00:00:00+08:00',
3-
endAtExclusive: '2026-08-13T20:00:00+08:00',
3+
endAtExclusive: '2026-08-27T20:00:00+08:00',
44
} as const;

apps/landing-page/app/pages/index.astro

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,15 @@ const campaignPricingHref = localePath(locale, '/pricing/');
123123
const campaignCopy = locale.startsWith('zh')
124124
? {
125125
badge: '活动倒计时',
126-
title: '这次,别省着用。DeepSeek V4 Flash 无限用',
127-
detail: '8 月 6 日—8 月 13 日,一周免费用',
126+
title: '这次,顶级智能放开用',
127+
detail: 'DeepSeek V4 Pro 与 V4 Flash · 两周免费用',
128128
linkLabel: '查看活动权益',
129129
closeLabel: '关闭活动横幅',
130130
}
131131
: {
132132
badge: 'Campaign countdown',
133-
title: 'Stop rationing. Use DeepSeek V4 Flash without limits.',
134-
detail: 'Aug 6—Aug 13 · FREE all week',
133+
title: 'This time, top-tier intelligence is wide open.',
134+
detail: 'DeepSeek V4 Pro and V4 Flash · two weeks free',
135135
linkLabel: 'View campaign benefits',
136136
closeLabel: 'Dismiss campaign banner',
137137
};

apps/landing-page/app/pages/pricing/index.astro

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -120,24 +120,24 @@ const renderCatalogLabel = (label: string) => fillTemplate(label, catalogLabelVa
120120
const deepSeekCampaign = locale.startsWith('zh')
121121
? {
122122
badge: '无限使用',
123-
headline: '这次,别省着用。DeepSeek V4 Flash 无限用',
124-
body: '8月6日—8月13日,一周免费用',
123+
headline: '这次,顶级智能放开用',
124+
body: 'DeepSeek V4 Pro 与 V4 Flash · 两周免费用',
125125
windowLabel: '活动倒计时',
126-
windowValue: '7天 00:00:00',
127-
modelBenefit: 'DeepSeek V4 Flash 无限使用',
128-
paidBenefitNote: '8月6日—8月13日 · 一周免费用',
129-
teamBenefitNote: '8月6日—8月13日 · 一周免费用',
126+
windowValue: '14天 00:00:00',
127+
modelBenefit: 'DeepSeek V4 Pro 与 V4 Flash 两周免费',
128+
paidBenefitNote: 'DeepSeek V4 Pro 与 V4 Flash · 两周免费用',
129+
teamBenefitNote: 'DeepSeek V4 Pro 与 V4 Flash · 两周免费用',
130130
disclaimer: '套餐内的无限制模型额度与免费生成次数,仅可通过Open Design使用;无法在MCP/CLI/API及其他场景使用。解释权归官方所有。',
131131
}
132132
: {
133133
badge: 'Unlimited',
134-
headline: 'Stop rationing. Use DeepSeek V4 Flash without limits.',
135-
body: 'FREE all week, Aug 6—Aug 13',
134+
headline: 'This time, top-tier intelligence is wide open.',
135+
body: 'DeepSeek V4 Pro and V4 Flash · two weeks free',
136136
windowLabel: 'Campaign countdown',
137-
windowValue: '7d 00:00:00',
138-
modelBenefit: 'Unlimited DeepSeek V4 Flash',
139-
paidBenefitNote: 'Aug 6—Aug 13 · FREE all week',
140-
teamBenefitNote: 'Aug 6—Aug 13 · FREE all week',
137+
windowValue: '14d 00:00:00',
138+
modelBenefit: 'DeepSeek V4 Pro and V4 Flash free for two weeks',
139+
paidBenefitNote: 'DeepSeek V4 Pro and V4 Flash · two weeks free',
140+
teamBenefitNote: 'DeepSeek V4 Pro and V4 Flash · two weeks free',
141141
disclaimer: 'Unlimited model quota and free generations included in a plan are available only in open design, not through MCP, CLI, API, or other scenarios.',
142142
};
143143

apps/landing-page/tests/home-campaign-banner.test.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ const source = readFileSync(
66
new URL('../app/pages/index.astro', import.meta.url),
77
'utf8',
88
);
9+
const campaign = readFileSync(
10+
new URL('../app/_lib/deepseek-v4-flash-campaign.ts', import.meta.url),
11+
'utf8',
12+
);
913

1014
test('home campaign banner keeps only the arrow visible while preserving an accessible link label', () => {
1115
assert.doesNotMatch(source, //);
@@ -44,14 +48,17 @@ test('home campaign banner has no URL preview backdoor left', () => {
4448
assert.doesNotMatch(source, /get\('campaign'\)/);
4549
});
4650

47-
test('home campaign banner uses the fixed seven-day activity window', () => {
51+
test('home campaign banner uses the fixed two-week activity window', () => {
4852
assert.match(source, /DEEPSEEK_V4_FLASH_CAMPAIGN\.startAt/);
4953
assert.match(source, /DEEPSEEK_V4_FLASH_CAMPAIGN\.endAtExclusive/);
5054
assert.match(source, /now >= startAt && now < endAt/);
5155
assert.match(source, /data-home-campaign-banner[^>]*hidden/);
5256
assert.match(source, /home-campaign-banner-active/);
53-
assert.match(source, /8 6 8 13 /);
54-
assert.match(source, /FREE all week/);
57+
assert.match(source, //);
58+
assert.match(source, /DeepSeek V4 Pro V4 Flash · /);
59+
assert.match(source, /This time, top-tier intelligence is wide open\./);
60+
assert.match(source, /DeepSeek V4 Pro and V4 Flash · two weeks free/);
61+
assert.match(campaign, /endAtExclusive: '2026-08-27T20:00:00\+08:00'/);
5562
assert.doesNotMatch(source, /home-campaign-banner__disclaimer/);
5663
assert.doesNotMatch(source, /<strong><\/strong><strong><\/strong>/);
5764
assert.doesNotMatch(source, /2026-08-22T00:00:00\+08:00/);

apps/landing-page/tests/pricing-contract.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,18 +87,18 @@ describe("pricing contract", () => {
8787
it("renders the final DeepSeek campaign promise on personal and team pricing", async () => {
8888
const page = await readFile(PRICING_PAGE_PATH, "utf8");
8989

90-
assert.match(page, /DeepSeek V4 Flash 使/);
90+
assert.match(page, /DeepSeek V4 Pro V4 Flash /);
9191
assert.match(page, /badge: '使'/);
9292
assert.match(page, /windowLabel: ''/);
93-
assert.match(page, /windowValue: '7 00:00:00'/);
93+
assert.match(page, /windowValue: '14 00:00:00'/);
9494
assert.match(page, /data-pricing-campaign-countdown/);
9595
assert.doesNotMatch(page, //);
96-
assert.match(page, /FREE all week/);
97-
assert.match(page, /body: '86813'/);
98-
assert.match(page, /body: 'FREE all week, Aug 6Aug 13'/);
96+
assert.match(page, /two weeks free/);
97+
assert.match(page, /body: 'DeepSeek V4 Pro V4 Flash · '/);
98+
assert.match(page, /body: 'DeepSeek V4 Pro and V4 Flash · two weeks free'/);
9999
assert.doesNotMatch(page, /body: ['\"][^'\"]*20:00/);
100-
assert.match(page, /paidBenefitNote: '86813 · '/);
101-
assert.match(page, /teamBenefitNote: '86813 · '/);
100+
assert.match(page, /paidBenefitNote: 'DeepSeek V4 Pro V4 Flash · '/);
101+
assert.match(page, /teamBenefitNote: 'DeepSeek V4 Pro V4 Flash · '/);
102102
assert.match(page, /DEEPSEEK_V4_FLASH_CAMPAIGN\.startAt/);
103103
assert.match(page, /DEEPSEEK_V4_FLASH_CAMPAIGN\.endAtExclusive/);
104104
assert.match(page, /now >= campaignStartAt && now < campaignEndAt/);

0 commit comments

Comments
 (0)