fix(calendar): info popover overlap (#2268)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
|
import { useState } from "react";
|
||||||
import { Container, Popover, useMantineTheme } from "@mantine/core";
|
import { Container, Popover, useMantineTheme } from "@mantine/core";
|
||||||
import { useDisclosure } from "@mantine/hooks";
|
|
||||||
|
|
||||||
import type { CalendarEvent } from "@homarr/integrations/types";
|
import type { CalendarEvent } from "@homarr/integrations/types";
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ interface CalendarDayProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const CalendarDay = ({ date, events, disabled }: CalendarDayProps) => {
|
export const CalendarDay = ({ date, events, disabled }: CalendarDayProps) => {
|
||||||
const [opened, { close, open }] = useDisclosure(false);
|
const [opened, setOpend] = useState(false);
|
||||||
const { primaryColor } = useMantineTheme();
|
const { primaryColor } = useMantineTheme();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -25,13 +25,12 @@ export const CalendarDay = ({ date, events, disabled }: CalendarDayProps) => {
|
|||||||
transitionProps={{
|
transitionProps={{
|
||||||
transition: "pop",
|
transition: "pop",
|
||||||
}}
|
}}
|
||||||
onClose={close}
|
onChange={setOpend}
|
||||||
opened={opened}
|
opened={opened}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
>
|
>
|
||||||
<Popover.Target>
|
<Popover.Target>
|
||||||
<Container
|
<Container
|
||||||
onClick={events.length > 0 && !opened ? open : close}
|
|
||||||
h="100%"
|
h="100%"
|
||||||
w="100%"
|
w="100%"
|
||||||
p={0}
|
p={0}
|
||||||
@@ -40,7 +39,12 @@ export const CalendarDay = ({ date, events, disabled }: CalendarDayProps) => {
|
|||||||
style={{
|
style={{
|
||||||
alignContent: "center",
|
alignContent: "center",
|
||||||
borderRadius: "3.5cqmin",
|
borderRadius: "3.5cqmin",
|
||||||
cursor: events.length === 0 || disabled ? "default" : "pointer",
|
cursor: disabled ? "default" : "pointer",
|
||||||
|
}}
|
||||||
|
onClick={() => {
|
||||||
|
if (disabled) return;
|
||||||
|
|
||||||
|
setOpend((prev) => !prev);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -121,7 +121,9 @@ const CalendarBase = ({ isEditMode, events, month, setMonth, options }: Calendar
|
|||||||
)?.date,
|
)?.date,
|
||||||
}))
|
}))
|
||||||
.filter((event): event is CalendarEvent => Boolean(event.date));
|
.filter((event): event is CalendarEvent => Boolean(event.date));
|
||||||
return <CalendarDay date={tileDate} events={eventsForDate} disabled={isEditMode} />;
|
return (
|
||||||
|
<CalendarDay date={tileDate} events={eventsForDate} disabled={isEditMode || eventsForDate.length === 0} />
|
||||||
|
);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user