totp/src/Collapsible.tsx
2024-04-07 02:19:40 -04:00

19 lines
457 B
TypeScript

import React from 'react';
import {Collapse} from 'bootstrap';
export default function Collapsible({children, show}: { children: React.ReactNode; show: boolean }) {
const id = React.useId();
React.useEffect(() => {
const collapse = Collapse.getOrCreateInstance(`#${id}`, {toggle: show});
if (show)
collapse.show();
else
collapse.hide();
}, [id, show]);
return <div id={id} className="collapse">
{children}
</div>;
}