feat: 预计最终到期时间展示
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 8m8s

This commit is contained in:
luo
2026-07-22 16:31:01 +08:00
parent 8de4339505
commit 8faa2ea2ef
16 changed files with 342 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
import { formatDateTime } from './format'
export interface ExpiryEstimate {
estimated_final_expires_at?: string | null
days_until_final_expiry?: number | null
expiry_estimate_status?: string | null
is_expiring?: boolean
}
export const getExpiryEstimateText = (estimate: ExpiryEstimate): string => {
if (estimate.expiry_estimate_status === 'exact') {
return estimate.estimated_final_expires_at
? formatDateTime(estimate.estimated_final_expires_at)
: '-'
}
return estimate.expiry_estimate_status ? '待激活后起算' : '-'
}
export const getExpiryEstimateTooltip = (estimate: ExpiryEstimate): string => {
if (!estimate.is_expiring || estimate.days_until_final_expiry == null) return ''
return `剩余${estimate.days_until_final_expiry}`
}

View File

@@ -7,3 +7,4 @@ export * from './validate'
export * from './calculate'
export * from './voucher'
export * from './apiRateLimit'
export * from './expiryEstimate'