{"version":3,"file":"static/chunks/8911-1d5f653a46cc34a7.js","mappings":"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","sources":["webpack://_N_E/./src/globalConstants.ts","webpack://_N_E/./src/lib/globalHooks.tsx","webpack://_N_E/./src/services/app.services.ts"],"sourcesContent":["// Importing necessary fonts from Google Fonts via 'next/font/google'\nimport {\n Inter,\n Noto_Sans,\n Noto_Serif,\n Ubuntu,\n Roboto,\n Great_Vibes,\n} from 'next/font/google';\n\n// Importing shared types from 'globalTypes'\nimport { FeatureDescriptions, Months, Rashi, Testimonial } from './globalTypes';\n\n// Configuring revalidation for incremental static regeneration\nexport const revalidate = { revalidate: 3600 };\n\n// Configurations for various Google Fonts\nexport const inter = Inter({\n subsets: ['latin'],\n variable: '--font-inter',\n});\n\nexport const noto_sans = Noto_Sans({\n display: 'swap',\n style: 'normal',\n variable: '--font-sans',\n subsets: ['latin'],\n});\n\nexport const noto_serif = Noto_Serif({\n display: 'swap',\n style: 'normal',\n variable: '--font-serif',\n subsets: ['latin'],\n});\n\nexport const ubuntu = Ubuntu({\n display: 'swap',\n style: 'normal',\n variable: '--font-ubuntu',\n subsets: ['latin'],\n weight: ['400', '500', '700'],\n});\n\nexport const roboto = Roboto({\n display: 'swap',\n style: 'normal',\n variable: '--font-robot',\n subsets: ['latin'],\n weight: '400',\n});\n\nexport const great_vibes = Great_Vibes({\n display: 'swap',\n style: 'normal',\n subsets: ['latin'],\n variable: '--font-good-vibes',\n weight: '400',\n});\n\n// Descriptions of features displayed on the demo page\nexport const DEMO_DESCRIPTIONS: FeatureDescriptions[] = [\n {\n icon: `/indian-flag.svg`,\n heading: 'Truly Indian - Available in 5 Indian Languages',\n descriptions: [\n 'Dharmayana is available in Hindi, Kannada, Marathi, Telugu and Tamil',\n 'Coming soon to Gujarati, Bengali, Assamese and more languages',\n ],\n alt: 'Calendar Icon',\n },\n {\n icon: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/CalendarCheck.svg`,\n heading: 'Daily Calendar',\n descriptions: [\n 'Stay informed about important dates with our easy-to-use Hindu calendar',\n 'Find auspicious & inauspicious times during the day',\n 'Set reminders for good and bad muhurta',\n ],\n alt: 'Sun Set Icon',\n },\n {\n icon: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/SunHorizon.svg`,\n heading: 'Panchanga',\n descriptions: [\n 'Find Tithi, Vaara, Nakshantra,Yoga and Karana',\n 'View Panchanga for past and future dates',\n ],\n alt: 'Hourglass Icon',\n },\n {\n icon: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/HourglassMedium.svg`,\n heading: 'Shubh Muhurta',\n descriptions: [\n 'Align your actions with favourable celestial movements ',\n 'Find auspicious days for starting new projects, ceremonies, and special occasions',\n ],\n alt: 'Book Icon',\n },\n {\n icon: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/lamp.svg `,\n heading: 'Festivals and Observances',\n descriptions: [\n 'Find dates for festivals and observances like Amavasya, Ekadasi, and more',\n 'Get timely reminders to prepare for special days',\n 'Learn about the significance of each special day',\n ],\n alt: 'Lamp Icon',\n },\n {\n icon: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/PrarthnaIcon.svg`,\n heading: 'Prarthana',\n descriptions: [\n 'Find prayers for your ista-devata - along with their meanings.',\n 'Daily 5-minute prayer is now very easy with a customized daily prayer list.',\n ],\n alt: 'Prarthana Icon',\n },\n];\n\n// List of testimonials for the app\nexport const TESTIMONIALS: Testimonial[] = [\n {\n author: 'Promod Shamji',\n review:'This is so wholesome. Absolutely love it. The way the team has come up with ideas and user friendly app.',\n stars: '5',\n date: 'January 14, 2025',\n },\n {\n author: 'Rishabh Shukla',\n review:'Finally my mother can let me live in peace.',\n stars: '5',\n date: 'January 9, 2025',\n },\n {\n author: 'Cyrus Irani',\n review:'Very gudπŸ™πŸ™πŸ™πŸ™πŸ™three cheers for u n ur team workπŸ‘πŸ‘πŸ‘.',\n stars: '5',\n date: 'January 11, 2025',\n },\n {\n author: 'Karan PY',\n review: 'Amazing app, Thank you for the service! 😁 Will surely share the app as much as possible!! Namaskaram!πŸ™.',\n stars: '5',\n date: 'January 3, 2025',\n },\n {\n author: 'RC T',\n review: 'Exceptionally well made. Multi language support is excellent.',\n stars: '5',\n date: 'January 4, 2024',\n },\n {\n author: 'Balram Pandey',\n review: 'Great app for our Sanatan Dharma πŸ˜ŠπŸ™.',\n stars: '5',\n date: 'December 28, 2024',\n },\n];\n\n// Screenshots of the app for showcasing\nexport const APP_SCREEN_SHOTS: string[] = [\n \"App's Home page demo screenshot\",\n \"App's Panchanga page demo screenshot\",\n \"App's 'Good Day For' search feature screenshot\",\n \"App's Festival page demo screenshot\",\n \"App's Home demo screenshot\",\n \"App's Home demo screenshot\",\n];\n\n// Days of the week mapping\nexport const daysOfWeek: { [day: string]: string } = {\n Mon: 'Monday',\n Tue: 'Tuesday',\n Wed: 'Wednesday',\n Thu: 'Thursday',\n Fri: 'Friday',\n Sat: 'Saturday',\n Sun: 'Sunday',\n};\n\n// Empty months data structure for festivals\nexport const MONTHS: Months = {\n JANUARY: [],\n FEBRUARY: [],\n MARCH: [],\n APRIL: [],\n MAY: [],\n JUNE: [],\n JULY: [],\n AUGUST: [],\n SEPTEMBER: [],\n OCTOBER: [],\n NOVEMBER: [],\n DECEMBER: [],\n};\n\n// Default location settings\nexport const DEFAULT_LOCATION = {\n lat: 23.41667,\n long: 75.5,\n city: 'Ujjain',\n};\n// Rashis (Zodiac signs) with their respective images and banners\nexport const RASHIES: Rashi[] = [\n {\n vedic_name: 'Mesha',\n english_name: 'Aries',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/aries-mesha.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/aries.png`\n },\n {\n vedic_name: 'Vrishabha',\n english_name: 'Taurus',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/taurus-vrishabha.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/taurus.png`\n\n },\n {\n vedic_name: 'Mithuna',\n english_name: 'Gemini',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/gemini-mithuna.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/gemini.png`\n\n },\n {\n vedic_name: 'Karka',\n english_name: 'Cancer',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/cancer-karka.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/cancer.png`\n },\n {\n vedic_name: 'Simha',\n english_name: 'Leo',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/leo-simha.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/leo.png`\n },\n {\n vedic_name: 'Kanya',\n english_name: 'Virgo',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/virgo-kanya.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/virgo.png`,\n },\n {\n vedic_name: 'Tula',\n english_name: 'Libra',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/libra-tula.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/libra.png`,\n },\n {\n vedic_name: 'Vrischika',\n english_name: 'Scorpio',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/scorpio-vrischika.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/scorpio.png`,\n },\n {\n vedic_name: 'Dhanu',\n english_name: 'Sagittarius',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/sagittarius-dhanu.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/sagittarius.png`,\n },\n {\n vedic_name: 'Makara',\n english_name: 'Capricorn',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/capricorn-makara.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/capricorn.png`,\n },\n {\n vedic_name: 'Kumbha',\n english_name: 'Aquarius',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/aquarius-kumbha.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/aquarius.png`,\n },\n {\n vedic_name: 'Meena',\n english_name: 'Pisces',\n image_url: `${process.env.NEXT_PUBLIC_ASSETS_BASE_URL}/pisces-meena.svg`,\n banner_url:`https://d161fa2zahtt3z.cloudfront.net/rashi/large/pisces.png`,\n },\n]\n\n// Types of Prarthana collections for categorization\nexport const TYPES_OF_PRARTHANA_COLLECTION = [\n {\n type: 'deities',\n by_line: 'Find Prarthana for Devta',\n banner_url: '/prarthana-by-devta-banner.png',\n redirection_url: '/deities'\n },\n {\n type: 'festivals',\n by_line: 'Find Prarthana for Festival',\n banner_url: '/prarthana-by-festival-banner.png',\n redirection_url: '/prarthana/festival'\n },\n {\n type: 'purposes',\n by_line: 'Find Prarthana for Purpose',\n banner_url: '/prarthana-by-purpose-banner.png',\n redirection_url: '/prarthana/purpose'\n\n }\n]\n\nexport const OPEN_GRAPH_IMAGE_PATH =\n process.env.NEXT_PUBLIC_OPEN_GRAPH_IMAGE_PATH === 'production'\n ? 'https://dharmayana.in/opengraph.jpg'\n : 'https://web.stage.dharmayana.in/opengraph.jpg';\n\n// Open Graph images list with configurations for different platforms\nexport const OPEN_GRAPH_IMAGE_LIST = [\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 1200,\n height: 630, // Recommended by Facebook\n },\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 1200,\n height: 1200, // Square image for LinkedIn\n },\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 1024,\n height: 512, // Twitter Summary Card with Large Image\n },\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 800,\n height: 600, // Custom size\n },\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 1800,\n height: 1600,\n alt: 'Dharmayana Banner', // Alt text for accessibility\n },\n {\n url: OPEN_GRAPH_IMAGE_PATH,\n width: 1920,\n height: 1080, // High resolution for retina displays\n },\n];\n\n// Function to fetch custom Open Graph image configurations\nexport const fetchOpenGrapImageList = (image_url:string)=>{\n return [\n {\n url: image_url,\n width: 1200,\n height: 630, // Recommended by Facebook\n },\n {\n url: image_url,\n width: 1200,\n height: 1200, // Square image for LinkedIn\n },\n {\n url: image_url,\n width: 1024,\n height: 512, // Twitter Summary Card with Large Image\n },\n {\n url: image_url,\n width: 800,\n height: 600, // Custom size\n },\n {\n url: image_url,\n width: 1800,\n height: 1600,\n alt: 'Dharmayana Banner', // Alt text for accessibility\n },\n {\n url: image_url,\n width: 1920,\n height: 1080, // High resolution for retina displays\n },\n ]\n}","import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport minMax from \"dayjs/plugin/minMax\";\nimport { Tithi } from \"@/globalTypes\";\nimport { noto_sans } from \"@/globalConstants\";\nimport styled from \"@emotion/styled\";\nimport { forwardRef, useContext } from \"react\";\nimport { MenuButton as BaseMenuButton } from \"@mui/base/MenuButton\";\nimport { MenuItem as BaseMenuItem, menuItemClasses } from \"@mui/base/MenuItem\";\nimport { CssTransition } from \"@mui/base/Transitions\";\nimport { MenuListboxSlotProps } from \"@mui/base/Menu/Menu.types\";\nimport { PopupContext } from \"@mui/base/Unstable_Popup/PopupContext\";\n\ndayjs.extend(utc);\ndayjs.extend(minMax);\n\nexport const regex = /^[a-zA-Z\\s]+$/;\nexport const formatMyStringAsSlug = (text: string) =>\n text\n .replace(/[^a-zA-Z\\s]/g, \"\") // Filter out non-alphabetic and non-space characters\n .trim()\n .replace(/\\s+/g, \"-\") // Replace spaces with hyphens\n .toLowerCase();\nexport const getFormattedTime = (time: number) => dayjs(time * 1000).format(\"hh:mm A\");\nexport const getMoonFace = (tithis: Tithi[], paksha: string) => {\n const tithiWithMaxDiff = tithis.reduce((maxTithi, tithi) =>\n tithi.end_time - tithi.start_time > maxTithi.end_time - maxTithi.start_time ? tithi : maxTithi\n );\n return `${tithiWithMaxDiff.key.toLowerCase()}_${paksha.split(\" \")[0].toLowerCase()}`;\n};\nexport const getFormattedDate = (\n date: Date,\n showDay?: boolean,\n uppercase?: boolean,\n showDate?: boolean,\n showMonth?: boolean,\n showYear?: boolean\n) => {\n const [dayOfWeek, month, dayOfMonth, year] = date.toDateString().split(\" \");\n const ordinalSuffix = (day: string) => {\n const lastDigit = Number(day) % 10;\n const lastTwoDigits = Number(day) % 100;\n return lastTwoDigits > 10 && lastTwoDigits < 14\n ? \"th\"\n : { 1: \"st\", 2: \"nd\", 3: \"rd\" }[lastDigit] || \"th\";\n };\n\n return (\n
\n {showDay && <>{dayOfWeek}}\n {showDate && (\n <>\n {\" \" + dayOfMonth}\n {ordinalSuffix(dayOfMonth)}\n \n )}\n {showMonth && <>{\" \" + month}}\n {showYear && <>{\" \" + year}}\n
\n );\n};\nexport const MenuItem = styled(BaseMenuItem)`\n list-style: none;\n border-radius: 8px;\n cursor: pointer;\n user-select: none;\n\n &:last-of-type {\n border-bottom: none;\n }\n &.${menuItemClasses.disabled} {\n color: grey[400];\n }\n`;\nexport const MenuButton = styled(BaseMenuButton)`\n font-family: ${noto_sans.className};\n font-weight: 600;\n font-size: 1rem;\n line-height: 1.5;\n padding: 8px 16px;\n border-radius: 0.2rem;\n color: white;\n transition: all 150ms ease;\n cursor: pointer;\n background: white;\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n`;\nexport const Listbox = styled(\"ul\")`\n font-family: \"IBM Plex Sans\", sans-serif;\n font-size: 0.875rem;\n box-sizing: border-box;\n padding: 0;\n margin: 4px 0;\n position: relative;\n width: 100%;\n border-radius: 0.2rem;\n overflow: auto;\n outline: 0;\n background: #ffffff;\n border: 1px solid grey[200];\n color: grey[900];\n\n .closed & {\n opacity: 0;\n transform: scale(0.95, 0.8);\n transition: opacity 200ms ease-in, transform 200ms ease-in;\n }\n\n .open & {\n opacity: 1;\n transform: scale(1);\n transition: opacity 100ms ease-out, transform 100ms cubic-bezier(0.43, 0.29, 0.37, 1.48);\n }\n\n .placement-top & {\n transform-origin: bottom;\n }\n\n .placement-bottom & {\n transform-origin: top;\n }\n`;\nexport const AnimatedListbox = forwardRef(function AnimatedListbox(\n props: MenuListboxSlotProps,\n ref: React.ForwardedRef\n) {\n const { ...other } = props;\n const popupContext = useContext(PopupContext);\n\n if (!popupContext) {\n throw new Error(\n \"The `AnimatedListbox` component cannot be rendered outside a `Popup` component\"\n );\n }\n\n const verticalPlacement = popupContext.placement.split(\"-\")[0];\n\n return (\n \n \n \n );\n});\nexport const parseDate = (dateString: string) => dayjs(dateString, \"MM-DD-YYYY\", true).valueOf();\nexport const checkDate = (selectedDate: Date) => {\n const today = new Date();\n return (\n selectedDate.getDate() === today.getDate() &&\n selectedDate.getMonth() === today.getMonth() &&\n selectedDate.getFullYear() === today.getFullYear()\n );\n};\n","import { revalidate,DEFAULT_LOCATION } from \"@/globalConstants\";\n\n// Header is specifcally for some apis which helps backend to differenciate between app and web to send tailored responses \nconst headers = new Headers({\n 'Source': 'web'\n});\n\n// common method to make GET API calls with revalidation\nconst fetchJSON = async (url: string) => {\n try {\n const response = await fetch(url, { cache: 'force-cache', headers, next: revalidate });\n return await response.json();\n } catch (error) {\n console.error(error);\n return null;\n }\n};\n\n// common method to make GET API calls with custom headers headers and no revalidation\nconst fetchWithConfig = async (url: string) => {\n try {\n const response = await fetch(url, { headers, cache: 'force-cache' });\n return await response.json();\n } catch (error) {\n console.error(error);\n return null;\n }\n};\n\nconst fetchPrarthanas = async (url: string) => {\n try {\n const response = await fetch(url, { method: 'GET' });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const data = await response.json();\n return data;\n } catch (error) {\n console.error('Error fetching prarthanas:', error);\n throw error;\n }\n\n}\n\n// This API fetches users IPV4 IP \nexport const getUserIPV4 = async () => {\n const response = await (await fetch('https://api.ipify.org?format=json', {\n cache: 'force-cache',\n next: revalidate,\n })).json();\n return response ? response.ip : null;\n};\n// this method fetchs users Location \nexport const getUserLocation = async (): Promise<{ lat: number; long: number; city: string }> => {\n try {\n const ip = await getUserIPV4(); // Ensure this method returns a valid IPv4 string\n const response = await fetch(`/api/user-location?ip=${ip}`);\n const data = await response.json();\n\n if (data.error) {\n return {lat: DEFAULT_LOCATION.lat, long: DEFAULT_LOCATION.long, city: DEFAULT_LOCATION.city};\n throw new Error(data.error);\n }\n\n return { lat: data.lat, long: data.long, city: data.city };\n } catch (error) {\n console.error('Error fetching user location:', error);\n throw error;\n }\n};\nexport const getAllFestivals = async (timeStamp: number, location: { lat: number, long: number, city: string }) => {\n const { lat, long } = location;\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/observances?limit=30×tamp=${parseInt((timeStamp / 1000).toString())}&lat=${lat}&long=${long}`;\n return (await fetchWithConfig(url)).data.observances;\n};\nexport const getAFestival = async (timeStamp: number, location: { lat: number, long: number, city: string }) => {\n const { lat, long } = location;\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/observances?limit=1×tamp=${timeStamp}&lat=${lat}&long=${long}`;\n return (await (await fetch(url)).json()).data.observances;\n};\nexport const getAFestivalBySlug = async (festivalSlug: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/observances/slug/${festivalSlug}`;\n return (await (await fetch(url)).json());\n};\nexport const getAllDeities = async () => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/deities`;\n return (await (await fetch(url, { cache: 'no-cache' })).json()).data;\n};\nexport const getDeityByID = async (deityId: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/deities/${deityId}`;\n return (await (await fetch(url, { cache: 'force-cache' })).json()).data;\n};\nexport const getDeityDataByName = async (deityName: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/deities/slug/${deityName}`;\n return (await (await fetch(url, { cache: 'no-store' })).json()).data;\n};\nexport const getRashiPredition = async (date: string, rashiName: string, language: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prediction/v4/weekly?dates=${date}&rashi=${rashiName}&language=${language}`;\n const data = (await (await fetch(url, { cache: 'no-store' })).json()).data\n return data;\n};\nexport const getPrarthanaById = async (prarthanaId: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/prarthanas/${prarthanaId}`;\n return (await (await fetch(url, { cache: 'force-cache' })).json()).data;\n};\nexport const getAllArticles = async () => (await (await fetch(`https://strapi-api.stage.dharmayana.in:1337/api/articles?sort[0]=id`)).json()).data;\nexport const getArticle = async (articleName: string) => (await (await fetch(`https://strapi-api.stage.dharmayana.in:1337/api/articles?filters[heading][$contains]=${articleName}`)).json()).data[0];\nexport const getArticleById = async (uid: string) => (await (await fetch(`https://strapi-api.stage.dharmayana.in:1337/api/articles/${uid}`)).json()).data;\nexport const getAllShubhKaryas = async () => (await fetchWithConfig(`${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/app-config`)).data.shubh_karya_filters;\nexport const getAllLanguages = async () => (await fetchWithConfig(`${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/app-config`)).data.prediction_languages;\nexport const getDatesForShubhKarya = async (timeStamp: number, karya: string, location: { lat: number, long: number, city: string }) => {\n const { lat, long } = location\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/calendar?shubh_karya=${karya}&limit=30×tamp=${parseInt((timeStamp / 1000).toString())}&lat=${lat}&long=${long}`;\n return (await fetchWithConfig(url)).data.calendar_view;\n};\nexport const getPanchangaForToday = (timeStamp: number, location: { lat: number, long: number, city: string }) => {\n const { lat, long } = location;\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/panchanga/details?timestamp=${parseInt((timeStamp / 1000).toString())}&lat=${lat}&long=${long}`;\n return fetchWithConfig(url);\n};\nexport const getPrarthanasForToday = (timeStamp: number) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/panchanga/prarthanas/today?timestamp=${parseInt((timeStamp / 1000).toString())}`;\n return fetchWithConfig(url);\n};\nexport async function getPurposePrarthanas() {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/prarthanas/collection/purpose`;\n return fetchPrarthanas(url);\n\n}\nexport const getPrarthanasByPurpose = async (purposeSlug: string) => {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/prarthana/v1/prarthanas/slug/${purposeSlug}`;\n return fetchPrarthanas(url);\n};\nexport async function getFestivalPrarthanas(pageNumber: number) {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/observances/linked-prarthanas?page_no=${pageNumber}&page_size=${12}`;\n return fetchPrarthanas(url);\n}\nexport async function getPrarthanasByFestival(purposeSlug: string) {\n const url = `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/observances/linked-prarthanas/${purposeSlug}`;\n return fetchPrarthanas(url);\n\n}\nexport const suggestLocation = async (searchText: string, signal?: AbortSignal) => {\n const response = await fetch(\n `${process.env.NEXT_PUBLIC_BACKEND_BASE_URL}/v1/location/search?keyword=${searchText}`,\n { signal } // Pass the abort signal to the fetch call\n );\n const data = await response.json();\n return data.data;\n};"],"names":["revalidate","DEMO_DESCRIPTIONS","icon","heading","descriptions","alt","concat","process","TESTIMONIALS","author","review","stars","date","APP_SCREEN_SHOTS","daysOfWeek","Mon","Tue","Wed","Thu","Fri","Sat","Sun","DEFAULT_LOCATION","lat","long","city","RASHIES","vedic_name","english_name","image_url","banner_url","TYPES_OF_PRARTHANA_COLLECTION","type","by_line","redirection_url","env","NEXT_PUBLIC_OPEN_GRAPH_IMAGE_PATH","dayjs","utc","minMax","formatMyStringAsSlug","text","replace","trim","toLowerCase","getFormattedTime","time","format","getMoonFace","tithis","paksha","tithiWithMaxDiff","reduce","maxTithi","tithi","end_time","start_time","key","split","getFormattedDate","showDay","uppercase","showDate","showMonth","showYear","dayOfWeek","month","dayOfMonth","year","toDateString","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","jsxs","div","className","jsx","Fragment","ordinalSuffix","lastDigit","Number","day","lastTwoDigits","styled","BaseMenuItem","menuItemClasses","disabled","MenuButton","BaseMenuButton","noto_sans","Listbox","_templateObject2","AnimatedListbox","forwardRef","props","ref","other","popupContext","useContext","PopupContext","verticalPlacement","placement","CssTransition","enterClassName","exitClassName","parseDate","dateString","valueOf","checkDate","today","Date","selectedDate","getDate","getMonth","getFullYear","headers","Headers","fetchWithConfig","url","response","fetch","cache","json","error","console","fetchPrarthanas","method","ok","status","getUserIPV4","next","ip","getUserLocation","data","getAllFestivals","timeStamp","location","parseInt","toString","observances","getAFestival","getAFestivalBySlug","festivalSlug","getAllDeities","getDeityDataByName","deityName","getRashiPredition","rashiName","language","getAllArticles","getArticle","articleName","getArticleById","uid","getAllShubhKaryas","shubh_karya_filters","getAllLanguages","prediction_languages","getDatesForShubhKarya","karya","calendar_view","getPanchangaForToday","getPrarthanasForToday","getPurposePrarthanas","getPrarthanasByPurpose","purposeSlug","getFestivalPrarthanas","pageNumber","suggestLocation","searchText","signal"],"sourceRoot":""}