import { DateTime } from 'luxon';

export function getBrowserTimezone(): string {
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
}

export function formatSlotForDisplay(isoUtc: string, timezone: string): string {
  return DateTime.fromISO(isoUtc, { zone: 'utc' })
    .setZone(timezone)
    .toFormat('h:mm a');
}

export function formatDateForDisplay(isoUtc: string, timezone: string): string {
  return DateTime.fromISO(isoUtc, { zone: 'utc' })
    .setZone(timezone)
    .toFormat('EEEE, MMMM d, yyyy');
}

export function toDateString(date: Date): string {
  return DateTime.fromJSDate(date).toFormat('yyyy-MM-dd');
}

export function addDays(date: Date, days: number): Date {
  return DateTime.fromJSDate(date).plus({ days }).toJSDate();
}
