import React, { useContext } from 'react';
import DropShadow from 'react-native-drop-shadow';
import { View, Pressable, Text } from 'react-native';
import { useThemeFactory } from '../Theme';
import ConfigProviderContext from '../ConfigProvider/ConfigProviderContext';
import type { CalendarHeaderProps } from './type';
import { createHeaderStyle } from './style';
const CalendarHeader = (props: CalendarHeaderProps) => {
const { locale } = useContext(ConfigProviderContext);
const { styles } = useThemeFactory(createHeaderStyle);
const renderTitle = () => {
if (props.showTitle) {
const text = props.title || locale?.vanCalendar?.title;
return (
{text}
);
}
return null;
};
const renderSubtitle = () => {
if (props.showSubtitle) {
return (
{props.subtitle}
);
}
return null;
};
const renderWeekDays = () => {
const { weekdays: customWeekdays, firstDayOfWeek } = props;
const defaultWeekdays = locale.vanCalendar.weekdays;
const weekdays = customWeekdays
? defaultWeekdays.map((wk, i) => customWeekdays[i] || wk)
: defaultWeekdays;
const renderWeekDaysContent = [
...weekdays.slice(firstDayOfWeek, 7),
...weekdays.slice(0, firstDayOfWeek),
];
return (
{renderWeekDaysContent.map((text, i) => (
// eslint-disable-next-line react/no-array-index-key
{text}
))}
);
};
return (
{renderTitle()}
{renderSubtitle()}
{renderWeekDays()}
);
};
export default CalendarHeader;