mirror of https://github.com/Chocobozzz/PeerTube
Prefer using last week/last month
parent
4e0c179365
commit
93aa85521a
|
@ -12,14 +12,14 @@ import { Syndication } from '@app/shared/video/syndication.model'
|
||||||
import { Notifier, ServerService } from '@app/core'
|
import { Notifier, ServerService } from '@app/core'
|
||||||
import { DisableForReuseHook } from '@app/core/routing/disable-for-reuse-hook'
|
import { DisableForReuseHook } from '@app/core/routing/disable-for-reuse-hook'
|
||||||
import { I18n } from '@ngx-translate/i18n-polyfill'
|
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 {
|
enum GroupDate {
|
||||||
UNKNOWN = 0,
|
UNKNOWN = 0,
|
||||||
TODAY = 1,
|
TODAY = 1,
|
||||||
YESTERDAY = 2,
|
YESTERDAY = 2,
|
||||||
THIS_WEEK = 3,
|
LAST_WEEK = 3,
|
||||||
THIS_MONTH = 4,
|
LAST_MONTH = 4,
|
||||||
OLDER = 5
|
OLDER = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,8 +84,8 @@ export abstract class AbstractVideoList implements OnInit, OnDestroy, DisableFor
|
||||||
[GroupDate.UNKNOWN]: null,
|
[GroupDate.UNKNOWN]: null,
|
||||||
[GroupDate.TODAY]: this.i18n('Today'),
|
[GroupDate.TODAY]: this.i18n('Today'),
|
||||||
[GroupDate.YESTERDAY]: this.i18n('Yesterday'),
|
[GroupDate.YESTERDAY]: this.i18n('Yesterday'),
|
||||||
[GroupDate.THIS_WEEK]: this.i18n('This week'),
|
[GroupDate.LAST_WEEK]: this.i18n('Last week'),
|
||||||
[GroupDate.THIS_MONTH]: this.i18n('This month'),
|
[GroupDate.LAST_MONTH]: this.i18n('Last month'),
|
||||||
[GroupDate.OLDER]: this.i18n('Older')
|
[GroupDate.OLDER]: this.i18n('Older')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,18 +183,18 @@ export abstract class AbstractVideoList implements OnInit, OnDestroy, DisableFor
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentGroupedDate <= GroupDate.THIS_WEEK && isThisWeek(publishedDate)) {
|
if (currentGroupedDate <= GroupDate.LAST_WEEK && isLastWeek(publishedDate)) {
|
||||||
if (currentGroupedDate === GroupDate.THIS_WEEK) continue
|
if (currentGroupedDate === GroupDate.LAST_WEEK) continue
|
||||||
|
|
||||||
currentGroupedDate = GroupDate.THIS_WEEK
|
currentGroupedDate = GroupDate.LAST_WEEK
|
||||||
this.groupedDates[ video.id ] = currentGroupedDate
|
this.groupedDates[ video.id ] = currentGroupedDate
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentGroupedDate <= GroupDate.THIS_MONTH && isThisMonth(publishedDate)) {
|
if (currentGroupedDate <= GroupDate.LAST_MONTH && isLastMonth(publishedDate)) {
|
||||||
if (currentGroupedDate === GroupDate.THIS_MONTH) continue
|
if (currentGroupedDate === GroupDate.LAST_MONTH) continue
|
||||||
|
|
||||||
currentGroupedDate = GroupDate.THIS_MONTH
|
currentGroupedDate = GroupDate.LAST_MONTH
|
||||||
this.groupedDates[ video.id ] = currentGroupedDate
|
this.groupedDates[ video.id ] = currentGroupedDate
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,13 +31,27 @@ function isThisMonth (d: Date) {
|
||||||
return d.getMonth() === thisMonth
|
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 {
|
export {
|
||||||
isYesterday,
|
isYesterday,
|
||||||
isThisWeek,
|
isThisWeek,
|
||||||
isThisMonth,
|
isThisMonth,
|
||||||
isToday
|
isToday,
|
||||||
|
isLastMonth,
|
||||||
|
isLastWeek
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
@ -47,3 +61,7 @@ function areDatesEqual (d1: Date, d2: Date) {
|
||||||
d1.getMonth() === d2.getMonth() &&
|
d1.getMonth() === d2.getMonth() &&
|
||||||
d1.getDate() === d2.getDate()
|
d1.getDate() === d2.getDate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDaysDifferences (d1: Date, d2: Date) {
|
||||||
|
return (d1.getTime() - d2.getTime()) / (86400000)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue