import { Notifier, ServerService } from '@app/core'
import { DisableForReuseHook } from '@app/core/routing/disable-for-reuse-hook'
import { I18n } from '@ngx-translate/i18n-polyfill'
-import { isThisMonth, isThisWeek, isToday, isYesterday } from '@shared/core-utils/miscs/date'
+import { isLastMonth, isLastWeek, isToday, isYesterday } from '@shared/core-utils/miscs/date'
enum GroupDate {
UNKNOWN = 0,
TODAY = 1,
YESTERDAY = 2,
- THIS_WEEK = 3,
- THIS_MONTH = 4,
+ LAST_WEEK = 3,
+ LAST_MONTH = 4,
OLDER = 5
}
[GroupDate.UNKNOWN]: null,
[GroupDate.TODAY]: this.i18n('Today'),
[GroupDate.YESTERDAY]: this.i18n('Yesterday'),
- [GroupDate.THIS_WEEK]: this.i18n('This week'),
- [GroupDate.THIS_MONTH]: this.i18n('This month'),
+ [GroupDate.LAST_WEEK]: this.i18n('Last week'),
+ [GroupDate.LAST_MONTH]: this.i18n('Last month'),
[GroupDate.OLDER]: this.i18n('Older')
}
continue
}
- if (currentGroupedDate <= GroupDate.THIS_WEEK && isThisWeek(publishedDate)) {
- if (currentGroupedDate === GroupDate.THIS_WEEK) continue
+ if (currentGroupedDate <= GroupDate.LAST_WEEK && isLastWeek(publishedDate)) {
+ if (currentGroupedDate === GroupDate.LAST_WEEK) continue
- currentGroupedDate = GroupDate.THIS_WEEK
+ currentGroupedDate = GroupDate.LAST_WEEK
this.groupedDates[ video.id ] = currentGroupedDate
continue
}
- if (currentGroupedDate <= GroupDate.THIS_MONTH && isThisMonth(publishedDate)) {
- if (currentGroupedDate === GroupDate.THIS_MONTH) continue
+ if (currentGroupedDate <= GroupDate.LAST_MONTH && isLastMonth(publishedDate)) {
+ if (currentGroupedDate === GroupDate.LAST_MONTH) continue
- currentGroupedDate = GroupDate.THIS_MONTH
+ currentGroupedDate = GroupDate.LAST_MONTH
this.groupedDates[ video.id ] = currentGroupedDate
continue
}
return d.getMonth() === thisMonth
}
+function isLastMonth (d: Date) {
+ const now = new Date()
+
+ return getDaysDifferences(now, d) <= 30
+}
+
+function isLastWeek (d: Date) {
+ const now = new Date()
+
+ return getDaysDifferences(now, d) <= 7
+}
+
// ---------------------------------------------------------------------------
export {
isYesterday,
isThisWeek,
isThisMonth,
- isToday
+ isToday,
+ isLastMonth,
+ isLastWeek
}
// ---------------------------------------------------------------------------
d1.getMonth() === d2.getMonth() &&
d1.getDate() === d2.getDate()
}
+
+function getDaysDifferences (d1: Date, d2: Date) {
+ return (d1.getTime() - d2.getTime()) / (86400000)
+}