Files
Hayden Bleasel cf9ccd0076 Open Source Docs (#272)
* 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
2026-02-13 09:06:03 +02:00

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;