@@ -7,8 +7,11 @@ export default {
77 </div>
88 <div v-else v-for="event in events">
99 <h3>{{ event.name }}</h3>
10- <p class="mb-1">
11- <b-icon icon="alarm"/> Starts in <b>{{ event.timeUntil }}</b> ({{ event.time }})
10+ <p v-if="event.timeUntilMs > 0" class="mb-1">
11+ <b-icon icon="calendar-plus"/> Starts in <b>{{ event.timeUntil }}</b> ({{ event.time }})
12+ </p>
13+ <p v-else class="mb-1">
14+ <b-icon icon="alarm"/> Started <b>{{ event.timeUntil }}</b> ago, but you can still join!
1215 </p>
1316 <p>
1417 <b-icon icon="geo"/> <a :href="event.location" target="_blank">{{ event.location }}</a>
@@ -19,6 +22,8 @@ export default {
1922 data ( ) {
2023 return {
2124 events : [ ] ,
25+ eventsNow : 0 ,
26+ eventsFuture : 0 ,
2227 }
2328 } ,
2429 methods : {
@@ -60,7 +65,7 @@ export default {
6065 }
6166 }
6267 catch ( e ) {
63- console . log ( "Error checking recurrence:" + e ) ;
68+ console . error ( "Error checking recurrence:" + e ) ;
6469 }
6570
6671 const time_untils = new_date . getTime ( ) - today . getTime ( ) ;
@@ -76,13 +81,28 @@ export default {
7681 ) ;
7782 let format = "" ;
7883 if ( days > 0 ) {
79- format += days + " days " ;
84+ format += days ;
85+ if ( days > 1 ) {
86+ format += " days " ;
87+ } else {
88+ format += " day " ;
89+ }
8090 }
8191 if ( hours > 0 ) {
82- format += hours + " hours " ;
92+ format += hours ;
93+ if ( hours > 1 ) {
94+ format += " hours " ;
95+ } else {
96+ format += " hour " ;
97+ }
8398 }
8499 if ( minutes > 0 ) {
85- format += minutes + " minutes " ;
100+ format += minutes ;
101+ if ( minutes > 1 ) {
102+ format += " minutes " ;
103+ } else {
104+ format += " minute " ;
105+ }
86106 }
87107 return format ;
88108 } ,
@@ -99,9 +119,14 @@ export default {
99119 for ( let event of data . items ) {
100120 let [ names , new_date , time_until_ms ] = this . dateTimeCheck ( new Date ( ) , event ) ;
101121
122+ if ( time_until_ms > 0 )
123+ this . eventsFuture += 1 ;
124+ else
125+ this . eventsNow += 1 ;
126+
102127 // time_untils is the time until the event in milliseconds
103128 // convert this to something human readable, like "in 2 days"
104- const format = this . formatFromNow ( time_until_ms ) ;
129+ const format = this . formatFromNow ( Math . abs ( time_until_ms ) ) ;
105130
106131 this . events . push ( {
107132 name : names ,
0 commit comments