{"version":3,"file":"static/js/index.debf9a37.js","sources":["webpack://phishy/./src/components/translationsProvider/index.tsx","webpack://phishy/./src/components/localTopBar/index.tsx","webpack://phishy/./src/contexts/translationContext/useTranslation.ts","webpack://phishy/./src/hooks/useLogging.ts","webpack://phishy/./src/components/table/index.tsx","webpack://phishy/./src/components/utilityPages/genericPage.tsx","webpack://phishy/./src/components/table/horsensList.ts","webpack://phishy/./src/components/utilityPages/horsensPage.tsx","webpack://phishy/./src/components/table/dinForsyningList.ts","webpack://phishy/./src/components/utilityPages/dinForsyningPage.tsx","webpack://phishy/./src/components/layout/index.tsx","webpack://phishy/./src/routes/app.tsx","webpack://phishy/./src/components/suspenseFallback/index.tsx","webpack://phishy/./src/routes/root.tsx","webpack://phishy/./src/ErrorBoundary.tsx","webpack://phishy/./src/types/envVariables.ts","webpack://phishy/./src/index.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useState } from \"react\";\nimport {\n TranslationsProvider as IntlTranslationsProvider,\n useLanguage,\n} from \"@kamstrup/kamstrup-intl\";\n\nexport const supportedLanguages = [\"da\", \"en\"];\n\nexport const TranslationsProvider: FC = ({ children }) => {\n const { getLanguagePath } = useLanguage(supportedLanguages);\n const languagePath = getLanguagePath();\n const language = supportedLanguages.includes(languagePath)\n ? languagePath\n : \"en\";\n\n const [messages, setMessages] = useState>();\n\n useEffect(() => {\n const loadMessages = async () => {\n const translations = await import(\n `../../i18n/${language}/translations.json`\n );\n setMessages(translations);\n };\n\n loadMessages();\n }, [language]);\n\n return (\n messages && (\n \n {children}\n \n )\n );\n};\n","/* This LocalTopBar component is meant to be used as a placeholder for the topbar provided by a host module.\n * It has been provided in this setup to allow the same look and feel as when experienced through the host.\n * Note that this topbar will not be exposed to the host.\n */\nimport { TopBar, Toolbar } from \"@kamstrup/kfl\";\n\ninterface Props {\n topBarBackground: string;\n topBarImage: React.JSX.Element;\n}\n\nexport const LocalTopBar: React.FC = ({ topBarBackground, topBarImage }) => {\n\n return (\n <>\n \n \n {topBarImage}\n \n \n \n );\n};\n","import { PrimitiveTypes, useKamstrupIntl } from \"@kamstrup/kamstrup-intl\";\nimport { useCallback } from \"react\";\nimport { TranslationKey } from \"./types\";\n\nexport const useTranslation = () => {\n const {\n translateText,\n translateDate,\n translateNumber,\n translateDateToParts,\n locale,\n } = useKamstrupIntl();\n\n const translateString = useCallback(\n (key: TranslationKey, values?: Record) => {\n return translateText(key, values);\n },\n [translateText]\n );\n\n return {\n translateString: translateString,\n translateDate: translateDate,\n translateNumber: translateNumber,\n translateDateToParts: translateDateToParts,\n locale: locale,\n };\n};\n","import { trackEvent } from \"@kamstrup/kamstrup-logging\";\nimport { useCallback, useMemo } from \"react\";\nimport { useParams } from \"react-router-dom\";\n\nexport const useLogging = () => {\n const { id } = useParams();\n const installationId = useMemo(() => {\n const regExNumbersOnly = new RegExp(/^[0-9]*$/);\n return id ? (regExNumbersOnly.test(id) ? id : \"Wrong Id\") : \"No Id\";\n }, [id]);\n\n const logEvent = useCallback(\n (name: string, properties?: any) => {\n trackEvent(name, { \n ...properties,\n installationId: installationId,\n width: window.innerWidth,\n height: window.innerHeight\n });\n },\n [installationId]\n );\n\n return { logEvent };\n};\n","import { Box, DataGrid, GridColDef, Link, Typography } from \"@kamstrup/kfl\";\nimport { useTranslation } from \"../../contexts/translationContext/useTranslation\";\nimport { useLogging } from \"../../hooks/useLogging\";\nimport { PlumberCompanyContactInfo } from \"../../types/type\";\n\ninterface Props {\n backgroundColor: string;\n tableHeaderColor: string;\n tableHeaderTextColor: string;\n utilityName: string;\n possesive: string;\n height: string;\n tableHeight: string;\n plumberCompaniesList: PlumberCompanyContactInfo[];\n}\n\nconst Table: React.FC = ({\n backgroundColor,\n tableHeaderColor,\n tableHeaderTextColor,\n utilityName,\n possesive,\n height,\n tableHeight,\n plumberCompaniesList,\n}) => {\n const { translateString } = useTranslation();\n const { logEvent } = useLogging();\n\n const handlePhoneClick = (corporation: string) => {\n logEvent(\"Phone clicked\", { corporationName: corporation });\n };\n\n const handleHomePageClick = (corporation: string) => {\n logEvent(\"Home page clicked\", { corporationName: corporation });\n };\n\n const fisherYatesShuffle = (\n plumberCompanies: PlumberCompanyContactInfo[]\n ) => {\n const sortedPlumberCompanies = [...plumberCompanies];\n let currentIndex = plumberCompanies.length;\n let randomIndex: number;\n\n while (currentIndex > 0) {\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n\n [\n sortedPlumberCompanies[currentIndex],\n sortedPlumberCompanies[randomIndex],\n ] = [\n sortedPlumberCompanies[randomIndex],\n sortedPlumberCompanies[currentIndex],\n ];\n }\n\n return sortedPlumberCompanies;\n };\n\n const colDefs: GridColDef[] = [\n {\n field: \"corporation\",\n headerName: `${translateString(\"company\")}`,\n flex: 3,\n align: \"left\",\n sortable: false,\n disableColumnMenu: true,\n headerClassName: \"table-header\",\n renderCell: (params) => {\n return {params.value};\n },\n },\n {\n field: \"phone\",\n headerName: `${translateString(\"phone\")}`,\n flex: 1.1,\n align: \"left\",\n sortable: false,\n disableColumnMenu: true,\n renderCell: (params) => {\n return (\n handlePhoneClick(params.row.corporation)}\n >\n {params.value}\n \n );\n },\n headerClassName: \"table-header\",\n },\n {\n field: \"homepage\",\n headerName: `${translateString(\"website\")}`,\n flex: 1,\n align: \"left\",\n sortable: false,\n disableColumnMenu: true,\n renderCell: (params) => {\n return params.value === \"\" ? (\n <>\n ) : (\n handleHomePageClick(params.row.corporation)}\n >\n {translateString(\"open\")}\n \n );\n },\n headerClassName: \"table-header\",\n },\n ];\n\n return (\n \n \n {translateString(\"list_of_plumbers\", {\n utilityName: utilityName,\n possesive: possesive,\n })}\n \n \"table-row\"}\n getRowHeight={() => \"auto\"}\n sx={{\n marginTop: \"20px\",\n height: tableHeight,\n \".MuiDataGrid-columnHeaderTitle\": {\n color: tableHeaderTextColor,\n },\n \".table-row\": {\n minHeight: \"52px !important\",\n },\n }}\n />\n \n );\n};\n\nTable.displayName = \"Table\";\nexport default Table;\n","import React, { FC, useEffect } from \"react\";\nimport { LocalTopBar } from \"../localTopBar\";\nimport Table from \"../table\";\nimport { useLogging } from \"../../hooks/useLogging\";\nimport { PlumberCompanyContactInfo } from \"../../types/type\";\n\ninterface Props {\n topBarBackground: string;\n topBarImage: React.JSX.Element;\n backgroundColor: string;\n tableHeaderColor: string;\n tableHeaderTextColor: string;\n utilityName: string;\n possesive: string;\n height: string;\n tableHeight: string;\n plumberCompaniesList: PlumberCompanyContactInfo[];\n}\n\nexport const GenericPage: FC = ({\n topBarBackground,\n topBarImage,\n backgroundColor,\n tableHeaderColor,\n tableHeaderTextColor,\n utilityName,\n possesive,\n height,\n tableHeight,\n plumberCompaniesList,\n}) => {\n const { logEvent } = useLogging();\n\n useEffect(() => {\n logEvent(\"Consumer Portal initialised\");\n }, [logEvent]);\n\n return (\n <>\n \n \n \n );\n};\n","import { PlumberCompanyContactInfo } from \"../../types/type\";\n\nexport const horsensList: PlumberCompanyContactInfo[] = [\n {\n id: \"0\",\n corporation: \"Møllgaard VVS\",\n phone: 75643488,\n homepage: \"https://mollgaard.dk/kontakt-os/\",\n },\n {\n id: \"1\",\n corporation: \"Egebjerg VVS ApS\",\n phone: 40455438,\n homepage: \"https://egebjergvvs.dk/kontakt\",\n },\n {\n id: \"2\",\n corporation: \"HON VVS A/S\",\n phone: 75647111,\n homepage: \"https://honvvs.dk/p/kontakt\",\n },\n {\n id: \"3\",\n corporation: \"Hovedgård & Omegns VVS ApS\",\n phone: 75659030,\n homepage: \"https://hovedgaardvvs.dk/kontakt\",\n },\n {\n id: \"4\",\n corporation: \"John Jensen VVS & Blik ApS\",\n phone: 75625889,\n homepage: \"https://vvs-horsens.dk/kontakt/\",\n },\n {\n id: \"5\",\n corporation: \"Lyngsø VVS ApS\",\n phone: 75613766,\n homepage: \"https://lyngsoevvs.dk/kontakt\",\n },\n {\n id: \"6\",\n corporation: \"Petrowsky A/S\",\n phone: 75621263,\n homepage: \"https://petrowsky.dk/kontakt/bestil-arbejde/\",\n },\n {\n id: \"7\",\n corporation: \"Torsted VVS ApS\",\n phone: 75616111,\n homepage: \"https://torstedvvs.dk/kontakt/\",\n },\n {\n id: \"8\",\n corporation: \"Østjysk VVS Teknik ApS\",\n phone: 75621063,\n homepage: \"https://scs-vvs.dk/kontakt/\",\n },\n {\n id: \"9\",\n corporation: \"Adelholm VVS ApS\",\n phone: 75655601,\n homepage: \"https://www.adelholmvvs.dk/kontakt-os/\",\n },\n {\n id: \"10\",\n corporation: \"Bravida Danmark A/S\",\n phone: 25252601,\n homepage: \"https://www.bravida.dk/kontakt-os/\",\n },\n {\n id: \"11\",\n corporation: \"Devantier VVS\",\n phone: 75645566,\n homepage: \"http://www.devantier.dk/kontakt-os.aspx\",\n },\n {\n id: \"12\",\n corporation: \"Heat-On ApS\",\n phone: 75647666,\n homepage: \"https://www.heaton.dk/\",\n },\n {\n id: \"13\",\n corporation: \"Hedensted VVS Service A/S\",\n phone: 75890730,\n homepage:\n \"https://www.vvsmester.dk/installatorer/hedensted-vvs-energi-service-a-s/#installerFooter\",\n },\n {\n id: \"14\",\n corporation: \"Horsens Blik & VVS Teknik\",\n phone: 60145143,\n homepage: \"https://horsensblikogvvs.dk/kontakt/\",\n },\n {\n id: \"15\",\n corporation: \"Horsens VVS ApS\",\n phone: 77778888,\n homepage: \"https://horsensvvs.dk/om-os/#kontakt\",\n },\n {\n id: \"16\",\n corporation: \"Kemp & Lauritzen\",\n phone: 22526399,\n homepage: \"https://www.kemp-lauritzen.dk/kontakt/\",\n },\n {\n id: \"17\",\n corporation: \"Nortech VVS ApS\",\n phone: 26783434,\n homepage: \"https://nortech-vvs.dk/\",\n },\n {\n id: \"18\",\n corporation: \"PP Smed - VVS\",\n phone: 20144838,\n homepage: \"\",\n },\n {\n id: \"19\",\n corporation: \"Stobberup VVS\",\n phone: 40447492,\n homepage: \"\",\n },\n {\n id: \"20\",\n corporation: \"Tebstrup VVS og Blik ApS\",\n phone: 40197222,\n homepage: \"https://vvsskanderborg.dk/kontakt\",\n },\n {\n id: \"21\",\n corporation: \"Varme Smeden Henrik Rosenberg ApS\",\n phone: 40103520,\n homepage: \"https://www.varmesmeden-rosenberg.dk/kontakt/\",\n },\n {\n id: \"22\",\n corporation: \"VVS Kompagniet\",\n phone: 81728700,\n homepage: \"https://www.vvs8700.dk/kontakt.aspx\",\n },\n {\n id: \"23\",\n corporation: \"WorkFlow VVS ApS\",\n phone: 61480454,\n homepage: \"https://www.workflowvvs.dk/kontakt/\",\n },\n {\n id: \"24\",\n corporation: \"Aage Jensen A/S\",\n phone: 40173783,\n homepage: \"https://www.aagejensenvvs.dk/kontakt/\",\n },\n];\n","import { GenericPage } from \"./genericPage\";\nimport horsensLogo from \"../../images/horsens_logo.png\";\nimport { Colors } from \"@kamstrup/kfl\";\nimport { FC } from \"react\";\nimport { horsensList } from \"../table/horsensList\";\n\nexport const HorsensPage: FC = () => {\n return (\n }\n backgroundColor={\"#D6E1E7\"}\n tableHeaderColor={\"#9DD29C\"}\n tableHeaderTextColor={Colors.BLACK}\n utilityName={\"Fjernvarme Horsens\"}\n possesive={\"'\"}\n height={\"270%\"}\n tableHeight={\"90%\"}\n plumberCompaniesList={horsensList}\n />\n );\n}","import { PlumberCompanyContactInfo } from \"../../types/type\";\n\nexport const dinForsyningList: PlumberCompanyContactInfo[] = [\n {\n id: \"0\",\n corporation: \"ApS I.C. Nielsen VVS & Blik\",\n phone: 75133568,\n homepage: \"https://ic-nielsen.dk/\",\n },\n {\n id: \"1\",\n corporation: \"Breinholt VVS\",\n phone: 75117472,\n homepage: \"https://breinholtvvs.dk/hvem-er-vi/\",\n },\n {\n id: \"2\",\n corporation: \"FH VVS-Installatørforretning A/S\",\n phone: 75167711,\n homepage: \"https://finnhansen.dk/kontakt/\",\n },\n {\n id: \"3\",\n corporation: \"John Josefsen ApS\",\n phone: 75175911,\n homepage: \"https://www.john-josefsen.dk/kontakt/\",\n },\n {\n id: \"4\",\n corporation: \"Star VVS A/S\",\n phone: 75453322,\n homepage: \"https://starvvsinstallation.dk/kontakt\",\n },\n {\n id: \"5\",\n corporation: \"Carl W. Reis A/S\",\n phone: 75156800,\n homepage: \"https://cwr.dk/kontakt-carl-w-reis\",\n },\n {\n id: \"6\",\n corporation: \"Carl Buch P/S\",\n phone: 75120755,\n homepage: \"\",\n },\n {\n id: \"7\",\n corporation: \"Deres Blikkenslager A/S\",\n phone: 75125011,\n homepage: \"https://deresblik.dk/\",\n },\n\n {\n id: \"8\",\n corporation: \"Forum Smede & VVS\",\n phone: 75168038,\n homepage: \"http://www.forumsmedeogvvs.dk/\",\n },\n {\n id: \"9\",\n corporation: \"Jannik Lynge VVS & BLIK ApS\",\n phone: 28291212,\n homepage: \"https://www.janniklyngevvs.dk/\",\n },\n\n {\n id: \"10\",\n corporation: \"Kaster & Jessen Vvs og Blik ApS\",\n phone: 75220256,\n homepage: \"https://kogj.dk/\",\n },\n {\n id: \"11\",\n corporation: \"KEMP & LAURITZEN A/S\",\n phone: 76339999,\n homepage: \"https://www.kemp-lauritzen.dk/\",\n },\n {\n id: \"12\",\n corporation: \"Pe' Smed-VVS\",\n phone: 75195222,\n homepage: \"https://www.pesmed.dk/\",\n },\n {\n id: \"13\",\n corporation: \"Quitzau A/S\",\n phone: 75126600,\n homepage: \"https://quitzau.dk/\",\n },\n {\n id: \"14\",\n corporation: \"Ripa VVS ApS\",\n phone: 75421057,\n homepage: \"https://www.ripavvs.dk/\",\n },\n {\n id: \"15\",\n corporation: \"Jepsen VVS & Montage ApS\",\n phone: 75157555,\n homepage: \"https://jepsenvvs.com/\",\n },\n {\n id: \"16\",\n corporation: \"Sten & Gerts VVS ApS\",\n phone: 75431891,\n homepage: \"http://www.sten-gerts.dk/\",\n },\n {\n id: \"17\",\n corporation: \"Svend J. Schmidt Vvs-Installatørforretning ApS\",\n phone: 75168181,\n homepage: \"\",\n },\n {\n id: \"18\",\n corporation: \"Thorvald Vvs & Energi ApS\",\n phone: 75173020,\n homepage: \"https://www.thorvald-vvs.dk/\",\n },\n {\n id: \"19\",\n corporation: \"Alslev VVS & Blik\",\n phone: 75269674,\n homepage: \"http://www.alslev-vvs.dk/\",\n },\n {\n id: \"20\",\n corporation: \"Andersens VVS ApS\",\n phone: 42436870,\n homepage: \"https://andersens-vvs.dk/\",\n },\n {\n id: \"21\",\n corporation: \"Appel VVS\",\n phone: 29731212,\n homepage: \"https://www.appelvvs.dk/\",\n },\n {\n id: \"22\",\n corporation: \"Blåvand Smede- og VVS-forretning ApS\",\n phone: 75279030,\n homepage: \"https://www.blaavandvvs.dk/\",\n },\n {\n id: \"23\",\n corporation: \"Blåvandshuk VVS og Blik\",\n phone: 75271045,\n homepage: \"\",\n },\n {\n id: \"24\",\n corporation: \"Bravida Danmark A/S Esbjerg\",\n phone: 76122750,\n homepage: \"https://www.bravida.dk/kontakt-os/danmark/esbjerg/\",\n },\n {\n id: \"25\",\n corporation: \"E. Skov Jørgensen A/S\",\n phone: 75145188,\n homepage: \"https://eskov.dk/\",\n },\n {\n id: \"26\",\n corporation: \"Frejo Poulsen A/S\",\n phone: 75122848,\n homepage: \"https://frejop.dk/\",\n },\n {\n id: \"27\",\n corporation: \"Hansen & Co\",\n phone: 26210245,\n homepage: \"https://hansenogco.dk/\",\n },\n {\n id: \"28\",\n corporation: \"Houlberg Hansen\",\n phone: 75471044,\n homepage: \"https://houlberghansen.dk/\",\n },\n {\n id: \"29\",\n corporation: \"Jan Stage Nielsen\",\n phone: 75288474,\n homepage: \"https://www.smedemesterjannielsen.dk/\",\n },\n {\n id: \"30\",\n corporation: \"Kongeå VVS ApS\",\n phone: 29216914,\n homepage: \"https://kongeaavvs.dk/\",\n },\n {\n id: \"31\",\n corporation: \"Kvong A/S\",\n phone: 75254075,\n homepage: \"https://kvongvvs.dk/\",\n },\n {\n id: \"32\",\n corporation: \"Lorenz VVS\",\n phone: 75175461,\n homepage: \"https://lorenzvvs.dk/\",\n },\n {\n id: \"33\",\n corporation: \"Lourup VVS\",\n phone: 75177012,\n homepage: \"https://www.lourupvvs.dk/\",\n },\n {\n id: \"34\",\n corporation: \"Møllers Vvs & Blik ApS\",\n phone: 24236958,\n homepage: \"https://mollersvvs-blik.dk/\",\n },\n {\n id: \"35\",\n corporation: \"Pro-Pipe VVS & Fjernvarme A/S\",\n phone: 75115393,\n homepage: \"https://pro-pipe.dk/\",\n },\n {\n id: \"36\",\n corporation: \"Ribe VVS Service A/S\",\n phone: 75420621,\n homepage: \"https://www.ribevvs.dk/\",\n },\n {\n id: \"37\",\n corporation: \"Tistrup-Bounum Smede- & Maskin forretning A/S\",\n phone: 75260955,\n homepage: \"https://tistrup-bounum.dk/\",\n },\n {\n id: \"38\",\n corporation: \"Tommy Jørgensen ApS\",\n phone: 75134434,\n homepage: \"https://www.vvs-tj.dk/forside/\",\n },\n {\n id: \"39\",\n corporation: \"Vrøgum Smede & VVS ApS\",\n phone: 75271206,\n homepage: \"https://xn--vrgumvvs-64a.dk/\",\n },\n {\n id: \"40\",\n corporation: \"VVS Outrup ApS\",\n phone: 75251012,\n homepage: \"https://vvs-outrup.dk/\",\n },\n];\n","import { GenericPage } from \"./genericPage\";\nimport dinForsyningLogo from \"../../images/din_forsyning_logo.png\";\nimport { Colors } from \"@kamstrup/kfl\";\nimport { FC } from \"react\";\nimport { dinForsyningList } from \"../table/dinForsyningList\";\n\nexport const DinForsyningPage: FC = () => {\n return (\n }\n backgroundColor={\"#e5e9f3\"}\n tableHeaderColor={\"#003c7d\"}\n tableHeaderTextColor={Colors.WHITE}\n utilityName={\"DIN Forsyning\"}\n possesive={\"'s\"}\n height={\"400%\"}\n tableHeight={\"90%\"}\n plumberCompaniesList={dinForsyningList}\n />\n );\n};\n","import { Route, Routes } from \"react-router-dom\";\nimport { HorsensPage } from \"../utilityPages/horsensPage\";\nimport { DinForsyningPage } from \"../utilityPages/dinForsyningPage\";\n\nexport const Layout = () => {\n return (\n \n } />\n } />\n } />\n } />\n \n );\n};\n","import { Suspense } from \"react\";\nimport { RouteObject } from \"react-router-dom\";\nimport { SuspenseFallback } from \"../components/suspenseFallback\";\nimport Root from \"./root\";\n\nexport const appRoute: RouteObject = {\n path: \"*\",\n element: (\n }>\n \n \n )\n};\n","import { FC } from \"react\";\nimport { Spinner, Typography } from \"@kamstrup/kfl\";\n\nexport const SuspenseFallback: FC = () => {\n return (\n \n \n Loading ...\n \n \n );\n};\n","import { CssBaseline, Main, defaultStates } from \"@kamstrup/kfl\";\nimport { FC } from \"react\";\nimport { TranslationsProvider } from \"../components/translationsProvider\";\nimport { Layout } from \"../components/layout\";\n\nconst Root: FC = () => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Root;\n","import { trackException } from \"@kamstrup/kamstrup-logging\";\nimport React, { PropsWithChildren, useCallback } from \"react\";\n\ntype ErrorBoundaryClassProps = PropsWithChildren & {\n trackException: (exception: Error) => void;\n};\n\nclass ErrorBoundaryClass extends React.PureComponent {\n componentDidCatch(error: Error) {\n this.props.trackException(error);\n }\n\n render() {\n return this.props.children;\n }\n}\n\nconst ErrorBoundary: React.FC = ({ children }) => {\n const logException = useCallback((exception: Error) => {\n // We have to use trackException directly from the import instead of thought the useLogging hook\n //because useLogging is using useAuthentication which might not be initialized yet.\n trackException(exception, undefined);\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport default ErrorBoundary;\n","export const envVariables = {\n REACT_APP_ENVIRONMENT: import.meta.env.REACT_APP_ENVIRONMENT,\n REACT_APP_AI_IKEY: import.meta.env.REACT_APP_AI_IKEY,\n REACT_APP_VERSION: import.meta.env.REACT_APP_VERSION,\n REACT_APP_REDIRECT_URI: import.meta.env.REACT_APP_REDIRECT_URI,\n PUBLIC_URL: import.meta.env.PUBLIC_URL,\n};\n","import ReactDOM from \"react-dom/client\";\nimport {\n createBrowserRouter,\n RouteObject,\n RouterProvider,\n Outlet,\n} from \"react-router-dom\";\nimport { ThemeProvider, initKFL } from \"@kamstrup/kfl\";\nimport { appRoute } from \"./routes/app\";\nimport { initializeApplicationInsights } from \"@kamstrup/kamstrup-logging\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport { envVariables } from \"./types/envVariables\";\n\ninitKFL();\n\nconsole.log(\n `You are running version ${envVariables.REACT_APP_VERSION} of Consumer Portal`\n);\n\ninitializeApplicationInsights({\n config: {\n instrumentationKey: envVariables.REACT_APP_AI_IKEY + \"\",\n },\n applicationName: \"Consumer Portal Application\",\n applicationVersion: envVariables.REACT_APP_VERSION,\n});\n\nconst rootRoute: RouteObject = {\n element: ,\n children: [appRoute],\n};\n\nconst router = createBrowserRouter([rootRoute], {\n basename: envVariables.PUBLIC_URL,\n});\n\nconst root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n);\nroot.render(\n \n \n \n \n \n);\n"],"names":["supportedLanguages","TranslationsProvider","children","getLanguagePath","useLanguage","languagePath","language","messages","setMessages","useState","useEffect","loadMessages","IntlTranslationsProvider","LocalTopBar","topBarBackground","topBarImage","TopBar","Toolbar","useTranslation","translateText","translateDate","translateNumber","translateDateToParts","locale","useKamstrupIntl","useCallback","key","values","useLogging","id","useParams","installationId","useMemo","regExNumbersOnly","RegExp","logEvent","name","properties","trackEvent","window","Table","backgroundColor","tableHeaderColor","tableHeaderTextColor","utilityName","possesive","height","tableHeight","plumberCompaniesList","translateString","handlePhoneClick","corporation","handleHomePageClick","colDefs","params","Typography","Link","Box","DataGrid","fisherYatesShuffle","plumberCompanies","randomIndex","sortedPlumberCompanies","currentIndex","Math","GenericPage","horsensList","HorsensPage","horsensLogo","Colors","dinForsyningList","DinForsyningPage","Layout","Routes","Route","appRoute","Suspense","Spinner","SuspenseFallback","CssBaseline","Main","defaultStates","Root","ErrorBoundaryClass","React","error","initKFL","console","initializeApplicationInsights","envVariables","rootRoute","Outlet","router","createBrowserRouter","root","ReactDOM","document","logException","exception","trackException","undefined","ErrorBoundary","ThemeProvider","RouterProvider"],"mappings":"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"}