fix some bugs
This commit is contained in:
+15
-9
@@ -45,16 +45,22 @@ const persianDateTimeFormatter = new Intl.DateTimeFormat('fa-IR-u-ca-persian', {
|
||||
|
||||
function toDateValue(date: string | Date): Date {
|
||||
if (typeof date !== 'string') return date
|
||||
if (/^\d{4}-\d{2}-\d{2}$/.test(date)) return parseISODate(date)
|
||||
if (/^\d{4}-\d{2}-\d{2}/.test(date)) return parseISODate(date)
|
||||
return new Date(date)
|
||||
}
|
||||
|
||||
export function formatDate(date: string | Date): string {
|
||||
return persianDateFormatter.format(toDateValue(date))
|
||||
export function formatDate(date: string | Date | null | undefined): string {
|
||||
if (!date) return '—'
|
||||
const value = toDateValue(date)
|
||||
if (Number.isNaN(value.getTime())) return '—'
|
||||
return persianDateFormatter.format(value)
|
||||
}
|
||||
|
||||
export function formatDateTime(date: string | Date): string {
|
||||
return persianDateTimeFormatter.format(toDateValue(date))
|
||||
export function formatDateTime(date: string | Date | null | undefined): string {
|
||||
if (!date) return '—'
|
||||
const value = toDateValue(date)
|
||||
if (Number.isNaN(value.getTime())) return '—'
|
||||
return persianDateTimeFormatter.format(value)
|
||||
}
|
||||
|
||||
export function formatTime(date: string | Date): string {
|
||||
@@ -70,10 +76,10 @@ export function toPersianDigits(input: string): string {
|
||||
}
|
||||
|
||||
export function normalizePhone(phone: string): string {
|
||||
const digits = phone.replace(/\D/g, '')
|
||||
if (digits.startsWith('98')) return '0' + digits.slice(2)
|
||||
if (digits.startsWith('9') && digits.length === 10) return '0' + digits
|
||||
return digits
|
||||
let digits = extractNumericString(phone)
|
||||
if (digits.startsWith('98')) digits = '0' + digits.slice(2)
|
||||
else if (digits.startsWith('9') && digits.length === 10) digits = '0' + digits
|
||||
return digits.slice(0, 11)
|
||||
}
|
||||
|
||||
export function generateId(): string {
|
||||
|
||||
Reference in New Issue
Block a user