import { useDrawerV2 } from '@material-hu/hooks/useDrawerV2';

import { type DrawerProps } from '@material-hu/components/design-system/Drawer/types';

import useHuGoTheme from 'src/hooks/useHuGoTheme';

import getKnowledgeLibrariesConfiguration from './getKnowledgeLibrariesConfiguration';

type KnowledgeLibrariesSettingsDrawerProps = DrawerProps & {
  onClose: () => void;
  handleSave: () => void;
};

const KnowledgeLibrariesSettingsDrawer = ({
  open,
  onClose,
  handleSave,
}: KnowledgeLibrariesSettingsDrawerProps) => {
  const HugoThemeProvider = useHuGoTheme();

  const extraProps = {
    drawerOpen: open ?? false,
    onClose,
    handleSave,
  };

  const { drawer } = useDrawerV2(props =>
    getKnowledgeLibrariesConfiguration({
      ...extraProps,
      ...props,
    }),
  );

  return <HugoThemeProvider>{drawer}</HugoThemeProvider>;
};

export default KnowledgeLibrariesSettingsDrawer;
