fix: 🐛 Show the weekday on startpage if not today
This commit is contained in:
parent
3fbd08c794
commit
df2806648a
|
@ -172,7 +172,7 @@ export const ChildListItem = ({
|
|||
/>
|
||||
</View>
|
||||
</View>
|
||||
{currentDate.hour() > 17 && currentDate.hour() <= 23 ? (
|
||||
{moment().weekday() !== currentDate.weekday() ? (
|
||||
<Text category="c2" style={styles.weekday}>
|
||||
{capitalizeFirstLetter(currentDate.format('dddd'))}
|
||||
</Text>
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
import moment from 'moment'
|
||||
import { getMeaningfulStartingDate } from '../calendarHelpers'
|
||||
|
||||
const tuesdayMorning = moment('2021-11-30T08:20:00+0100')
|
||||
const tuesdayEvening = moment('2021-11-30T19:20:26+0100')
|
||||
const wednesdayEvening = moment('2021-12-01T19:20:26+0100')
|
||||
const fridayEvening = moment('2021-12-03T19:20:26+0100')
|
||||
const saturdayEvening = moment('2021-12-04T19:20:26+0100')
|
||||
const sundayEvening = moment('2021-12-05T19:20:26+0100')
|
||||
const mondayEvening = moment('2021-12-06T19:20:26+0100')
|
||||
|
||||
describe('getMeaningfulStartingDate on weekends', () => {
|
||||
it('should give next monday if on friday evening', () => {
|
||||
const startDate = getMeaningfulStartingDate(fridayEvening)
|
||||
expect(startDate.toISOString()).toEqual(mondayEvening.toISOString())
|
||||
})
|
||||
|
||||
it('should give next monday if on saturday', () => {
|
||||
const startDate = getMeaningfulStartingDate(saturdayEvening)
|
||||
expect(startDate.toISOString()).toEqual(mondayEvening.toISOString())
|
||||
})
|
||||
|
||||
it('should give next monday if on sunday', () => {
|
||||
const startDate = getMeaningfulStartingDate(sundayEvening)
|
||||
expect(startDate.toISOString()).toEqual(mondayEvening.toISOString())
|
||||
})
|
||||
})
|
||||
|
||||
describe('getMeaningfulStartingDate on weekdays', () => {
|
||||
it('should give next day if on tuesday evening', () => {
|
||||
const startDate = getMeaningfulStartingDate(tuesdayEvening)
|
||||
expect(startDate.toISOString()).toEqual(wednesdayEvening.toISOString())
|
||||
})
|
||||
|
||||
it('should give same day if on tuesday morning', () => {
|
||||
const startDate = getMeaningfulStartingDate(tuesdayMorning)
|
||||
expect(startDate.toISOString()).toEqual(tuesdayMorning.toISOString())
|
||||
})
|
||||
})
|
|
@ -1,9 +1,17 @@
|
|||
import moment from 'moment'
|
||||
|
||||
export const getMeaningfulStartingDate = (date = moment()) => {
|
||||
const originalDate = date.clone()
|
||||
// are we on the evening?
|
||||
if (date.hour() > 17) date = date.add('1', 'day')
|
||||
// are we on the weekend
|
||||
if (date.isoWeekday() > 5) date = date.add(5, 'days').startOf('isoWeek')
|
||||
if (date.isoWeekday() > 5) {
|
||||
date = date.add(5, 'days').startOf('isoWeek')
|
||||
date
|
||||
.hour(originalDate.hour())
|
||||
.minute(originalDate.minute())
|
||||
.second(originalDate.second())
|
||||
}
|
||||
|
||||
return date
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue