From 782cc0a31a866519fb7c3e18a523b347d3e40238 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Mon, 30 May 2022 19:27:21 +0200 Subject: chore: replace Checkbox component with a BooleanField component Checkbox and radio buttons are working the same way so I decided to group them in a same component. --- src/components/organisms/toolbar/main-nav.stories.tsx | 10 +++++++++- src/components/organisms/toolbar/main-nav.tsx | 18 +++++++++++------- src/components/organisms/toolbar/search.stories.tsx | 10 +++++++++- src/components/organisms/toolbar/search.tsx | 18 +++++++++++------- src/components/organisms/toolbar/settings.stories.tsx | 10 +++++++++- src/components/organisms/toolbar/settings.tsx | 18 +++++++++++------- src/components/organisms/toolbar/toolbar.tsx | 6 +++--- 7 files changed, 63 insertions(+), 27 deletions(-) (limited to 'src/components/organisms/toolbar') diff --git a/src/components/organisms/toolbar/main-nav.stories.tsx b/src/components/organisms/toolbar/main-nav.stories.tsx index 831636f..7d6d915 100644 --- a/src/components/organisms/toolbar/main-nav.stories.tsx +++ b/src/components/organisms/toolbar/main-nav.stories.tsx @@ -63,7 +63,15 @@ const Template: ComponentStory = ({ }) => { const [isOpen, setIsOpen] = useState(isActive); - return ; + return ( + { + setIsOpen(!isOpen); + }} + {...args} + /> + ); }; /** diff --git a/src/components/organisms/toolbar/main-nav.tsx b/src/components/organisms/toolbar/main-nav.tsx index d205112..5dd32f7 100644 --- a/src/components/organisms/toolbar/main-nav.tsx +++ b/src/components/organisms/toolbar/main-nav.tsx @@ -1,4 +1,6 @@ -import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox'; +import BooleanField, { + type BooleanFieldProps, +} from '@components/atoms/forms/boolean-field'; import Label from '@components/atoms/forms/label'; import Hamburger from '@components/atoms/icons/hamburger'; import Nav, { @@ -18,7 +20,7 @@ export type MainNavProps = { /** * The button state. */ - isActive: CheckboxProps['value']; + isActive: BooleanFieldProps['checked']; /** * The main nav items. */ @@ -26,7 +28,7 @@ export type MainNavProps = { /** * A callback function to handle button state. */ - setIsActive: CheckboxProps['setValue']; + setIsActive: BooleanFieldProps['onChange']; }; /** @@ -53,12 +55,14 @@ const MainNav: ForwardRefRenderFunction = ( return (
-