Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
30 lines
838 B
TypeScript
30 lines
838 B
TypeScript
/**
|
|
* Guest create window: now <= endsAt + 1 calendar month
|
|
* (mirrors trg_reviews_require_confirmed_booking).
|
|
*/
|
|
export const isWithinReviewWindow = (endsAt: string | Date, now: Date = new Date()): boolean => {
|
|
const end = new Date(endsAt)
|
|
|
|
if (Number.isNaN(end.getTime())) return false
|
|
const deadline = new Date(end)
|
|
|
|
deadline.setMonth(deadline.getMonth() + 1)
|
|
|
|
return now.getTime() <= deadline.getTime()
|
|
}
|
|
|
|
/**
|
|
* Host reply window: now <= endsAt + 2 calendar months
|
|
* (mirrors trg_reviews_host_reply_guard).
|
|
*/
|
|
export const isWithinHostReplyWindow = (endsAt: string | Date, now: Date = new Date()): boolean => {
|
|
const end = new Date(endsAt)
|
|
|
|
if (Number.isNaN(end.getTime())) return false
|
|
const deadline = new Date(end)
|
|
|
|
deadline.setMonth(deadline.getMonth() + 2)
|
|
|
|
return now.getTime() <= deadline.getTime()
|
|
}
|