{"version":3,"file":"static/components/front/app-fcd9e85ae6a841049681.mjs?cv=7","mappings":"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","sources":["webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/App.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/app/index.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/front/components/globalContext/hooks.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/forms.js","webpack:///home/runner/work/actionpopulaire.fr/actionpopulaire.fr/agir/lib/components/utils/time.js"],"sourcesContent":["import React from \"react\";\nimport { GlobalContextProvider } from \"@agir/front/globalContext/GlobalContext\";\nimport SWRContext from \"@agir/front/allPages/SWRContext\";\n\nimport PushModal from \"@agir/front/allPages/PushModal/PushModal\";\n\nimport Router from \"./Router\";\n\nexport default function App() {\n  return (\n    <SWRContext>\n      <GlobalContextProvider hasRouter hasToasts>\n        <Router>\n          <PushModal isActive />\n        </Router>\n      </GlobalContextProvider>\n    </SWRContext>\n  );\n}\n","import \"core-js/es/string/replace-all\";\n\nimport React from \"react\";\nimport onDOMReady from \"@agir/lib/utils/onDOMReady\";\nimport logger from \"@agir/lib/utils/logger\";\n\nimport \"@agir/front/allPages/sentry\";\nimport \"@agir/front/allPages/ios\";\nimport \"@agir/front/allPages/fonts/fonts.css\";\nimport \"@agir/front/genericComponents/style.scss\";\n\nimport { renderReactComponent } from \"@agir/lib/utils/react\";\n\nimport App from \"@agir/front/app/App\";\n\nconst log = logger(__filename);\n\nconst init = () => {\n  const renderElement = document.getElementById(\"mainApp\");\n  if (!renderElement) {\n    return;\n  }\n  renderReactComponent(<App />, renderElement);\n};\nonDOMReady(init);\n\nif (\"serviceWorker\" in navigator) {\n  window.addEventListener(\"load\", async () => {\n    try {\n      window.AgirSW = await navigator.serviceWorker.register(\"/sw.js\");\n      log.debug(\"Registered service worker\");\n    } catch (e) {\n      log.error(\"Failed to register service worker\");\n    }\n  });\n\n  window.addEventListener(\"beforeinstallprompt\", (e) => {\n    // Prevent the mini-infobar from appearing on mobile\n    e.preventDefault();\n  });\n}\n","import { useCallback } from \"react\";\nimport { useDispatch } from \"@agir/front/globalContext/GlobalContext\";\nimport { addToasts } from \"@agir/front/globalContext/actions\";\n\nexport const useToast = () => {\n  const dispatch = useDispatch();\n\n  const sendToast = useCallback(\n    (message, type, config) => {\n      const toast = {\n        message: message,\n        type: type || \"DEFAULT\",\n        ...config,\n      };\n      dispatch(addToasts(toast));\n    },\n    [dispatch],\n  );\n\n  return sendToast;\n};\n","export const objectToFormData = (obj, rootName, ignoreList) => {\n  var formData = new FormData();\n  const appendFormData = (data, rootProp) => {\n    if (Array.isArray(ignoreList) && ignoreList.includes(rootProp)) {\n      return;\n    }\n\n    rootProp = rootProp || \"\";\n\n    if (data instanceof File) {\n      formData.append(rootProp, data);\n      return;\n    }\n\n    if (Array.isArray(data)) {\n      for (var i = 0; i < data.length; i++) {\n        appendFormData(data[i], rootProp + \"[\" + i + \"]\");\n      }\n      return;\n    }\n\n    if (typeof data === \"object\" && data) {\n      for (var key in data) {\n        if (data.hasOwnProperty(key)) {\n          if (rootProp === \"\") {\n            appendFormData(data[key], key);\n          } else {\n            appendFormData(data[key], rootProp + \".\" + key);\n          }\n        }\n      }\n      return;\n    }\n\n    if (data !== null && typeof data !== \"undefined\") {\n      formData.append(rootProp, data);\n    }\n  };\n\n  appendFormData(obj, rootName);\n\n  return formData;\n};\n","import { DateTime, Interval } from \"luxon\";\nimport { instanceOf } from \"prop-types\";\n\nconst HOUR_ONLY_FORMAT = {\n  hour: \"numeric\",\n  minute: \"2-digit\",\n};\n\nconst SAME_YEAR_FORMAT = {\n  weekday: \"long\",\n  month: \"long\",\n  day: \"numeric\",\n};\n\nconst OTHER_YEAR_FORMAT = {\n  year: \"numeric\",\n  month: \"long\",\n  day: \"numeric\",\n};\n\nexport function dateFromISOString(isostring, zone) {\n  return zone\n    ? DateTime.fromISO(isostring, { zone }).setLocale(\"fr\")\n    : DateTime.fromISO(isostring).setLocale(\"fr\");\n}\n\nexport function displayHumanDay(datetime, relativeTo, interval) {\n  if (!instanceOf(datetime, DateTime)) {\n    return datetime;\n  }\n\n  if (relativeTo === undefined) {\n    relativeTo = DateTime.local();\n  }\n\n  if (interval === undefined) {\n    interval =\n      relativeTo < datetime\n        ? Interval.fromDateTimes(relativeTo, datetime)\n        : Interval.fromDateTimes(datetime, relativeTo);\n  }\n\n  const calendarDays = interval.count(\"days\");\n\n  if (calendarDays <= 3) {\n    return datetime.toRelativeCalendar({\n      base: relativeTo,\n      unit: \"days\",\n    });\n  } else if (calendarDays <= 8) {\n    const calendarWeeks = interval.count(\"weeks\");\n    const qualifier =\n      relativeTo < datetime ? (calendarWeeks > 1 ? \"prochain\" : \"\") : \"dernier\";\n    return `${datetime.weekdayLong} ${qualifier}`.trim();\n  }\n\n  const format = {\n    weekday: \"long\",\n    month: \"long\",\n    day: \"numeric\",\n    year: datetime.year !== relativeTo.year ? \"numeric\" : undefined,\n  };\n\n  return datetime.toLocaleString(format);\n}\n\nexport function displayHumanDate(datetime, relativeTo) {\n  if (!instanceOf(datetime, DateTime)) {\n    return datetime;\n  }\n\n  if (relativeTo === undefined) {\n    relativeTo = DateTime.local();\n  }\n  const interval =\n    relativeTo < datetime\n      ? Interval.fromDateTimes(relativeTo, datetime)\n      : Interval.fromDateTimes(datetime, relativeTo);\n\n  const calendarDays = interval.count(\"days\");\n\n  const time = datetime.toLocaleString(HOUR_ONLY_FORMAT);\n  let date = \"\";\n\n  if (calendarDays <= 8) {\n    date = displayHumanDay(datetime, relativeTo, interval);\n  } else if (interval.count(\"months\") <= 4) {\n    date = datetime.toLocaleString(SAME_YEAR_FORMAT);\n  } else {\n    date = datetime.toLocaleString(OTHER_YEAR_FORMAT);\n  }\n\n  return `${date} à ${time}`;\n}\n\nexport const displayHumanDateString = (datetime, relativeTo) => {\n  datetime = new Date(datetime);\n  datetime = DateTime.fromJSDate(datetime).setLocale(\"fr\");\n\n  if (relativeTo) {\n    relativeTo = new Date(relativeTo);\n    relativeTo = DateTime.fromJSDate(relativeTo).setLocale(\"fr\");\n  }\n\n  return displayHumanDate(datetime, relativeTo);\n};\n\nexport function displayInterval(interval, relativeTo) {\n  if (relativeTo === undefined) {\n    relativeTo = DateTime.local().setLocale(\"fr\");\n  }\n\n  const fromNowInterval =\n    relativeTo < interval.start\n      ? Interval.fromDateTimes(relativeTo, interval.start)\n      : Interval.fromDateTimes(interval.start, relativeTo);\n\n  const showYear = fromNowInterval.count(\"months\") > 4;\n  const scheduleCalendarDays = interval.count(\"days\");\n\n  const dayPartFormat = {\n    year: showYear ? \"numeric\" : undefined,\n    month: \"long\",\n    day: \"numeric\",\n    weekday: \"long\",\n  };\n\n  if (scheduleCalendarDays === 1) {\n    const dayPart = interval.start.toLocaleString(dayPartFormat);\n    const hourPart = `de ${interval.start.toLocaleString(\n      HOUR_ONLY_FORMAT,\n    )} à ${interval.end.toLocaleString(HOUR_ONLY_FORMAT)}`;\n    return `le ${dayPart}, ${hourPart}`;\n  }\n\n  const startDate = interval.start.toLocaleString(dayPartFormat);\n  const startTime = interval.start.toLocaleString(HOUR_ONLY_FORMAT);\n  const endDate = interval.end.toLocaleString({\n    ...dayPartFormat,\n    year: undefined,\n  });\n  const endTime = interval.end.toLocaleString(HOUR_ONLY_FORMAT);\n  return `du ${startDate} à ${startTime} au ${endDate} à ${endTime}`;\n}\n\nexport function displayIntervalStart(interval, relativeTo) {\n  if (relativeTo === undefined) {\n    relativeTo = DateTime.local().setLocale(\"fr\");\n  }\n  const startDate = interval.start.setLocale(\"fr-FR\");\n  const endDate = interval.end.setLocale(\"fr-FR\");\n  const scheduleCalendarDays = interval.count(\"days\");\n\n  const dayPartFormat = {\n    year: endDate < relativeTo ? \"numeric\" : undefined,\n    month: \"long\",\n    day: \"numeric\",\n  };\n\n  if (scheduleCalendarDays === 1) {\n    const dayPart = startDate.toLocaleString(dayPartFormat);\n    const hourPart = `${startDate.toLocaleString(HOUR_ONLY_FORMAT)}`;\n\n    return `${dayPart}, ${hourPart}`;\n  }\n\n  const start = startDate.toLocaleString({\n    ...dayPartFormat,\n    ...HOUR_ONLY_FORMAT,\n  });\n\n  return `${start}`;\n}\n\nexport function displayIntervalEnd(interval, relativeTo) {\n  if (relativeTo === undefined) {\n    relativeTo = DateTime.local().setLocale(\"fr\");\n  }\n\n  const startDate = DateTime.now();\n  const endDate = interval.end.setLocale(\"fr-FR\");\n  const beforeEnd = Interval.fromISO(`${startDate}/${endDate}`);\n  const diffBetween = beforeEnd.count(\"days\");\n\n  let title = \"En cours, \";\n\n  const dayPartFormat = {\n    year: endDate < relativeTo ? \"numeric\" : undefined,\n    month: \"long\",\n    day: \"numeric\",\n  };\n\n  if (diffBetween === 1) {\n    title += \"jusqu'à \";\n    const hourPart = `${endDate.toLocaleString(HOUR_ONLY_FORMAT)}`;\n    return `${title} ${hourPart}`;\n  }\n\n  if (diffBetween < 7) {\n    title += \"jusqu'à \";\n    return `${title}` + displayHumanDate(endDate);\n  }\n\n  title += \"jusqu'au \";\n\n  const end = endDate.toLocaleString({\n    ...dayPartFormat,\n    ...HOUR_ONLY_FORMAT,\n  });\n\n  return `${title} ${end}`;\n}\n\nconst units = [\"year\", \"month\", \"week\", \"day\", \"hour\", \"minute\", \"second\"];\n\nexport const simpleDate = (datetimeString, hideCurrentYear = true) => {\n  let dateTime = new Date(datetimeString);\n  dateTime = DateTime.fromJSDate(dateTime).setLocale(\"fr\");\n  return dateTime.toLocaleString({\n    year:\n      hideCurrentYear && new Date().getFullYear() === dateTime.get(\"year\")\n        ? undefined\n        : \"numeric\",\n    month: \"long\",\n    day: \"numeric\",\n  });\n};\n\nexport const simpleDateTime = (datetimeString, hideCurrentYear = true) => {\n  let dateTime = new Date(datetimeString);\n  dateTime = DateTime.fromJSDate(dateTime).setLocale(\"fr\");\n  return dateTime.toLocaleString({\n    year:\n      hideCurrentYear && new Date().getFullYear() === dateTime.get(\"year\")\n        ? undefined\n        : \"numeric\",\n    month: \"long\",\n    day: \"numeric\",\n    weekday: \"long\",\n    ...HOUR_ONLY_FORMAT,\n  });\n};\n\nexport const simpleInterval = (start, end) => {\n  const interval = Interval.fromISO(start + \"/\" + end);\n\n  if (interval.start.date === interval.end.date) {\n    return interval.toLocaleString(DateTime.TIME_24_SIMPLE, {\n      locale: \"fr-FR\",\n    });\n  }\n\n  return interval.toLocaleString(DateTime.DATETIME_SHORT, {\n    locale: \"fr-FR\",\n  });\n};\n\nexport const timeAgo = (date, maxUnit = units[0]) => {\n  try {\n    let dateTime = new Date(date);\n    dateTime = DateTime.fromJSDate(dateTime).setLocale(\"fr\");\n    const diff = dateTime.diffNow().shiftTo(...units);\n    const unit = units.find((unit) => diff.get(unit) !== 0) || \"second\";\n    if (maxUnit && units.indexOf(maxUnit) > units.indexOf(unit)) {\n      return \"le \" + simpleDate(date);\n    }\n    const relativeFormatter = new Intl.RelativeTimeFormat(\"fr\", {\n      numeric: \"auto\",\n    });\n    return relativeFormatter.format(Math.trunc(diff.as(unit)), unit);\n  } catch (e) {\n    return date;\n  }\n};\n\nexport const displayShortDate = (datetime) => {\n  try {\n    let date = new Date(datetime);\n    date = DateTime.fromJSDate(date).setLocale(\"fr\");\n    return date.toFormat(\"dd/LL\");\n  } catch (e) {\n    return datetime;\n  }\n};\n"],"names":["App","React","SWRContext","GlobalContextProvider","hasRouter","hasToasts","Router","PushModal","isActive","log","logger","onDOMReady","renderElement","document","getElementById","renderReactComponent","navigator","window","addEventListener","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","serviceWorker","register","AgirSW","sent","debug","error","stop","e","preventDefault","useToast","dispatch","useDispatch","sendToast","useCallback","message","type","config","toast","_objectSpread","addToasts","objectToFormData","obj","rootName","ignoreList","formData","FormData","appendFormData","data","rootProp","Array","isArray","includes","File","append","i","length","_typeof","key","hasOwnProperty","HOUR_ONLY_FORMAT","hour","minute","SAME_YEAR_FORMAT","weekday","month","day","OTHER_YEAR_FORMAT","year","dateFromISOString","isostring","zone","DateTime","fromISO","setLocale","displayHumanDay","datetime","relativeTo","interval","instanceOf","undefined","local","Interval","fromDateTimes","calendarDays","count","toRelativeCalendar","base","unit","calendarWeeks","qualifier","concat","weekdayLong","trim","format","toLocaleString","displayHumanDate","time","date","displayHumanDateString","Date","fromJSDate","displayInterval","dayPartFormat","start","dayPart","hourPart","end","startDate","startTime","endDate","endTime","displayIntervalStart","displayIntervalEnd","now","diffBetween","title","units","simpleDate","datetimeString","hideCurrentYear","arguments","dateTime","getFullYear","get","simpleDateTime","simpleInterval","TIME_24_SIMPLE","locale","DATETIME_SHORT","timeAgo","maxUnit","_dateTime$diffNow","diff","diffNow","shiftTo","apply","find","indexOf","Intl","RelativeTimeFormat","numeric","Math","trunc","as","displayShortDate","toFormat"],"sourceRoot":""}