🐛 Fix Calendar

This commit is contained in:
ajnart
2023-04-17 14:48:04 +09:00
parent ec76c10fdc
commit 543113292b
2 changed files with 43 additions and 38 deletions

View File

@@ -1,4 +1,4 @@
import { Box, Indicator, IndicatorProps, Popover } from '@mantine/core';
import { ActionIcon, Box, Button, Indicator, IndicatorProps, Popover } from '@mantine/core';
import { useDisclosure } from '@mantine/hooks';
import { isToday } from '../../tools/shared/time/date.tool';
import { MediaList } from './MediaList';
@@ -70,7 +70,7 @@ const DayIndicator = ({ color, medias, children, position }: DayIndicatorProps)
if (medias.length === 0) return children;
return (
<Indicator size={10} withBorder offset={5} color={color} position={position}>
<Indicator size={10} withBorder offset={-5} color={color} position={position}>
{children}
</Indicator>
);

View File

@@ -9,6 +9,7 @@ import { defineWidget } from '../helper';
import { IWidget } from '../widgets';
import { CalendarDay } from './CalendarDay';
import { MediasType } from './type';
import { useColorTheme } from '../../tools/color';
const definition = defineWidget({
id: 'calendar',
@@ -50,6 +51,7 @@ interface CalendarTileProps {
function CalendarTile({ widget }: CalendarTileProps) {
const { name: configName } = useConfigContext();
const [month, setMonth] = useState(new Date());
const { secondaryColor } = useColorTheme();
const { data: medias } = useQuery({
queryKey: ['calendar/medias', { month: month.getMonth(), year: month.getFullYear() }],
@@ -65,42 +67,45 @@ function CalendarTile({ widget }: CalendarTileProps) {
});
return (
<Group grow style={{ height: '100%' }}>
<Calendar
defaultDate={new Date()}
onPreviousMonth={setMonth}
onNextMonth={setMonth}
size="xs"
locale={i18n?.resolvedLanguage ?? 'en'}
firstDayOfWeek={widget.properties.sundayStart ? 0 : 1}
hideWeekdays
date={month}
hasNextLevel={false}
styles={{
calendar: {
height: '100%',
},
monthLevelGroup: {
height: '100%',
},
monthLevel: {
height: '100%',
display: 'flex',
flexDirection: 'column',
width: '100%',
},
month: {
flex: 1,
},
calendarHeader: {
maxWidth: 'inherit',
},
}}
renderDay={(date) => (
<CalendarDay date={date} medias={getReleasedMediasForDate(medias, date, widget)} />
)}
/>
</Group>
<Calendar
defaultDate={new Date()}
onPreviousMonth={setMonth}
onNextMonth={setMonth}
size="xs"
locale={i18n?.resolvedLanguage ?? 'en'}
firstDayOfWeek={widget.properties.sundayStart ? 0 : 1}
hideWeekdays
style={{ position: 'relative', top: -10 }}
date={month}
maxLevel="month"
hasNextLevel={false}
styles={{
calendarHeader: {
maxWidth: 'inherit',
},
calendar: {
height: '100%',
display: 'flex',
flexDirection: 'column',
width: '100%',
},
monthLevelGroup: {
height: '100%',
},
monthLevel: {
height: '100%',
display: 'flex',
flexDirection: 'column',
width: '100%',
},
month: {
flex: 1,
},
}}
renderDay={(date) => (
<CalendarDay date={date} medias={getReleasedMediasForDate(medias, date, widget)} />
)}
/>
);
}