From 195c640efcaba1a30b649fbb9f4f2e230fc727ae Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Wed, 20 Mar 2024 19:20:20 -0500 Subject: [PATCH] Refactor site config checklist --- src/components/Badge.tsx | 3 +++ src/components/Checklist.tsx | 18 ++++++++++++------ src/components/ChecklistRow.tsx | 11 ++--------- src/components/ExperimentalBadge.tsx | 20 ++++++++++++++++++++ src/site/SiteChecklistClient.tsx | 2 +- 5 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 src/components/ExperimentalBadge.tsx diff --git a/src/components/Badge.tsx b/src/components/Badge.tsx index fb4850d4..8a942928 100644 --- a/src/components/Badge.tsx +++ b/src/components/Badge.tsx @@ -7,6 +7,7 @@ export default function Badge({ highContrast, uppercase, interactive, + className, }: { children: React.ReactNode type?: 'large' | 'small' | 'text-only' @@ -14,6 +15,7 @@ export default function Badge({ highContrast?: boolean uppercase?: boolean interactive?: boolean + className?: string }) { const stylesForType = () => { switch (type) { @@ -44,6 +46,7 @@ export default function Badge({ 'leading-none', stylesForType(), uppercase && 'uppercase tracking-wider', + className, )}> {children} diff --git a/src/components/Checklist.tsx b/src/components/Checklist.tsx index cb80dded..62a23bab 100644 --- a/src/components/Checklist.tsx +++ b/src/components/Checklist.tsx @@ -1,30 +1,36 @@ import { ReactNode } from 'react'; import { clsx } from 'clsx/lite'; +import ExperimentalBadge from './ExperimentalBadge'; +import Badge from './Badge'; export default function Checklist({ title, icon, optional, + experimental, children, }: { title: string icon?: ReactNode optional?: boolean + experimental?: boolean children: ReactNode }) { return (
- {icon} -
-
{title}
+ {icon} + + {title} {optional && -
(Optional)
} -
+ Optional} + {experimental && + } +
{title} {experimental && - - Experimental - } + }
{children} diff --git a/src/components/ExperimentalBadge.tsx b/src/components/ExperimentalBadge.tsx new file mode 100644 index 00000000..efeeb59d --- /dev/null +++ b/src/components/ExperimentalBadge.tsx @@ -0,0 +1,20 @@ +import clsx from 'clsx/lite'; +import Badge from './Badge'; + +export default function ExperimentalBadge({ + className, +}: { + className?: string +}) { + return ( + + Experimental + + ); +} diff --git a/src/site/SiteChecklistClient.tsx b/src/site/SiteChecklistClient.tsx index 87c2442d..31f3c185 100644 --- a/src/site/SiteChecklistClient.tsx +++ b/src/site/SiteChecklistClient.tsx @@ -271,13 +271,13 @@ export default function SiteChecklistClient({ } + experimental optional > Store your OpenAI secret key in order to add experimental support