Type fixes and website fix (#13825)

Various fixes
This commit is contained in:
Félix Malfait
2025-08-11 17:36:53 +02:00
committed by GitHub
parent 68ce13a1be
commit 32cdb66802
10 changed files with 133 additions and 124 deletions
@@ -1,6 +1,7 @@
import styled from '@emotion/styled';
import { DateTime } from 'luxon';
import { lazy, Suspense, useContext } from 'react';
import { lazy, Suspense, useContext, type ComponentType } from 'react';
import type { ReactDatePickerProps as ReactDatePickerLibProps } from 'react-datepicker';
import Skeleton, { SkeletonTheme } from 'react-loading-skeleton';
import { SKELETON_LOADER_HEIGHT_SIZES } from '@/activities/components/SkeletonLoader';
@@ -325,7 +326,17 @@ type DateTimePickerProps = {
onClear?: () => void;
};
const ReactDatePicker = lazy(() => import('react-datepicker'));
type DatePickerPropsType = ReactDatePickerLibProps<
boolean | undefined,
boolean | undefined
>;
const ReactDatePicker = lazy(
() =>
import('react-datepicker') as Promise<{
default: ComponentType<DatePickerPropsType>;
}>,
);
export const DateTimePicker = ({
date,
@@ -48,34 +48,36 @@ export const CustomSlashMenu = ({
return (
<StyledContainer ref={refs.setReference}>
{createPortal(
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.1 }}
>
<OverlayContainer
ref={refs.setFloating}
style={floatingStyles}
data-click-outside-id={SLASH_MENU_DROPDOWN_CLICK_OUTSIDE_ID}
<>
{createPortal(
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.1 }}
>
<DropdownContent>
<DropdownMenuItemsContainer hasMaxHeight>
<SelectableList
focusId={SLASH_MENU_DROPDOWN_CLICK_OUTSIDE_ID}
selectableListInstanceId={SLASH_MENU_LIST_ID}
selectableItemIdArray={items.map((item) => item.title)}
>
{items.map((item) => (
<CustomSlashMenuListItem key={item.title} item={item} />
))}
</SelectableList>
</DropdownMenuItemsContainer>
</DropdownContent>
</OverlayContainer>
</motion.div>,
document.body,
)}
<OverlayContainer
ref={refs.setFloating}
style={floatingStyles}
data-click-outside-id={SLASH_MENU_DROPDOWN_CLICK_OUTSIDE_ID}
>
<DropdownContent>
<DropdownMenuItemsContainer hasMaxHeight>
<SelectableList
focusId={SLASH_MENU_DROPDOWN_CLICK_OUTSIDE_ID}
selectableListInstanceId={SLASH_MENU_LIST_ID}
selectableItemIdArray={items.map((item) => item.title)}
>
{items.map((item) => (
<CustomSlashMenuListItem key={item.title} item={item} />
))}
</SelectableList>
</DropdownMenuItemsContainer>
</DropdownContent>
</OverlayContainer>
</motion.div>,
document.body,
)}
</>
</StyledContainer>
);
};