Generalize study release-date gating across all studies

This commit is contained in:
nmemmert
2026-05-21 12:29:57 -04:00
parent 74e9f57ea5
commit da5f77c3c6
2 changed files with 46 additions and 13 deletions
+19 -3
View File
@@ -114,10 +114,26 @@ function sanitizeUrl(value) {
return ''
}
function getSectionReleaseTime(section) {
if (!section || typeof section !== 'object') return Number.NaN
const candidateValues = [
section.releasedAt,
section.releaseDate,
section.availableAt,
section.publishAt,
]
for (const candidate of candidateValues) {
if (typeof candidate !== 'string' || !candidate.trim()) continue
const releaseTime = Date.parse(candidate)
if (Number.isFinite(releaseTime)) return releaseTime
}
return Number.NaN
}
function isSectionReleased(section) {
if (!section || typeof section !== 'object') return false
if (typeof section.releasedAt !== 'string' || !section.releasedAt.trim()) return false
const releaseTime = Date.parse(section.releasedAt)
const releaseTime = getSectionReleaseTime(section)
if (!Number.isFinite(releaseTime)) return false
return releaseTime <= Date.now()
}