import { CalculationMethod, Coordinates, PrayerTimes, Qibla } from 'adhan'; type Prayer = { [key: string]: string; }; export const getPrayerTimes = ( city: keyof typeof cities, date: Date = new Date() ): Prayer => { const { coords, timezone } = cities[city]; const coordinates = new Coordinates(coords[0], coords[1]); const params = CalculationMethod.UmmAlQura(); const prayerTimes = new PrayerTimes(coordinates, date, params); const formatTime = (time: Date) => { return time.toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit', hour12: false, timeZone: timezone, }); }; return { fajr: formatTime(prayerTimes.fajr), sunrise: formatTime(prayerTimes.sunrise), dhuhr: formatTime(prayerTimes.dhuhr), asr: formatTime(prayerTimes.asr), maghrib: formatTime(prayerTimes.maghrib), isha: formatTime(prayerTimes.isha), }; }; export const getQiblaDirection = (latitude: number, longitude: number): number => { const coordinates = new Coordinates(latitude, longitude); return Qibla(coordinates); }; export const cities = { Makkah: { coords: [21.4225, 39.8262], timezone: 'Asia/Riyadh', }, Medina: { coords: [24.4667, 39.6], timezone: 'Asia/Riyadh', }, Jeddah: { coords: [21.5433, 39.1728], timezone: 'Asia/Riyadh', }, };