react-native-week-schedule-1
Version:
49 lines (48 loc) • 1.5 kB
JavaScript
;
import { memo, useMemo } from 'react';
import { getStyles } from "./styles.js";
import { Text, View } from 'react-native';
import { grid } from "../../utils/grid.js";
import { divideDate } from "../../utils/divideDate.js";
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
export const Header = /*#__PURE__*/memo(({
dates,
weekDays
}) => {
const styles = useMemo(() => getStyles(), []);
const today = new Date().toISOString();
const getColor = date => {
if (date && today.includes(date.split(':')[0] || '')) {
return grid.colors.primary;
}
return undefined;
};
const getTextColor = date => {
if (date && today.includes(date.split(':')[0] || '')) {
return grid.colors.text_inverted;
}
;
return grid.colors.text;
};
const renderItem = (item, index) => /*#__PURE__*/_jsx(View, {
style: styles.gridItem,
children: /*#__PURE__*/_jsxs(View, {
style: styles.textWrapper,
children: [/*#__PURE__*/_jsxs(Text, {
style: styles.dayText,
children: [item.slice(0, 3), " "]
}), dates && /*#__PURE__*/_jsx(Text, {
style: [styles.dateText, {
color: getTextColor(dates?.[index]),
backgroundColor: getColor(dates?.[index])
}],
children: divideDate(dates?.[index])[2]
})]
})
}, item);
return /*#__PURE__*/_jsx(View, {
style: styles.container,
children: weekDays.map?.(renderItem)
});
});
//# sourceMappingURL=index.js.map