22import React from 'react'
33import { StyleSheet , Text } from 'react-native'
44import type { EventType } from './types'
5- import moment from 'moment-timezone'
65import * as c from '../components/colors'
76import { Row , Column } from '../components/layout'
87import { ListRow , Detail , Title } from '../components/list'
98import { fastGetTrimmedText } from '../../lib/html'
109import { Bar } from './vertical-bar'
10+ import { times } from './times'
1111
1212const styles = StyleSheet . create ( {
1313 row : {
@@ -72,13 +72,7 @@ export default function EventRow({
7272}
7373
7474function CalendarTimes ( { event, style} : { event : EventType , style : any } ) {
75- const eventLength = moment
76- . duration ( event . endTime . diff ( event . startTime ) )
77- . asHours ( )
78-
79- const allDay = eventLength === 24
80- const multiDay = event . startTime . dayOfYear ( ) !== event . endTime . dayOfYear ( )
81- const sillyZeroLength = event . startTime . isSame ( event . endTime , 'minute' )
75+ const { allDay, start, end} = times ( event )
8276
8377 if ( allDay ) {
8478 return (
@@ -88,33 +82,6 @@ function CalendarTimes({event, style}: {event: EventType, style: any}) {
8882 )
8983 }
9084
91- let startTimeFormatted = event . startTime . format ( 'h:mm A' )
92- let endTimeFormatted = event . endTime . format ( 'h:mm A' )
93- let midnightTime = '12:00 AM'
94-
95- let start , end
96- if ( event . isOngoing ) {
97- start = event . startTime . format ( 'MMM. D' )
98- end = event . endTime . format ( 'MMM. D' )
99- } else if ( multiDay ) {
100- // 12:00 PM to Jun. 25 3:00pm
101- // Midnight to Jun. 25 <-- assuming the end time is also midnight
102- start = startTimeFormatted
103- const endFormat = endTimeFormatted === midnightTime
104- ? 'MMM. D'
105- : 'MMM. D h:mm A'
106- end = `to ${ event . endTime . format ( endFormat ) } `
107- } else if ( sillyZeroLength ) {
108- start = startTimeFormatted
109- end = 'until ???'
110- } else {
111- start = startTimeFormatted
112- end = endTimeFormatted
113- }
114-
115- start = start === midnightTime ? 'Midnight' : start
116- end = end === midnightTime ? 'Midnight' : end
117-
11885 return (
11986 < Column style = { style } >
12087 < Text style = { [ styles . time , styles . start ] } > { start } </ Text >
0 commit comments