From 84a679b0e48ed76eee2fa44d3caac83591aa3c8c Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Mon, 30 Oct 2023 11:18:11 +0100 Subject: feat(hooks): add useBoolean and useToggle hooks --- .../organisms/forms/ackee-toggle/ackee-toggle.tsx | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/components/organisms/forms/ackee-toggle') diff --git a/src/components/organisms/forms/ackee-toggle/ackee-toggle.tsx b/src/components/organisms/forms/ackee-toggle/ackee-toggle.tsx index 9493095..2fea0a7 100644 --- a/src/components/organisms/forms/ackee-toggle/ackee-toggle.tsx +++ b/src/components/organisms/forms/ackee-toggle/ackee-toggle.tsx @@ -1,7 +1,7 @@ /* eslint-disable max-statements */ -import { type FC, useState, useCallback } from 'react'; +import type { FC } from 'react'; import { useIntl } from 'react-intl'; -import { useAckee } from '../../../../utils/hooks'; +import { useAckee, useBoolean } from '../../../../utils/hooks'; import { Legend, List, ListItem } from '../../../atoms'; import { Switch, @@ -25,7 +25,11 @@ export type AckeeToggleProps = Omit< export const AckeeToggle: FC = ({ direction, ...props }) => { const intl = useIntl(); const [tracking, toggleTracking] = useAckee(); - const [isTooltipOpened, setIsTooltipOpened] = useState(false); + const { + deactivate: closeTooltip, + state: isTooltipOpened, + toggle: toggleTooltip, + } = useBoolean(false); const ackeeLabel = intl.formatMessage({ defaultMessage: 'Tracking:', @@ -64,13 +68,6 @@ export const AckeeToggle: FC = ({ direction, ...props }) => { { id: 'ackee-partial' as const, label: partialLabel, value: 'partial' }, ] satisfies [SwitchOption, SwitchOption]; - const closeTooltip = useCallback(() => { - setIsTooltipOpened(false); - }, []); - const toggleTooltip = useCallback(() => { - setIsTooltipOpened((prev) => !prev); - }, []); - return (