Index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import React from 'react'
  2. import classNames from 'classnames'
  3. import Styles from './index.css'
  4. import {
  5. PREV_DAY, NEXT_DAY,
  6. } from '../../const'
  7. import { DateContext } from '../../context'
  8. const Index = () => (
  9. <DateContext.Consumer>
  10. {
  11. ({ weekTags, days, onSelectDay }) => (
  12. <div className={Styles.wrapper}>
  13. { weekTags.map(weekName => (
  14. <span
  15. className={`${Styles.normal} ${Styles.week}`}
  16. title={`星期${weekName}`}
  17. key={weekName}
  18. >
  19. { weekName }
  20. </span>
  21. )) }
  22. {
  23. days.map(day => (
  24. <span
  25. className={classNames(Styles.normal, {
  26. [Styles.prev]: day.tag === PREV_DAY,
  27. [Styles.next]: day.tag === NEXT_DAY,
  28. [Styles.current]: day.current,
  29. [Styles.selected]: day.selected,
  30. })}
  31. title={day.full}
  32. key={day.full}
  33. onClick={() => onSelectDay(day)}
  34. role="presentation"
  35. >
  36. { day.day }
  37. </span>
  38. ))
  39. }
  40. </div>
  41. )
  42. }
  43. </DateContext.Consumer>
  44. )
  45. export default Index