Echo aa71913356 [Glitch] Callout component
Port c1414f1161b5fc1b8b6755d22b76415c82b64d7c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-01-23 18:10:21 +01:00

28 lines
651 B
TypeScript

import { useCallback } from 'react';
import type { FC } from 'react';
import { useDismissible } from '@/flavours/glitch/hooks/useDismissible';
import { Callout } from '.';
import type { CalloutProps } from '.';
type DismissibleCalloutProps = CalloutProps & {
id: string;
};
export const DismissibleCallout: FC<DismissibleCalloutProps> = (props) => {
const { dismiss, wasDismissed } = useDismissible(props.id);
const { onClose } = props;
const handleClose = useCallback(() => {
dismiss();
onClose?.();
}, [dismiss, onClose]);
if (wasDismissed) {
return null;
}
return <Callout {...props} onClose={handleClose} />;
};