{"version":3,"file":"js/956-d046ace8887edbe6a036.js","mappings":"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","sources":["webpack://app/./app/javascript/app/components/Header/HeaderMain.tsx","webpack://app/./app/javascript/app/pages/main/addresses/AddressShow.tsx","webpack://app/./app/javascript/app/pages/main/auth/ConfirmationShow.tsx","webpack://app/./app/javascript/app/pages/main/events/EventShow.tsx","webpack://app/./app/javascript/app/pages/main/forms/SessionForm.tsx","webpack://app/./app/javascript/app/pages/main/pages/PageShow.tsx","webpack://app/./app/javascript/app/components/AttributeListItem/index.tsx","webpack://app/./app/javascript/app/topologies/AttributeList/index.tsx","webpack://app/./app/javascript/app/details/PriorityDetail.tsx","webpack://app/./app/javascript/app/models/streets/StreetTable.tsx","webpack://app/./app/javascript/app/pages/main/postalCodes/tabs/PostalCodeStreetsTab.tsx","webpack://app/./app/javascript/app/pages/main/postalCodes/tabs/PostalCodeActionsTab.tsx","webpack://app/./app/javascript/app/pages/main/postalCodes/PostalCodeShow.tsx","webpack://app/./app/javascript/app/pages/main/static/EventsPage.tsx","webpack://app/./app/javascript/app/hooks/useFontsChecker.ts","webpack://app/./app/javascript/app/lib/helpers.ts","webpack://app/./app/javascript/app/hooks/useJSON.ts","webpack://app/./app/javascript/app/models/postalCodes/PostalCodeOverlay.tsx","webpack://app/./app/javascript/app/hooks/useEventsLayer.ts","webpack://app/./app/javascript/app/hooks/usePostalShapes.ts","webpack://app/./app/javascript/app/hooks/useSelectedPostalCode.ts","webpack://app/./app/javascript/app/components/Map/GlappMap.tsx","webpack://app/./app/javascript/app/components/SearchPostalForm.tsx","webpack://app/./app/javascript/app/pages/main/static/HomePage.tsx","webpack://app/./app/javascript/app/models/badges/EarnedBadgeGrid.tsx","webpack://app/./app/javascript/app/pages/main/static/tabs/ImpactBadgesTab.tsx","webpack://app/./app/javascript/app/pages/main/static/tabs/ImpactOverviewTab.tsx","webpack://app/./app/javascript/app/pages/main/static/ImpactPage.tsx","webpack://app/./app/javascript/app/pages/main/static/StartPage.tsx","webpack://app/./app/javascript/app/models/addresses/AddressTable.tsx","webpack://app/./app/javascript/app/pages/main/streets/StreetShow.tsx","webpack://app/./app/javascript/app/MainRoutes.tsx","webpack://app/./app/javascript/packs/Main.tsx"],"sourcesContent":["import { t } from 'i18next';\nimport { useLRS } from 'link-redux';\nimport React, {\n FC,\n MouseEventHandler,\n} from 'react';\n\nimport { useCurrentActor } from '../../hooks/useCurrentActor';\nimport { LogOut } from '../../middleware/actions';\nimport { NavbarItemInterface } from '../Navbar/NavbarItem';\n\nimport GroenLinksHeader from './GroenLinksHeader';\n\nconst HeaderMain: FC = () => {\n const { actorType, admin, organizer } = useCurrentActor();\n const signedIn = actorType !== 'GuestUser';\n const lrs = useLRS();\n const adminAccess = organizer || admin;\n\n const handleLogOut: MouseEventHandler = (e) => {\n e.preventDefault();\n\n lrs.actions.get(LogOut)();\n };\n\n const primaryItems: NavbarItemInterface[] = [\n {\n icon: 'home',\n label: t('menu.main.home'),\n path: '/',\n },\n {\n icon: 'calendar-check-o',\n label: t('menu.main.events'),\n path: signedIn ? '/static/events' : '/static/start#event',\n },\n {\n icon: 'rocket',\n label: t('menu.main.impact'),\n path: '/static/impact',\n },\n ];\n\n const secondaryItems = [\n {\n label: t('menu.main.help'),\n path: '/pages/help',\n },\n adminAccess && {\n label: t('menu.main.goToAdmin'),\n path: GLOBALS.adminRoot,\n },\n signedIn && {\n label: t('menu.main.signOut'),\n onClick: handleLogOut,\n path: '/logout',\n },\n ].filter(Boolean) as NavbarItemInterface[];\n\n return (\n \n );\n};\n\nexport default HeaderMain;\n","import { NamedNode } from '@ontologies/core';\nimport * as schema from '@ontologies/schema';\nimport {\n SubjectProp,\n useGlobalIds,\n useIds,\n useLRS,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\n\nimport ontola from '../../../../ontology/ontola';\nimport CardContent from '../../../components/Card/CardContent';\nimport EntryPointCardMain from '../../../components/EntryPoint/EntryPointCardMain';\nimport Heading from '../../../components/Heading';\nimport {\n HideDialog,\n Navigate,\n} from '../../../middleware/actions';\nimport teamGL from '../../../../ontology/teamGL';\nimport CardMain from '../../../topologies/Card/CardMain';\nimport Container from '../../../topologies/Container';\nimport LinkLoader from '../../../components/LinkLoader';\n\nconst AddressShow: FC = ({ subject }) => {\n const lrs = useLRS();\n const [street] = useIds(subject, teamGL.street);\n const [name] = useStrings(subject, schema.name);\n const [createAction] = useIds(subject, ontola.createAction);\n const [target] = useGlobalIds(createAction, schema.target);\n const goToStreet = React.useCallback(() => {\n lrs.actions.get(Navigate)(street as NamedNode);\n }, [lrs]);\n\n if (!target) {\n return ;\n }\n\n return (\n \n \n \n \n {name}\n \n {\n lrs.actions.get(HideDialog);\n goToStreet();\n }}\n />\n \n \n \n );\n};\n\nexport default AddressShow;\n","import * as schema from '@ontologies/schema';\nimport { useGlobalIds } from 'link-redux';\nimport React, { FC } from 'react';\nimport { useLocation } from 'react-router';\n\nimport appSlashless from '../../../../ontology/appSlashless';\nimport ontola from '../../../../ontology/ontola';\nimport { useDoneHandler } from '../../../components/Action/lib/helpers';\nimport EntryPointCardMain from '../../../components/EntryPoint/EntryPointCardMain';\nimport LinkLoader from '../../../components/LinkLoader';\nimport useIsLoading from '../../../hooks/useIsLoading';\n\nconst ConfirmationShow: FC = () => {\n const location = useLocation();\n const confirmation = appSlashless.ns(location.pathname + location.search);\n const [action] = useGlobalIds(confirmation, ontola.updateAction);\n const loading = useIsLoading(action);\n const onDoneHandler = useDoneHandler(action);\n const [target] = useGlobalIds(action, schema.target);\n\n if (loading) {\n return ;\n }\n\n return (\n \n );\n};\n\nexport default ConfirmationShow;\n","import * as rdfs from '@ontologies/rdfs';\nimport * as schema from '@ontologies/schema';\nimport {\n SubjectProp,\n useGlobalIds,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\n\nimport teamGL from '../../../../ontology/teamGL';\nimport CollectionProvider from '../../../components/Collection/CollectionProvider';\nimport LinkedDropdownMenu from '../../../components/DropdownMenu/LinkedDropdownMenu';\nimport EventStreetTable from '../../../models/eventStreets/EventStreetTable';\nimport ActionsBar from '../../../topologies/ActionsBar';\nimport CardContent from '../../../components/Card/CardContent';\nimport CardMainHeader from '../../../components/Card/CardMainHeader';\nimport Markdown from '../../../components/Markdown';\nimport CardMain from '../../../topologies/Card/CardMain';\nimport Container from '../../../topologies/Container';\nimport ontola from '../../../../ontology/ontola';\nimport EventDetails from '../../../models/events/EventDetails';\nimport EventSignUpButton from '../../../models/events/EventSignUpButton';\n\nconst EventShow: FC = ({ subject }) => {\n const [title] = useStrings(subject, [schema.name, rdfs.label]);\n const [text] = useStrings(subject, schema.text);\n const [signUpAction] = useGlobalIds(subject, ontola.signUpAction);\n const [eventStreets] = useGlobalIds(subject, teamGL.eventStreets);\n\n return (\n \n \n \n \n )}\n title={title}\n />\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default EventShow;\n","import { SomeNode } from 'link-lib';\nimport { TopologyContextType } from 'link-redux/dist-types/types';\nimport React, { FC } from 'react';\n\nimport SessionForm from '../../../components/Auth/SessionForm';\n\ninterface CreateSessionProps {\n subject: SomeNode;\n topologyCtx: TopologyContextType;\n}\n\nconst SessionFormPage: FC = ({\n subject,\n}) => (\n \n);\n\nexport default SessionFormPage;\n","import * as schema from '@ontologies/schema';\nimport { useStrings } from 'link-redux';\nimport React, { FC } from 'react';\nimport { useParams } from 'react-router';\n\nimport Document from '../../../components/Document';\nimport app from '../../../../ontology/app';\n\nconst PageShow: FC = () => {\n const { id } = useParams();\n const eventIRI = app.ns(`pages/${id}`);\n const [title] = useStrings(eventIRI, schema.name);\n const [text] = useStrings(eventIRI, schema.text);\n\n return (\n \n );\n};\n\nexport default PageShow;\n","\nimport React, { ReactNode } from 'react';\n\nexport interface AttributeListItemProps {\n label: string;\n children: ReactNode;\n}\n\nconst AttributeListItem: React.FC = ({\n label,\n children,\n}) => (\n \n \n \n \n \n {children}\n \n \n);\n\nexport default AttributeListItem;\n","import { makeStyles } from '@mui/styles';\nimport clsx from 'clsx';\nimport { TopologyFC } from 'link-redux';\nimport React from 'react';\n\nimport { LibroTheme } from '../../theme/types';\n\nconst useStyles = makeStyles((theme: LibroTheme) => ({\n attributeList: {\n '& a': {\n '&:hover': {\n textDecoration: 'underline',\n },\n display: 'block',\n fontWeight: 'normal',\n textDecoration: 'underline',\n },\n\n '& label': {\n color: theme.palette.grey.midDark,\n },\n\n '& td': {\n padding: '.3em 0',\n },\n\n '& th': {\n color: theme.palette.grey.midDark,\n fontWeight: 600,\n paddingRight: '1rem',\n textAlign: 'left',\n },\n\n '&:not($fullLabel)': {\n 'th': {\n width: '30%',\n },\n },\n marginBottom: '.6rem',\n },\n fullLabel: {},\n}));\n\ninterface AttributeListProps {\n fullLabel?: boolean;\n}\n\nconst AttributeList: TopologyFC = ({ children, fullLabel }) => {\n const classes = useStyles();\n\n const className = clsx({\n [classes.attributeList]: true,\n [classes.fullLabel]: fullLabel,\n });\n\n return (\n \n \n {children}\n \n
\n );\n};\n\nexport default AttributeList;\n","import { SomeTerm } from '@ontologies/core';\nimport React, { FC } from 'react';\n\nimport Progress from '../components/Progress';\nimport { tryParseInt } from '../lib/numbers';\n\ninterface PriorityProps {\n endSpacing?: boolean;\n priority: SomeTerm;\n}\n\nconst PriorityDetail: FC = ({ endSpacing, priority }) => {\n const value = tryParseInt(priority);\n\n if (!value) {\n return null;\n }\n\n return (\n \n );\n};\n\nexport default PriorityDetail;\n","import { NamedNode } from '@ontologies/core';\nimport * as schema from '@ontologies/schema';\nimport { t } from 'i18next';\nimport { SomeNode } from 'link-lib';\nimport { useLRS } from 'link-redux';\nimport React, { FC } from 'react';\n\nimport teamGL from '../../../ontology/teamGL';\nimport TableFrame, { Column } from '../../components/Collection/Frame/TableFrame';\nimport RelativeDate from '../../components/RelativeDate';\nimport { useCurrentActor } from '../../hooks/useCurrentActor';\nimport { formatNumber } from '../../lib/formatters';\nimport { tryParseInt } from '../../lib/numbers';\nimport {\n Navigate,\n StartSignIn,\n} from '../../middleware/actions';\nimport PriorityDetail from '../../details/PriorityDetail';\n\nconst columns: Column[] = [\n {\n label: t('table.streets.columns.name'),\n property: schema.name,\n },\n {\n label: t('table.streets.columns.priority'),\n property: teamGL.priority,\n render: ({ term }) => ,\n },\n {\n label: t('table.streets.columns.lastVisitedAt'),\n property: teamGL.lastVisitedAt,\n render: ({ term }) => ,\n },\n {\n label: t('table.streets.columns.pendingAddressesCount'),\n property: teamGL.pendingAddressesCount,\n render: ({ term }) => formatNumber(tryParseInt(term.value)),\n },\n];\n\nconst StreetTable: FC = () => {\n const lrs = useLRS();\n const { actorType } = useCurrentActor();\n\n const onRowClick = (resource: SomeNode) => {\n if (actorType === 'GuestUser') {\n lrs.actions.get(StartSignIn)(resource as NamedNode);\n } else {\n lrs.actions.get(Navigate)(resource as NamedNode);\n }\n };\n\n return (\n \n );\n};\n\nexport default StreetTable;\n","import rdf from '@ontologies/core';\nimport { SubjectProp } from 'link-redux';\nimport React, { FC } from 'react';\n\nimport CollectionProvider from '../../../../components/Collection/CollectionProvider';\nimport Container from '../../../../topologies/Container';\nimport { Size } from '../../../../theme/types';\nimport StreetTable from '../../../../models/streets/StreetTable';\n\nconst PostalCodeStreetsTab: FC = ({ subject }) => {\n const collectionIRI = rdf.namedNode(`${subject.value}/streets`);\n\n return (\n \n \n \n \n \n );\n};\n\nexport default PostalCodeStreetsTab;\n","import {\n SubjectProp,\n useNumbers,\n} from 'link-redux';\nimport React, { FC } from 'react';\n\nimport teamGL from '../../../../../ontology/teamGL';\nimport CollectionProvider from '../../../../components/Collection/CollectionProvider';\nimport EventCard from '../../../../models/events/EventCard';\nimport app from '../../../../../ontology/app';\nimport Container from '../../../../topologies/Container';\nimport { Size } from '../../../../theme/types';\n\nconst PostalCodeStreetsTab: FC = ({ subject }) => {\n const [postalDigits] = useNumbers(subject, teamGL.postalDigits);\n const collectionIRI = app.ns(`postal_codes/${postalDigits}/events?sort%5B%5D=http%253A%252F%252Fglapp.nl%252Ftgl%2523distance%3Dasc&sort%5B%5D=http%253A%252F%252Fglapp.nl%252FstartDate%3Dasc`);\n\n return (\n \n \n \n );\n};\n\nexport default PostalCodeStreetsTab;\n","import * as schema from '@ontologies/schema';\nimport { t } from 'i18next';\nimport {\n SubjectProp,\n useNumbers,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\nimport {\n TabContext,\n TabPanel,\n} from '@mui/lab';\n\nimport AttributeListItem from '../../../components/AttributeListItem';\nimport CardContent from '../../../components/Card/CardContent';\nimport Heading from '../../../components/Heading';\nimport AttributeList from '../../../topologies/AttributeList';\nimport CardMain from '../../../topologies/Card/CardMain';\nimport Container from '../../../topologies/Container';\nimport teamGL from '../../../../ontology/teamGL';\nimport TabBar from '../../../components/TabBar';\nimport useTabBar from '../../../components/TabBar/lib/useTabBar';\nimport HeadingContext from '../../../components/Heading/HeadingContext';\n\nimport PostalCodeStreetsTab from './tabs/PostalCodeStreetsTab';\nimport PostalCodeActionsTab from './tabs/PostalCodeActionsTab';\n\nconst PostalCodeShow: FC = ({ subject }) => {\n const [name] = useStrings(subject, schema.name);\n const [doors] = useNumbers(subject, teamGL.doors);\n const [volunteers] = useNumbers(subject, teamGL.volunteers);\n const [active] = useNumbers(subject, teamGL.active);\n const [currentTab, handleTabChange] = useTabBar('street');\n\n return (\n \n \n \n \n \n {name}\n \n

\n {t('postcode.description')}\n

\n \n \n {doors}\n \n \n {volunteers}\n \n \n {active}\n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n
\n );\n};\n\nexport default PostalCodeShow;\n","import { t } from 'i18next';\nimport React, { FC } from 'react';\n\nimport { useCurrentActor } from '../../../hooks/useCurrentActor';\nimport CollectionProvider from '../../../components/Collection/CollectionProvider';\nimport EventCard from '../../../models/events/EventCard';\nimport app from '../../../../ontology/app';\nimport Container from '../../../topologies/Container';\nimport PageHeader from '../../../topologies/PageHeader';\nimport PageHeaderCard from '../../../topologies/PageHeader/PageHeaderCard';\nimport { Size } from '../../../theme/types';\nimport { appName } from '../../../lib/config';\n\nimport glapp from './images/events/glapp.png';\n\nconst covers = {\n glapp,\n} as Record;\n\nconst getCollectionIRI = (postalDigits?: number) => {\n if (postalDigits) {\n return app.ns(`postal_codes/${postalDigits}/events?sort%5B%5D=http%253A%252F%252Fglapp.nl%252Ftgl%2523distance%3Dasc&sort%5B%5D=http%253A%252F%252Fglapp.nl%252FstartDate%3Dasc`);\n }\n \n return app.ns('future_events');\n};\n\nconst EventsPage: FC = () => {\n const { postalDigits } = useCurrentActor();\n\n const CollectionIRI = getCollectionIRI(postalDigits);\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default EventsPage;\n","import React from 'react';\n\nimport { handle } from '../lib/logging';\n\nconst TIMEOUT = 1000;\n\nconst useFontsChecker = (font: string): boolean => {\n if (!__CLIENT__) {\n return true;\n }\n\n const [fontLoaded, setFontLoaded] = React.useState(false);\n\n const loadFonts = React.useCallback(() => {\n Promise.race([\n (document as any).fonts.load(font),\n new Promise((_, reject) => setTimeout(() => reject, TIMEOUT)),\n ]).then((fonts: any[]) => {\n if (fonts.length > 0) {\n setFontLoaded(true);\n } else {\n window.setTimeout(loadFonts, TIMEOUT);\n }\n }).catch(() => {\n handle(new Error('Could not load fonts within timeout'));\n });\n }, []);\n\n React.useLayoutEffect(() => {\n loadFonts();\n }, []);\n\n return fontLoaded;\n};\n\nexport default useFontsChecker;\n","import { NamedNode } from '@ontologies/core';\nimport React from 'react';\nimport { useLocation, useNavigate } from 'react-router';\n\nimport app from '../../ontology/app';\n\nimport { retrievePath } from './iris';\n\nconst MAX_IN_STORAGE = 5;\n\nexport const postalCodeIri = (postalDigits: string | number): NamedNode => app.ns(`postal_codes/${postalDigits}`);\n\nexport type VisitPostalCode = (digits: string | number) => void;\n\nexport const useVisitPostalCode = (): {\n recentPostalCodes: string[];\n visitPostalCode: (digits: string | number) => void;\n} => {\n const location = useLocation();\n const navigate = useNavigate();\n const [recentPostalCodes, addRecentPostalCode] = React.useMemo<[string[], VisitPostalCode]>(() => {\n if (!__CLIENT__) {\n return [[], () => null];\n }\n\n const rawFromStorage = localStorage.getItem('recentPostalDigits');\n const current = rawFromStorage ? JSON.parse(rawFromStorage) : [];\n\n const add = (value: string | number) => {\n const normalizedValue = value.toString();\n const newValue = current.filter((v: string) => (v !== normalizedValue));\n newValue.unshift(normalizedValue);\n localStorage.setItem('recentPostalDigits', JSON.stringify(newValue.slice(0, MAX_IN_STORAGE)));\n };\n\n return [current, add];\n }, []);\n\n const hash = location.hash ?? '#';\n const visitPostalCode = React.useCallback((digits) => {\n if (digits) {\n addRecentPostalCode(digits);\n navigate(`${retrievePath(postalCodeIri(digits))}${hash}`);\n }\n }, []);\n\n return {\n recentPostalCodes,\n visitPostalCode,\n };\n};\n","import HttpStatus from 'http-status-codes';\nimport React from 'react';\n\nimport { handle } from '../lib/logging';\n\nexport const fetchJson = (path: string) => fetch(path, { headers: { Accept: 'application/json' } })\n .then((res) => {\n if (res.status === HttpStatus.OK) {\n return res.json();\n }\n\n return Promise.reject();\n })\n .catch((e) => {\n handle(e);\n });\n\nconst useJSON = (path: string | undefined): [data: T | undefined, loading: boolean, retry: () => void] => {\n const [json, setJSON] = React.useState(undefined);\n const [loading, setLoading] = React.useState(false);\n\n const reload = React.useCallback(() => {\n if (path) {\n setLoading(true);\n fetchJson(path).then((body) => {\n setJSON(body);\n }).finally(() => {\n setLoading(false);\n });\n }\n }, [path]);\n\n React.useEffect(() => {\n reload();\n }, [path, reload]);\n\n return [json, loading, reload];\n};\n\nexport default useJSON;\n","import IconButton from '@mui/material/IconButton';\nimport * as rdfs from '@ontologies/rdfs';\nimport * as schema from '@ontologies/schema';\nimport { t } from 'i18next';\nimport {\n SubjectProp,\n useGlobalIds,\n useNumbers,\n useResourceProperty,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\nimport FontAwesome from 'react-fontawesome';\n\nimport teamGL from '../../../ontology/teamGL';\nimport AttributeListItem from '../../components/AttributeListItem';\nimport Button from '../../components/Button';\nimport CardContent from '../../components/Card/CardContent';\nimport HeaderWithFloat from '../../components/HeaderWithFloat';\nimport HeadingContext from '../../components/Heading/HeadingContext';\nimport { LoadingCard } from '../../components/Loading';\nimport DepartmentDetail from '../../details/DepartmentDetail';\nimport PriorityDetail from '../../details/PriorityDetail';\nimport useIsLoading from '../../hooks/useIsLoading';\nimport { useVisitPostalCode } from '../../lib/helpers';\nimport AttributeList from '../../topologies/AttributeList';\nimport Card from '../../topologies/Card';\nimport ContentDetails from '../../topologies/ContentDetails';\n\ninterface PostalCodeDialogProps extends SubjectProp {\n onClose: () => void;\n}\n\nconst PostalCodeOverlay: FC = ({ onClose, subject }) => {\n const { visitPostalCode } = useVisitPostalCode();\n const [postalDigits] = useNumbers(subject, teamGL.postalDigits);\n const [doors] = useNumbers(subject, teamGL.doors);\n const [volunteers] = useNumbers(subject, teamGL.volunteers);\n const [active] = useNumbers(subject, teamGL.active);\n const [title] = useStrings(subject, [schema.name, rdfs.label]);\n const [department] = useGlobalIds(subject, teamGL.department);\n const [meanPriority] = useResourceProperty(subject, teamGL.meanPriority);\n const loading = useIsLoading(subject, department);\n\n if (loading) {\n return (\n \n );\n }\n\n const closeButton = (\n \n \n \n );\n\n return (\n \n \n \n \n \n \n \n \n \n \n {doors}\n \n \n {volunteers}\n \n \n {active}\n \n \n visitPostalCode(postalDigits)}\n >\n Aan de slag!\n \n \n \n \n );\n};\n\nexport default PostalCodeOverlay;\n","import { useTheme } from '@mui/material';\nimport { Feature } from 'ol';\nimport Point from 'ol/geom/Point';\nimport { fromLonLat } from 'ol/proj';\nimport React from 'react';\n\nimport { getStyles } from '../components/Map/lib/helpers';\nimport { Layer } from '../components/Map/lib/types';\nimport { Event } from '../components/Map/GlappMap';\n\nconst useEventsLayer = (eventsData: Event[]): Layer => {\n const [eventsFeatures, setEventsFeatures] = React.useState([]);\n const theme = useTheme();\n\n React.useEffect(() => {\n const newEvents: Feature[] = [];\n\n eventsData.forEach((event) => {\n const {\n image,\n iri,\n lat,\n lon,\n } = event;\n const {\n hoverStyle,\n style,\n } = getStyles(image, theme);\n const f = new Feature(new Point(fromLonLat([lon, lat])));\n f.setId(iri);\n f.setProperties({\n hoverStyle,\n style,\n });\n newEvents.push(f);\n });\n\n setEventsFeatures(newEvents);\n }, [eventsData.length]);\n\n return React.useMemo(() => ({\n clustered: true,\n features: eventsFeatures,\n }), [eventsFeatures]);\n};\n\nexport default useEventsLayer;\n","import { useFields } from 'link-redux';\nimport { Feature } from 'ol';\nimport GeoJSON from 'ol/format/GeoJSON';\nimport Fill from 'ol/style/Fill';\nimport Stroke from 'ol/style/Stroke';\nimport Style from 'ol/style/Style';\nimport React, { useState } from 'react';\n\nimport { postalCodeIri } from '../lib/helpers';\nimport { tryParseFloat } from '../lib/numbers';\nimport app from '../../ontology/app';\nimport { Priorities } from '../components/Map/GlappMap';\nimport teamGL from '../../ontology/teamGL';\n\nimport { fetchJson } from './useJSON';\n\nconst DEFAULT_MAX_PRIORITY = 5;\nconst DEFAULT_MIN_PRIORITY = 1;\nconst SHADE_COUNT = 10;\n\nconst hoverShapeStyle = new Style({\n fill: new Fill({\n color: 'rgba(117,117,117,0.22)',\n }),\n stroke: new Stroke({\n color: '#323232',\n width: 1,\n }),\n});\n\nexport interface PostalMapping {\n [postalDigits: string]: Feature[];\n}\n\ninterface ShapeStyle {\n [name: string]: Style;\n}\n\nconst shapeStyle: ShapeStyle = {};\n\nfor (let i = 0; i <= SHADE_COUNT; i++) {\n /* eslint-disable @typescript-eslint/no-magic-numbers */\n const fillColor = `hsla(120, 64%, ${(65 - (5 * i)).toFixed()}%, ${(0.2 + 0.06 * i).toFixed(2)})`;\n /* eslint-enable @typescript-eslint/no-magic-numbers */\n\n shapeStyle[i] = new Style({\n fill: new Fill({\n color: fillColor,\n }),\n });\n}\n\nconst styleForPostalCode = (\n feature: Feature,\n maxPriority: number,\n minPriority: number,\n pc4Priorities: Priorities,\n pc5Priorities: Priorities,\n) => {\n const { postcode5, postalDigits } = feature.getProperties();\n const priority = pc4Priorities[postalCodeIri(postalDigits).value] ?? pc5Priorities[postcode5];\n const range = maxPriority - minPriority;\n const prioIndex = (\n SHADE_COUNT * (Math.max(0, (Math.min(priority, maxPriority) - minPriority)) / range)\n ).toFixed();\n\n return shapeStyle[prioIndex];\n};\n\nconst useStyleForPostalCode = (pc4Priorities?: Priorities, pc5Priorities?: Priorities) => {\n const [maxPriorityProp] = useFields(app.c_a, teamGL.maxPriority);\n const maxPriority = tryParseFloat(maxPriorityProp);\n const [minPriorityProp] = useFields(app.c_a, teamGL.minPriority);\n const minPriority = tryParseFloat(minPriorityProp);\n\n const getStyle = React.useCallback((feature: Feature) => (\n pc4Priorities && pc5Priorities && styleForPostalCode(\n feature,\n maxPriority || DEFAULT_MAX_PRIORITY,\n minPriority || DEFAULT_MIN_PRIORITY,\n pc4Priorities,\n pc5Priorities,\n )\n ), [maxPriority, minPriority, pc4Priorities, pc5Priorities]);\n\n return getStyle;\n};\n\ninterface UsePostalShapes {\n pc4Priorities?: Priorities;\n pc5Priorities?: Priorities;\n shapeFile: string;\n}\n\nconst usePostalShapes = ({\n pc4Priorities,\n pc5Priorities,\n shapeFile,\n}: UsePostalShapes): [mapping: PostalMapping, loading: boolean] => {\n const getPostalCodeStyle = useStyleForPostalCode(pc4Priorities, pc5Priorities);\n const [postalShapes, setPostalShapes] = React.useState({});\n const [loading, setLoading] = useState(false);\n\n React.useEffect(() => {\n if (pc4Priorities && pc5Priorities) {\n setLoading(true);\n fetchJson(shapeFile).then((json) => {\n const postalMapping: PostalMapping = {};\n const features = (new GeoJSON()).readFeatures(json);\n features.forEach((f) => {\n f.setProperties({\n hoverStyle: () => hoverShapeStyle,\n style: getPostalCodeStyle,\n });\n\n const { postcode5, postalDigits } = f.getProperties();\n const digits = postalDigits ?? postcode5.slice(0, -1);\n\n if (!postalMapping[digits]) {\n postalMapping[digits] = [];\n }\n\n postalMapping[digits].push(f);\n });\n\n setPostalShapes(postalMapping);\n }).finally(() => {\n setLoading(false);\n });\n }\n }, [shapeFile, !!pc4Priorities, !!pc5Priorities]);\n\n return [postalShapes, loading];\n};\n\nexport default usePostalShapes;\n","import { Feature } from 'ol';\nimport { Coordinate } from 'ol/coordinate';\nimport { Extent, extend } from 'ol/extent';\nimport Fill from 'ol/style/Fill';\nimport Stroke from 'ol/style/Stroke';\nimport Style from 'ol/style/Style';\nimport React from 'react';\n\nimport { FOCUS_ZOOM } from '../components/Map/hooks/useMap';\nimport { ViewProps } from '../components/Map/lib/types';\n\nimport { PostalMapping } from './usePostalShapes';\n\nconst HALF = 0.5;\n\nconst selectedShapeStyle = new Style({\n fill: new Fill({\n color: 'hsla(120, 64%, 40%, 0.60)',\n }),\n stroke: new Stroke({\n color: '#323232',\n width: 5,\n }),\n});\n\ninterface UseSelectedPostalCode {\n postalShapes: PostalMapping;\n selectedPostalCode?: number;\n setView: (view: ViewProps) => void;\n setOverlayPosition: (position: Coordinate) => void;\n view: ViewProps;\n}\n\nconst useSelectedPostalCode = ({\n postalShapes,\n selectedPostalCode,\n setView,\n setOverlayPosition,\n view,\n}: UseSelectedPostalCode): [Feature[]] => {\n const [selectedFeatures, setSelectedFeatures] = React.useState([]);\n\n React.useEffect(() => {\n if (selectedPostalCode && postalShapes[selectedPostalCode]) {\n const cloned = postalShapes[selectedPostalCode].map((f) => {\n const clone = f.clone();\n clone.setProperties({\n hoverStyle: () => selectedShapeStyle,\n style: () => selectedShapeStyle,\n });\n\n return clone;\n });\n const features = postalShapes[selectedPostalCode];\n const initialExtend = features[0]?.getGeometry()?.getExtent();\n\n if (initialExtend) {\n const [minX, minY, maxX] = features.reduce((acc, next) => {\n const ext = next?.getGeometry()?.getExtent();\n\n return ext ? extend(acc, ext) : acc;\n }, initialExtend);\n\n const center = [HALF * (minX + maxX), minY];\n\n setOverlayPosition(center);\n setView({\n center,\n zoom: Math.max(view?.zoom || 0, FOCUS_ZOOM),\n });\n }\n\n setSelectedFeatures(cloned);\n } else {\n setSelectedFeatures([]);\n }\n }, [selectedPostalCode]);\n\n return [selectedFeatures];\n};\n\nexport default useSelectedPostalCode;\n","import rdf from '@ontologies/core';\nimport { useFields, useLRS } from 'link-redux';\nimport { Coordinate } from 'ol/coordinate';\nimport { fromLonLat, toLonLat } from 'ol/proj';\nimport React from 'react';\nimport { Box } from '@mui/material/index';\nimport Point from 'ol/geom/Point';\n\nimport { postalCodeIri } from '../../lib/helpers';\nimport useJSON from '../../hooks/useJSON';\nimport { tryParseFloat } from '../../lib/numbers';\nimport PostalCodeOverlay from '../../models/postalCodes/PostalCodeOverlay';\nimport { LoadingCard } from '../Loading';\nimport { ShowDialog } from '../../middleware/actions';\nimport app from '../../../ontology/app';\nimport teamGL from '../../../ontology/teamGL';\nimport useEventsLayer from '../../hooks/useEventsLayer';\nimport usePostalShapes from '../../hooks/usePostalShapes';\nimport useSelectedPostalCode from '../../hooks/useSelectedPostalCode';\nimport Spinner from '../Loading/Spinner';\n\nimport {\n ClusterSelectCallback,\n FeatureSelectCallback,\n MapVariant,\n MapViewChangeCallback,\n ViewProps,\n} from './lib/types';\nimport { FOCUS_ZOOM } from './hooks/useMap';\nimport MapCanvas from './components/MapCanvas';\nimport useMapboxTileUrl from './hooks/useMapboxTileUrl';\n\nconst DEFAULT_LAT = 52.1344;\nconst DEFAULT_LON = 5.1917;\nconst DEFAULT_ZOOM = 6.8;\nconst DETAILED_POSTAL_LEVEL = 7;\n\nconst PC5_SHAPES = 'assets/postal_codes_pc5.json';\nconst DETAILED_SHAPES = 'assets/postal_codes.json';\nconst SIMPLIFIED_SHAPES = 'assets/postal_codes_simplified.json';\n\nexport interface Priorities {\n [state: string]: number;\n}\n\nexport interface Event {\n image: string;\n iri: string;\n lat: number;\n lon: number;\n}\n\nexport interface EventStats {\n events: Event[];\n}\n\nexport interface PostalStats {\n pc4Priorities: Priorities;\n pc5Priorities: Priorities;\n}\n\nexport interface GlappMapProps {\n detailedMap?: boolean;\n selectedPostalCode?: number;\n setSelectedPostalCode: (postalDigits?: number) => void;\n}\n\nconst postalJSON = (detailedMap: boolean | undefined, zoom: number) => {\n if (detailedMap) {\n return PC5_SHAPES;\n }\n\n if (zoom > DETAILED_POSTAL_LEVEL) {\n return DETAILED_SHAPES;\n }\n\n return SIMPLIFIED_SHAPES;\n};\n\nconst GlappMap: React.FC = ({\n detailedMap,\n selectedPostalCode,\n setSelectedPostalCode,\n}) => {\n const lrs = useLRS();\n const [zoomProp] = useFields(app.c_a, teamGL.zoom);\n const zoom = tryParseFloat(zoomProp);\n const [latProp] = useFields(app.c_a, teamGL.centerLat);\n const centerLat = tryParseFloat(latProp);\n const [lonProp] = useFields(app.c_a, teamGL.centerLon);\n const centerLon = tryParseFloat(lonProp);\n const [view, setView] = React.useState({\n center: fromLonLat([centerLon ?? DEFAULT_LON, centerLat ?? DEFAULT_LAT]),\n zoom: zoom ?? DEFAULT_ZOOM,\n });\n const shapeFile = postalJSON(detailedMap, view?.zoom ?? 0);\n const [postalStats, loadingStats] = useJSON('postal_stats.json');\n const [eventStats, loadingEvents] = useJSON('event_stats.json');\n const [postalShapes, loadingShapes] = usePostalShapes({\n pc4Priorities: postalStats?.pc4Priorities,\n pc5Priorities: postalStats?.pc5Priorities,\n shapeFile: shapeFile,\n });\n const [overlayPosition, setOverlayPosition] = React.useState(undefined);\n const [selectedFeatures] = useSelectedPostalCode({\n postalShapes,\n selectedPostalCode,\n setOverlayPosition,\n setView,\n view,\n });\n const eventsLayer = useEventsLayer(eventStats?.events ?? []);\n const layers = React.useMemo(() => ([\n { features: Object.values(postalShapes).flat() },\n { features: selectedFeatures },\n eventsLayer,\n ]), [postalShapes, eventsLayer, selectedFeatures]);\n const mapboxTileURL = useMapboxTileUrl();\n const handleClusterSelect = React.useCallback((features, newCenter) => {\n const [lon, lat] = toLonLat((features[0].getGeometry() as Point).getCoordinates());\n lrs.actions.get(ShowDialog)(rdf.namedNode(`future_events?filter%5B%5D=http%253A%252F%252Fschema.org%252Flongitude%3D${lon}&filter%5B%5D=http%253A%252F%252Fschema.org%252Flatitude%3D${lat}`));\n setSelectedPostalCode(undefined);\n setOverlayPosition(newCenter);\n }, [lrs, setSelectedPostalCode, setOverlayPosition]);\n const handleSelect = React.useCallback((feature, newCenter) => {\n const { postcode5, postalDigits } = feature?.getProperties() || {};\n\n if (postalDigits) {\n setSelectedPostalCode(postalDigits);\n } else if (postcode5) {\n setSelectedPostalCode(parseInt(postcode5.slice(0, -1)));\n } else {\n const iri = feature?.getId() ? rdf.namedNode(feature.getId()) : null;\n\n if (iri) {\n lrs.actions.get(ShowDialog)(iri);\n }\n\n if (newCenter) {\n setOverlayPosition(newCenter);\n setView({\n center: newCenter,\n zoom: Math.max(view?.zoom || 0, feature ? FOCUS_ZOOM : 0),\n });\n }\n\n setSelectedPostalCode(undefined);\n }\n }, [setSelectedPostalCode, view.zoom]);\n const handleViewChange = React.useCallback((newCenter, newZoom) => {\n setView({\n center: newCenter,\n zoom: newZoom,\n });\n }, [setView]);\n\n const loading = loadingShapes || loadingStats || loadingEvents;\n\n const overlay = selectedPostalCode ? (\n handleSelect(undefined)}\n />\n ) : undefined;\n\n if (!mapboxTileURL) {\n return ;\n }\n\n return (\n
\n \n {loading && (\n \n \n \n )}\n
\n );\n};\n\nexport default GlappMap;\n","import SearchIcon from '@mui/icons-material/Search';\nimport IconButton from '@mui/material/IconButton';\nimport InputBase from '@mui/material/InputBase';\nimport { makeStyles } from '@mui/styles';\nimport React from 'react';\nimport { Box } from '@mui/material/index';\n\nimport { tryParseInt } from '../lib/numbers';\nimport { useVisitPostalCode } from '../lib/helpers';\nimport { LibroTheme } from '../theme/types';\n\nimport { MAX_POSTAL_DIGITS, MIN_POSTAL_DIGITS } from './FormInput/Input/PostalRangeInput';\n\nconst useStyles = makeStyles((theme: LibroTheme) => ({\n button: {\n color: theme.palette.secondary.main,\n cursor: 'pointer',\n fontWeight: 'bold',\n },\n form: {\n alignItems: 'center',\n display: 'flex',\n },\n iconButton: {\n padding: 10,\n },\n input: {\n flex: 1,\n padding: '2px 10px',\n },\n}));\n\nconst inputProps = {\n max: MAX_POSTAL_DIGITS,\n min: MIN_POSTAL_DIGITS,\n type: 'number',\n};\n\ninterface SearchPostalFormProps {\n setSelectedPostalCode?: (digits: number) => void;\n}\n\nconst SearchPostalForm: React.FC = ({\n children,\n setSelectedPostalCode,\n}) => {\n const classes = useStyles();\n const [postalCode, setPostalCode] = React.useState(undefined);\n const {\n recentPostalCodes,\n visitPostalCode,\n } = useVisitPostalCode();\n const ref = React.useRef();\n\n const handlePostalClick = setSelectedPostalCode || visitPostalCode;\n\n return (\n \n {\n e.preventDefault();\n\n if (postalCode && postalCode > MIN_POSTAL_DIGITS && postalCode < MAX_POSTAL_DIGITS) {\n ref.current?.blur();\n handlePostalClick(postalCode);\n }\n }}\n >\n {\n e.preventDefault();\n setPostalCode(tryParseInt(e.target.value));\n }}\n />\n \n \n \n \n \n

\n {recentPostalCodes.map((digits) => (\n {\n e.preventDefault();\n handlePostalClick(parseInt(digits));\n }}\n >\n {digits}\n \n )).reduce((result, item, index) => ([\n ...result,\n \n {result.length > 0 ? ', ' : ''}\n ,\n item,\n ]), [])}\n

\n {children}\n \n
\n );\n};\n\nexport default SearchPostalForm;\n","import {\n FormControlLabel,\n Switch,\n useMediaQuery, \n} from '@mui/material';\nimport {\n makeStyles,\n useTheme,\n} from '@mui/styles';\nimport * as schema from '@ontologies/schema';\nimport { t } from 'i18next';\nimport { useFields } from 'link-redux';\nimport React, {\n FC,\n useState,\n} from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport CardContent from '../../../components/Card/CardContent';\nimport CardError from '../../../components/Error/CardError';\nimport useFontsChecker from '../../../hooks/useFontsChecker';\nimport app from '../../../../ontology/app';\nimport { appConfig } from '../../../lib/config';\nimport Card from '../../../topologies/Card';\nimport { cardClassIdentifier } from '../../../topologies/Card/sharedCardStyles';\nimport { BreakPoints } from '../../../theme/types';\nimport useMapAccessToken from '../../../components/Map/hooks/useMapAccessToken';\nimport GlappMap from '../../../components/Map/GlappMap';\nimport emoji from '../../../lib/emoji';\nimport SearchPostalForm from '../../../components/SearchPostalForm';\n\nconst useStyles = makeStyles(() => ({\n wrapperFull: {\n [`& .${cardClassIdentifier}`]: {\n boxShadow: '0 2px 5px rgba(0, 0, 0, 0.5)',\n },\n '& p': {\n marginBottom: 0,\n },\n 'left': '5vw',\n 'paddingRight': '5vw',\n 'position': 'absolute',\n 'top': '5vw',\n 'zIndex': 900,\n },\n wrapperSmall: {\n [`& > .${cardClassIdentifier}`]: {\n '& p': {\n marginBottom: 0,\n },\n 'boxShadow': '0 2px 5px rgba(0, 0, 0, 0.5)',\n 'margin': 0,\n },\n 'left': '1em',\n 'maxWidth': '100%',\n 'position': 'absolute',\n 'right': '1em',\n 'top': '1em',\n 'zIndex': 900,\n },\n}));\n\nconst HomePage: FC = () => {\n const fontLoaded = useFontsChecker('normal 18px FontAwesome');\n const classes = useStyles();\n const theme: any = useTheme();\n\n const screenIsWide = useMediaQuery(theme.breakpoints.up(BreakPoints.Medium));\n const [name] = useFields(app.c_a, schema.givenName);\n const [detailedMap, setDetailedMap] = useState(false);\n\n const [selectedPostalCode, setSelectedPostalCodeRaw] = React.useState(undefined);\n const setSelectedPostalCode = React.useCallback((postalCode?: number) => {\n setSelectedPostalCodeRaw(postalCode);\n }, [setSelectedPostalCodeRaw]);\n const [mapToken, requestMapToken] = useMapAccessToken();\n\n if (mapToken.error) {\n return (\n \n \n \n \n \n );\n }\n\n return (\n \n \n \n {appConfig('appName')}\n \n \n {fontLoaded && !mapToken.loading && (\n \n )}\n
\n \n \n

\n {emoji(name ? t('home.greeting.withName', { name: name.value }) : t('home.greeting.withoutName'))}\n

\n
\n \n
\n {t('home.introMessage')}\n
\n \n {\n setDetailedMap(value);\n }}\n />\n )}\n label={t('home.moreDetail')}\n />\n \n
\n
\n
\n
\n );\n};\n\nexport default HomePage;\n","import {\n Box,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\nimport { makeStyles } from '@mui/styles';\nimport * as schema from '@ontologies/schema';\nimport {\n SubjectProp,\n useDates,\n useFields,\n useIds,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\n\nimport teamGL from '../../../ontology/teamGL';\nimport Heading, { HeadingSize } from '../../components/Heading';\nimport Image from '../../components/Image';\nimport Markdown from '../../components/Markdown';\nimport useIsLoading from '../../hooks/useIsLoading';\nimport { BreakPoints } from '../../theme/types';\n\nimport LoadingImage from './images/loading.png';\n\nconst PENDING_BADGE_OPACITY = 0.2;\n\nconst useStyles = makeStyles(() => ({\n heading: {\n fontSize: '1em!important',\n },\n headingSmall: {\n fontSize: '.9em!important',\n },\n}));\n\nconst EarnedBadgeGrid: FC = ({ subject }) => {\n const [badge] = useIds(subject, teamGL.badge);\n const [dateCreated] = useDates(subject, schema.dateCreated);\n const [image] = useFields(badge, schema.image);\n const [name] = useStrings(badge, schema.name);\n const [description] = useStrings(badge, schema.description);\n\n const loading = useIsLoading(badge);\n const theme = useTheme();\n const screenIsNarrow = useMediaQuery(theme.breakpoints.down(BreakPoints.Medium));\n const classes = useStyles();\n\n if (loading) {\n return (\n \n \n  \n \n \n \n );\n }\n\n return (\n \n \n {name}\n \n \n \n \n );\n};\n\nexport default EarnedBadgeGrid;\n","import React, { FC } from 'react';\n\nimport CollectionProvider from '../../../../components/Collection/CollectionProvider';\nimport EarnedBadgeGrid from '../../../../models/badges/EarnedBadgeGrid';\nimport app from '../../../../../ontology/app';\nimport Container from '../../../../topologies/Container';\nimport { Size } from '../../../../theme/types';\n\nconst ImpactBadgesTab: FC = () => {\n const collectionIRI = app.ns('earned_badges');\n\n return (\n \n \n \n );\n};\n\nexport default ImpactBadgesTab;\n","import { Box } from '@mui/material/index';\nimport { t } from 'i18next';\nimport React, { FC } from 'react';\n\nimport { useCurrentActor } from '../../../../hooks/useCurrentActor';\nimport CardContent from '../../../../components/Card/CardContent';\nimport Heading, { HeadingSize } from '../../../../components/Heading';\nimport Markdown from '../../../../components/Markdown';\nimport Progress from '../../../../components/Progress';\nimport Card from '../../../../topologies/Card';\nimport Container from '../../../../topologies/Container';\nimport { Size } from '../../../../theme/types';\n\nconst ImpactOverviewTab: FC = () => {\n const {\n actorType,\n activeDaysCount,\n doorsCount,\n nextDoorsTarget,\n } = useCurrentActor();\n\n return (\n \n \n {t('pages.impact.numberOfDoors')}\n \n \n \n \n {actorType === 'GuestUser' ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n )}\n \n );\n};\n\nexport default ImpactOverviewTab;\n","import {\n TabContext,\n TabPanel,\n} from '@mui/lab';\nimport { t } from 'i18next';\nimport React, { FC } from 'react';\n\nimport HeadingContext from '../../../components/Heading/HeadingContext';\nimport CardMain from '../../../topologies/Card/CardMain';\nimport Container from '../../../topologies/Container';\nimport PageHeader from '../../../topologies/PageHeader';\nimport PageHeaderCard from '../../../topologies/PageHeader/PageHeaderCard';\nimport { Size } from '../../../theme/types';\nimport TabBar from '../../../components/TabBar';\nimport useTabBar from '../../../components/TabBar/lib/useTabBar';\nimport { appName } from '../../../lib/config';\n\nimport ImpactBadgesTab from './tabs/ImpactBadgesTab';\nimport ImpactOverviewTab from './tabs/ImpactOverviewTab';\nimport glapp from './images/impact/glapp.jpg';\n\nconst covers = {\n glapp: glapp,\n} as Record;\n\nconst ImpactPage: FC = () => {\n const [currentTab, handleTabChange] = useTabBar('impact_overview');\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ImpactPage;\n","import { t } from 'i18next';\nimport React, { FC } from 'react';\n\nimport Markdown from '../../../components/Markdown';\nimport Document from '../../../components/Document';\nimport SearchPostalForm from '../../../components/SearchPostalForm';\n\nconst StartPage: FC = () => (\n \n \n \n \n);\n\nexport default StartPage;\n","import { NamedNode } from '@ontologies/core';\nimport * as schema from '@ontologies/schema';\nimport { t } from 'i18next';\nimport { SomeNode } from 'link-lib';\nimport { useLRS } from 'link-redux';\nimport React, { FC } from 'react';\n\nimport teamGL from '../../../ontology/teamGL';\nimport TableFrame, { Column } from '../../components/Collection/Frame/TableFrame';\nimport { useCurrentActor } from '../../hooks/useCurrentActor';\nimport {\n ShowDialog,\n StartSignIn,\n} from '../../middleware/actions';\n\nconst columns: Column[] = [\n {\n label: t('table.addresses.columns.address'),\n property: schema.name,\n sortProperty: teamGL.number,\n },\n];\n\nconst AddressTable: FC = () => {\n const lrs = useLRS();\n const { actorType } = useCurrentActor();\n\n const onRowClick = (subject: SomeNode) => {\n if (actorType === 'GuestUser') {\n lrs.actions.get(StartSignIn)(subject as NamedNode);\n } else {\n lrs.actions.get(ShowDialog)(subject);\n }\n };\n\n return (\n \n );\n};\n\nexport default AddressTable;\n","import * as schema from '@ontologies/schema';\nimport {\n SubjectProp,\n useIds,\n useLRS,\n useNumbers,\n useStrings,\n} from 'link-redux';\nimport React, { FC } from 'react';\nimport { Link } from 'react-router-dom';\nimport Box from '@mui/material/Box';\n\nimport CollectionProvider from '../../../components/Collection/CollectionProvider';\nimport CardContent from '../../../components/Card/CardContent';\nimport Heading from '../../../components/Heading';\nimport { entityIsLoaded } from '../../../lib/data';\nimport CardMain from '../../../topologies/Card/CardMain';\nimport Container from '../../../topologies/Container';\nimport app from '../../../../ontology/app';\nimport teamGL from '../../../../ontology/teamGL';\nimport AddressTable from '../../../models/addresses/AddressTable';\n\nconst StreetShow: FC = ({ subject }) => {\n const lrs = useLRS();\n const [name] = useStrings(subject, schema.name);\n const postalDigits = useNumbers(subject, teamGL.postalDigits);\n const [collectionIRI] = useIds(subject, teamGL.pendingAddresses);\n const preloadIris = [\n app.ns('enums/visits/result#neutral'),\n app.ns('enums/visits/spoke_somebody'),\n app.ns(`forms/survey_instances?postal_digits=${postalDigits}`),\n app.ns(`forms/visits?postal_digits=${postalDigits}`),\n ];\n\n preloadIris.forEach((iri) => {\n if (__CLIENT__ && !entityIsLoaded(lrs, iri)) {\n lrs.queueEntity(iri);\n }\n });\n\n return (\n \n \n \n \n {name}\n \n

\n \n {'Postcodegebied: '}\n {postalDigits.map((postalDigit) => (\n \n \n {postalDigit}\n \n \n ))}\n \n

\n
\n
\n \n \n \n
\n );\n};\n\nexport default StreetShow;\n","\nimport React, { FC } from 'react';\nimport {\n Route,\n Routes,\n} from 'react-router';\n\nimport RouteNotFound from './components/Routes/RouteNotFound';\nimport WrapRoute from './components/Routes/WrapRoute';\nimport EventCard from './models/events/EventCard';\nimport CollectionShow from './pages/admin/collections/CollectionShow';\nimport AddressShow from './pages/main/addresses/AddressShow';\nimport ConfirmationShow from './pages/main/auth/ConfirmationShow';\nimport EventShow from './pages/main/events/EventShow';\nimport FormShow from './pages/main/forms/FormShow';\nimport SessionForm from './pages/main/forms/SessionForm';\nimport PageShow from './pages/main/pages/PageShow';\nimport PostalCodeShow from './pages/main/postalCodes/PostalCodeShow';\nimport EventsPage from './pages/main/static/EventsPage';\nimport HomePage from './pages/main/static/HomePage';\nimport ImpactPage from './pages/main/static/ImpactPage';\nimport StartPage from './pages/main/static/StartPage';\nimport StreetShow from './pages/main/streets/StreetShow';\n\nconst MainRoutes: FC = () => (\n \n }\n path=\"/\"\n />\n }\n path=\"/static/start\"\n />\n }\n path=\"/static/events\"\n />\n }\n path=\"/static/impact\"\n />\n }\n path=\"/addresses/:id\"\n />\n }\n path=\"/u/session/new\"\n />\n }\n path=\"/u/registration/new\"\n />\n }\n path=\"/u/password/new\"\n />\n }\n path=\"/u/password/edit\"\n />\n }\n path=\"/u/confirmation\"\n />\n }\n path=\"/u/confirmation/new\"\n />\n }\n path=\"/u/otp_attempt/new\"\n />\n }\n path=\"/u/otp_secret/new\"\n />\n }\n path=\"/pages/:id\"\n />\n }\n path=\"/participants/:id/delete\"\n />\n }\n path=\"/potential_participants/:id/delete\"\n />\n }\n path=\"/postal_codes/:id\"\n />\n }\n path=\"/streets/:id\"\n />\n \n )}\n path=\"/events\"\n />\n }\n path=\"/events/:id\"\n />\n }\n path=\"/events/:id/sign_up\"\n />\n }\n path=\"/departments/new\"\n />\n }\n key=\"linkedResources\"\n path=\"*\"\n />\n \n);\n\nexport default MainRoutes;\n","import React, { FC } from 'react';\n\nimport './i18n';\n\nimport App from '../app/components/App/App';\nimport { Globals } from '../app/components/App/typescript';\nimport HeaderMain from '../app/components/Header/HeaderMain';\nimport MainRoutes from '../app/MainRoutes';\n\nconst Main: FC<{globals: Globals, seed: string}> = ({ globals, seed }) => {\n if (globals) {\n (global as any).GLOBALS = globals;\n }\n\n return (\n \n \n \n );\n};\n\nexport default Main;\n \n"],"names":["HeaderMain","actorType","admin","organizer","useCurrentActor","signedIn","lrs","useLRS","adminAccess","primaryItems","icon","label","t","path","secondaryItems","GLOBALS","adminRoot","onClick","e","preventDefault","actions","get","LogOut","filter","Boolean","React","GroenLinksHeader","_ref","subject","street","useIds","teamGL","name","useStrings","schema","createAction","ontola","target","useGlobalIds","goToStreet","Navigate","Container","CardMain","CardContent","endSpacing","Heading","EntryPointCardMain","onCancel","onDone","HideDialog","LinkLoader","ConfirmationShow","location","useLocation","confirmation","appSlashless","pathname","search","action","loading","useIsLoading","onDoneHandler","useDoneHandler","autoSubmit","title","rdfs","text","signUpAction","eventStreets","CardMainHeader","float","LinkedDropdownMenu","EventDetails","event","Markdown","ActionsBar","EventSignUpButton","CollectionProvider","EventStreetTable","SessionForm","PageShow","id","useParams","eventIRI","app","concat","Document","content","children","useStyles","makeStyles","theme","attributeList","textDecoration","display","fontWeight","color","palette","grey","midDark","padding","paddingRight","textAlign","width","marginBottom","fullLabel","classes","className","clsx","priority","value","tryParseInt","Progress","max","min","columns","property","render","term","PriorityDetail","_ref2","RelativeDate","date","_ref3","formatNumber","StreetTable","TableFrame","onRowClick","resource","StartSignIn","collectionIRI","rdf","size","Size","renderWhenEmpty","postalDigits","useNumbers","renderer","EventCard","doors","volunteers","active","currentTab","handleTabChange","useTabBar","TabContext","noSpacing","AttributeList","AttributeListItem","TabBar","tabs","HeadingContext","TabPanel","PostalCodeStreetsTab","PostalCodeActionsTab","covers","glapp","EventsPage","CollectionIRI","getCollectionIRI","PageHeader","background","appName","positionY","PageHeaderCard","font","fontLoaded","setFontLoaded","loadFonts","Promise","race","document","fonts","load","_","reject","setTimeout","then","length","window","catch","handle","Error","postalCodeIri","useVisitPostalCode","_location$hash","navigate","useNavigate","recentPostalCodes","addRecentPostalCode","rawFromStorage","localStorage","getItem","current","JSON","parse","normalizedValue","toString","newValue","v","unshift","setItem","stringify","slice","hash","visitPostalCode","digits","retrievePath","fetchJson","fetch","headers","Accept","res","status","HttpStatus","json","setJSON","undefined","setLoading","reload","body","finally","onClose","department","meanPriority","useResourceProperty","LoadingCard","closeButton","IconButton","type","FontAwesome","Card","HeaderWithFloat","ContentDetails","DepartmentDetail","Button","centered","eventsData","eventsFeatures","setEventsFeatures","useTheme","newEvents","forEach","image","iri","lat","lon","hoverStyle","style","getStyles","f","Feature","Point","fromLonLat","setId","setProperties","push","clustered","features","hoverShapeStyle","Style","fill","Fill","stroke","Stroke","shapeStyle","i","fillColor","toFixed","useStyleForPostalCode","pc4Priorities","pc5Priorities","maxPriorityProp","useFields","maxPriority","tryParseFloat","minPriorityProp","minPriority","feature","styleForPostalCode","_pc4Priorities$postal","postcode5","getProperties","range","prioIndex","Math","shapeFile","getPostalCodeStyle","postalShapes","setPostalShapes","useState","postalMapping","GeoJSON","readFeatures","selectedShapeStyle","selectedPostalCode","setView","setOverlayPosition","view","selectedFeatures","setSelectedFeatures","_features$","_features$$getGeometr","cloned","map","clone","initialExtend","getGeometry","getExtent","minX","minY","maxX","reduce","acc","next","_next$getGeometry","ext","extend","center","zoom","FOCUS_ZOOM","_view$zoom","_eventStats$events","detailedMap","setSelectedPostalCode","zoomProp","latProp","centerLat","lonProp","centerLon","postalJSON","postalStats","loadingStats","useJSON","eventStats","loadingEvents","loadingShapes","usePostalShapes","overlayPosition","useSelectedPostalCode","eventsLayer","useEventsLayer","events","layers","Object","values","flat","mapboxTileURL","useMapboxTileUrl","handleClusterSelect","newCenter","toLonLat","getCoordinates","ShowDialog","handleSelect","parseInt","getId","handleViewChange","newZoom","overlay","PostalCodeOverlay","MapCanvas","variant","MapVariant","onClusterSelect","onSelect","onViewChange","Box","overflow","position","right","top","zIndex","Spinner","button","secondary","main","cursor","form","alignItems","iconButton","input","flex","inputProps","MAX_POSTAL_DIGITS","MIN_POSTAL_DIGITS","postalCode","setPostalCode","ref","handlePostalClick","onSubmit","_ref$current","blur","InputBase","inputRef","placeholder","onChange","SearchIcon","justifyContent","key","result","item","index","wrapperFull","cardClassIdentifier","boxShadow","wrapperSmall","HomePage","useFontsChecker","screenIsWide","useMediaQuery","breakpoints","up","BreakPoints","setDetailedMap","setSelectedPostalCodeRaw","mapToken","requestMapToken","useMapAccessToken","error","CardError","caughtError","reloadLinkedObject","Helmet","appConfig","GlappMap","emoji","SearchPostalForm","FormControlLabel","control","Switch","checked","_e","heading","fontSize","headingSmall","badge","dateCreated","useDates","description","screenIsNarrow","down","HeadingSize","component","src","LoadingImage","sx","height","maxWidth","opacity","Image","linkedProp","ImpactBadgesTab","EarnedBadgeGrid","ImpactOverviewTab","activeDaysCount","doorsCount","nextDoorsTarget","progressLabel","listStyleType","ImpactPage","StartPage","sortProperty","AddressTable","entityIsLoaded","queueEntity","postalDigit","marginRight","Link","to","MainRoutes","Routes","Route","element","WrapRoute","AddressShow","FormShow","PostalCodeShow","StreetShow","CollectionShow","elementProps","EventShow","RouteNotFound","globals","seed","global","App","header"],"sourceRoot":""}