mirror of
https://github.com/vercel/flags.git
synced 2026-09-19 03:49:23 +08:00
cf9ccd0076
* Scaffold Geistdocs instance * Update biome.json * Replace content * Re-path docs * Update docs package name * Misc fixes * Update geistdocs.tsx * Move content to correct folder * Start migrating custom components * Finish migrating custom components * Migrate existing redirects * Remove #next suffixes from code blocks * Migrate homepage and flags * Remove duplicate lockfiles * Start fixing homepage * Replace Geist components * Fix colors * Improve layout * Fix code blocks * Fix hero * Fix illustrations * Fix redirect * Fix nav links * Patch in FrameworkSwitcher * Bump Next.js in docs * Delete turbo.json * Misc fixes * More logo fixes
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { flag } from 'flags/next';
|
|
|
|
export const enableBannerFlag = flag({
|
|
key: 'enable-banner-flag',
|
|
description: 'Full-width callout at the top',
|
|
options: [false, true],
|
|
decide({ cookies }) {
|
|
const on = cookies.get(this.key)?.value;
|
|
return on !== undefined;
|
|
},
|
|
});
|
|
|
|
export const enableDitheredHeroFlag = flag({
|
|
key: 'enable-dithered-hero-flag',
|
|
description: 'Keep it dithered',
|
|
options: [false, true],
|
|
decide({ cookies }) {
|
|
const on = cookies.get(this.key)?.value;
|
|
return on !== undefined;
|
|
},
|
|
});
|
|
|
|
export const enableHeroTextFlag = flag<string>({
|
|
key: 'swap-hero-text',
|
|
description: 'Toggle between headline options for A/B testing',
|
|
options: [
|
|
'The feature flags toolkit',
|
|
'Ship faster with feature flags',
|
|
'Flag features, ship apps faster',
|
|
],
|
|
decide({ cookies }) {
|
|
const cookieValue = cookies.get(this.key)?.value;
|
|
return cookieValue && this.options?.includes(cookieValue)
|
|
? cookieValue
|
|
: (this.options![0] as string);
|
|
},
|
|
});
|
|
|
|
export const rootFlags = [
|
|
enableBannerFlag,
|
|
enableHeroTextFlag,
|
|
enableDitheredHeroFlag,
|
|
] as const;
|