wpc    webpack/lib/cache/PackFileCacheStrategyPackContentItems`8X  ResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|D:\Projectos\Ondevoar\node_modules\next\head.js=|next/dist/client/components/noop-head|D:\Projectos\Ondevoar\node_modules\next\image.js=|next/dist/api/image|D:\Projectos\Ondevoar\node_modules\next\constants.js=|next/dist/api/constants|D:\Projectos\Ondevoar\node_modules\next\router.js=|next/dist/api/router|D:\Projectos\Ondevoar\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|D:\Projectos\Ondevoar\node_modules\next\script.js=|next/dist/api/script|D:\Projectos\Ondevoar\node_modules\next\link.js=|next/dist/api/link|D:\Projectos\Ondevoar\node_modules\next\navigation.js=|next/dist/api/navigation|D:\Projectos\Ondevoar\node_modules\next\headers.js=|next/dist/api/headers|D:\Projectos\Ondevoar\node_modules\next\og.js=|next/dist/api/og|D:\Projectos\Ondevoar\node_modules\next\server.js=|next/dist/api/server|D:\Projectos\Ondevoar\node_modules\next\document.js=|next/dist/api/document|D:\Projectos\Ondevoar\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\assert\assert.js|buffer=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\buffer\index.js|constants=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\domain-browser\index.js|http=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\stream-http\index.js|https=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\https-browserify\index.js|os=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\os-browserify\browser.js|path=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\punycode\punycode.js|process=|D:\Projectos\Ondevoar\node_modules\next\dist\build\polyfills\process.js|querystring=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\util\util.js|timers=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\tty-browserify\index.js|util=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\util\util.js|vm=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\events\events.js|setImmediate=|D:\Projectos\Ondevoar\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|D:\Projectos\Ondevoar\components\spots|request=|./LocationPickerR  Compilation/modules|javascript/auto|D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[5].use[1]!D:\Projectos\Ondevoar\components\spots\LocationPicker.tsx|app-pages-browserZ  FlagDependencyExportsPlugin|javascript/auto|D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[5].use[1]!D:\Projectos\Ondevoar\components\spots\LocationPicker.tsx|app-pages-browserl  Compilation/codeGeneration|javascript/auto|D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!D:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[16].oneOf[5].use[1]!D:\Projectos\Ondevoar\components\spots\SpotForm.tsx|app-pages-browser|5a525920cf2518d9|webpackCompilation/codeGeneration|webpack/runtime/jsonp chunk loading|webpackCompilation/assets|chunk2272Compilation/assets|chunk991TerserWebpackPlugin|static/chunks/991-d9dbd17c074df672.jsTerserWebpackPlugin|static/1OMqTlxho_qGCp7p6pYlM/_ssgManifest.jsTerserWebpackPlugin|server/middleware-build-manifest.jsTerserWebpackPlugin|static/1OMqTlxho_qGCp7p6pYlM/_buildManifest.jsRealContentHashPlugin|analyse|static/chunks/991-d9dbd17c074df672.jsRealContentHashPlugin|analyse|static/1OMqTlxho_qGCp7p6pYlM/_ssgManifest.jsRealContentHashPlugin|analyse|build-manifest.jsonRealContentHashPlugin|analyse|server/middleware-build-manifest.jsRealContentHashPlugin|analyse|static/1OMqTlxho_qGCp7p6pYlM/_buildManifest.jsRealContentHashPlugin|analyse|app-build-manifest.jsonRealContentHashPlugin|analyse|server/app/_not-found/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/auth/register/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/contacto/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/notams/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/perfil/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/spots/[id]/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/zonas-anac/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/auth/login/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/mapa/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/comunidade/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/privacidade/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/spots/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/spots/novo/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/termos/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/admin/reviews/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/admin/spots/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/admin/page_client-reference-manifest.jsRealContentHashPlugin|analyse|server/app/admin/users/page_client-reference-manifest.jsRealContentHashPlugin|generate|app-build-manifest.jsonRealContentHashPlugin|generate|server/app/_not-found/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/auth/register/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/contacto/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/notams/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/perfil/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/spots/[id]/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/zonas-anac/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/auth/login/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/mapa/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/comunidade/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/privacidade/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/spots/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/spots/novo/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/termos/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/admin/reviews/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/admin/spots/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/admin/page_client-reference-manifest.jsRealContentHashPlugin|generate|server/app/admin/users/page_client-reference-manifest.jswebpack/lib/cache/ResolverCachePlugin`_ResolverCachePluginCacheMisscontextpathrequestqueryfragmentmoduledirectoryfileinternalfullySpecifieddescriptionFilePathdescriptionFileDatadescriptionFileRootrelativePath__innerRequest_request__innerRequest_relativePath__innerRequestissuerissuerLayercompilerD:\Projectos\Ondevoar\components\spots\SpotForm.tsxapp-pages-browserclientD:\Projectos\Ondevoar\components\spots\LocationPicker.tsx D:\Projectos\Ondevoar\package.jsonnameversionprivatescriptsdependenciesdevDependenciesondevoar0.1.0	devbuildstartpostinstalllinttesttest:watchdeploy:builddeploy:migratenext devnext buildnode server.jsprisma generatenext lintvitest runvitestnpm run buildnpx prisma migrate deploy`@auth/prisma-adapter@next-auth/prisma-adapter@prisma/client@types/xml2jsbcryptjsframer-motionisomorphic-dompurifyleafletlucide-reactnextnext-authprismareactreact-domxml2jszod^2.11.2^1.0.7^5.7.0^0.4.14^2.4.3^11.0.0^2.3.0^1.9.4^0.263.1^14.0.0^4.24.0^18.2.0^0.6.2^3.22.4`@testing-library/jest-dom@testing-library/react@testing-library/user-event@types/bcryptjs@types/leaflet@types/mapbox-gl@types/node@types/react@types/react-dom@vitejs/plugin-react@vitest/coverage-v8eslinteslint-config-nextjsdomtypescript^6.1.5^14.1.2^14.5.1^2.4.2^1.9.21^3.4.1^20.10.018.3.31^18.2.17^4.2.0^4.1.9^8.55.0އ^23.0.15.9.3D:\Projectos\Ondevoar./components/spots/LocationPicker.tsxwebpack/lib/FileSystemInfoSnapshot@     iK]yBD:\Projectos\Ondevoar\components\spotsD:\Projectos\Ondevoar\componentsD:\ProjectosD:\safeTimetimestamphash! @PF]yB 0PF]yB48b2994ff9b65547! plyB `lyBe4d24fdfaf6c1cb9 ~ } | { zD:\Projectos\Ondevoar\components\spots\package.jsonD:\Projectos\Ondevoar\components\package.jsonD:\Projectos\Ondevoar\components\spots\LocationPickerD:\Projectos\Ondevoar\components\spots\LocationPicker.jsD:\Projectos\Ondevoar\components\spots\LocationPicker.mjs webpack/lib/NormalModulewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
exportsTypenamespace javascript/autozaliasmainFieldsfallback`!server-only$client-only$next/dist/compiled/client-only$next/dist/compiled/server-onlyD:\Projectos\Ondevoar\node_modules\next\head.jsD:\Projectos\Ondevoar\node_modules\next\image.jsD:\Projectos\Ondevoar\node_modules\next\constants.jsD:\Projectos\Ondevoar\node_modules\next\router.jsD:\Projectos\Ondevoar\node_modules\next\dynamic.jsD:\Projectos\Ondevoar\node_modules\next\script.jsD:\Projectos\Ondevoar\node_modules\next\link.jsD:\Projectos\Ondevoar\node_modules\next\navigation.jsD:\Projectos\Ondevoar\node_modules\next\headers.jsD:\Projectos\Ondevoar\node_modules\next\og.jsD:\Projectos\Ondevoar\node_modules\next\server.jsD:\Projectos\Ondevoar\node_modules\next\document.jsD:\Projectos\Ondevoar\node_modules\next\app.jsreact$react-dom$react/jsx-runtime$react/jsx-dev-runtime$react-dom/client$react-dom/server$react-dom/static$react-dom/static.edge$react-dom/static.browser$react-dom/server.edge$react-dom/server.browser$react-server-dom-webpack/client$react-server-dom-webpack/client.edge$react-server-dom-webpack/server.edge$react-server-dom-webpack/server.node$@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.tsnext/dist/compiled/server-only/indexnext/dist/compiled/client-only/indexnext/dist/client/components/noop-headnext/dist/api/imagenext/dist/api/constantsnext/dist/api/routernext/dist/api/app-dynamicnext/dist/api/scriptnext/dist/api/linknext/dist/api/navigationnext/dist/api/headersnext/dist/api/ognext/dist/api/servernext/dist/api/documentnext/dist/api/appnext/dist/compiled/reactnext/dist/compiled/react-domnext/dist/compiled/react/jsx-runtimenext/dist/compiled/react/jsx-dev-runtimenext/dist/compiled/react-dom/clientnext/dist/compiled/react-dom/servernext/dist/compiled/react-dom-experimental/staticnext/dist/compiled/react-dom-experimental/static.edgenext/dist/compiled/react-dom-experimental/static.browsernext/dist/build/webpack/alias/react-dom-server-edge.jsnext/dist/build/webpack/alias/react-dom-server-browser.jsnext/dist/compiled/react-server-dom-webpack/clientnext/dist/compiled/react-server-dom-webpack/client.edgenext/dist/compiled/react-server-dom-webpack/server.edgenext/dist/compiled/react-server-dom-webpack/server.nodenext/dist/client/dev/noop-turbopack-hmrbrowser!main`assertbufferconstantscryptodomainhttphttpsospunycodeprocessquerystringstreamstring_decodersystimersttyutilvmzlibeventssetImmediateD:\Projectos\Ondevoar\node_modules\next\dist\compiled\assert\assert.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\buffer\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\constants-browserify\constants.jsonD:\Projectos\Ondevoar\node_modules\next\dist\compiled\crypto-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\domain-browser\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\stream-http\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\https-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\os-browserify\browser.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\path-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\punycode\punycode.jsD:\Projectos\Ondevoar\node_modules\next\dist\build\polyfills\process.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\querystring-es3\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\stream-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\string_decoder\string_decoder.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\util\util.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\timers-browserify\main.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\tty-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\vm-browserify\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\browserify-zlib\index.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\events\events.jsD:\Projectos\Ondevoar\node_modules\next\dist\compiled\setimmediate\setImmediate.js`cacheableparsedfileDependenciescontextDependenciesmissingDependenciesbuildDependenciesvalueDependencieshassetsassetsInforscstrictexportsArgumenttopLevelDeclarationssnapshotwebpack/lib/util/LazySetD:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.jsD:\Projectos\Ondevoar\node_modules\next\dist\build\webpack\loaders\next-swc-loader.jswebpack/DefinePlugin_hashd1969482101bf97a139e32a2typeactionsisClientRef__webpack_exports__TILESPIN_HTMLLocationPicker	  QK]yB	Rwebpack/lib/dependencies/HarmonyCompatibilityDependencyd  webpack/lib/dependencies/ConstDependency`D@   aD@   A       `4webpack/lib/dependencies/HarmonyExportHeaderDependency	AM  $  	AF  $  a @   	`webpack/lib/dependencies/HarmonyImportSideEffectDependencyreact/jsx-runtimeaD@    `4webpack/lib/dependencies/HarmonyExportSpecifierDependency`a @   webpack/lib/dependencies/HarmonyImportSpecifierDependencyauseRefA     cA     cA     cA     cA8  >   cA`  f   c A     cuseStateA     c*2useEffectA     cA     cnnA     @   @   `jsxs_jsxsA     @   `@   `jsx_jsxA     @   `@   `A  	   @   `@   `A#  #   @   `@   `webpack/lib/AsyncDependenciesBlock`webpack/lib/util/registerExternalSerializeracorn/SourceLocationc"".webpack/lib/dependencies/ImportDependencyaA_  p  @c"". c$$4leaflet/dist/leaflet.cssA    `c$$4 webpack/lib/ModuleGraphRestoreProvidedDataprovidedcanMangleProvideterminalBindingexportsInfo
sourcesdataruntimeRequirementsjavascriptwebpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource    webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   (  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
aD_         F  L                  8  =  `  e              _  o                F          #  
#  __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__.___webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))   Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._buffersourcesizemapshash)  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const mapRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const markerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const LRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const tileLayerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const labelLayerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const skipSyncRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(false);
    const [isSatellite, setIsSatellite] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
{"finalSource":false}mapbufferedMap   ReplaceSourceRawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
  68130undefined132183undefined10941100undefined11971202__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12301235__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12661271__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12971302__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13361341__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13761381__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14141419__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14711478__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined14921500__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined16311647__webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))undefined17031736Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))undefined43474355__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined58735881__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined73867390__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined76677670__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined79417944__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined89678970__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined`]3          ^  x      :  ]        R      
    J  8    o      !  "  )#  s#  r'  '  (0,react.useRef)(0,react.useState)(0,react.useEffect)(0,jsx_runtime.jsxs)(0,jsx_runtime.jsx)   
// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
   QO  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourceI  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
c>>|~_                ,  .  _  a  u              	                J  Q            _              /  2  .  1                  e  h    "  $  1      M  Q         _   "  "  d#  g#  $  $  Y'  ]'  <(  ?(  )  )  (+  ++  ?,  B,  .  .  .  .  /  /  0  0  71  :1  3  3  T4  W4  Z5  X]5  ,7  07  y7  |7  &8  )8  9  9  z;  ~;  X<  [<  ?  ?  9B  <B  C  C  |G  G  G  G  H  H  __WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._W  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = __WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._();
    const tagInputRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const [form, setForm] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._([]);
    const [tagInput, setTagInput] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._("");
    const [error, setError] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(null);
    const [loading, setLoading] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
I  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
y  62124undefined126173undefined175218undefined220258undefined260300undefined302351undefined353373undefined906912undefined954962__WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._undefined991996__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined10331040__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12101217__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12601267__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13041311__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13541361__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined37393743__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined37453750__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._undefined40814084__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined42414245__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined43184321__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined45134517__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined46554658__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49104913__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined55145518__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined57755778__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined60406043__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined69366940__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined70137016__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined71997202__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined72047217__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._undefined76097613__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined77577761__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined79237926__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined82138216__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined88948898__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined90609063__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined93519354__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1007310077__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1030010303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1074410748__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1104811051__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1132711330__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1193711941__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1201412017__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1219412197__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1243212436__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1259912602__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1320013204__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1339613399__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1365813661__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1412414128__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1420114204__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1437414377__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1477814782__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1522615230__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1544815451__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1615116154__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1695316956__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1733417338__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1830018303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1830518310__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._undefined1861018613__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined`6_      D  i    g      :  _      2  |        S    :          %        ?      _  /  5      H               9!  "  #  #  #  $  $  %  >&  (  0)  )  *  <+  +  U.  .  /  /  1  1  _2  E3  Y4  4  7  N7  7  7  8  8  9  :  :   ;  V=  =  b>  >  ?  ?  A  B  ]B  B  QC  C  ,E  xE  4G  G  ZH  H  K`K  K  N  O  P  P  T  T  T  2U  ^V  V  (0,navigation.useRouter)proxy/* motion */.ELocationPickerui/* Button */.zxAsourcesizemapst  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
/* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = (0,react.useRef)(null);
    const mapRef = (0,react.useRef)(null);
    const markerRef = (0,react.useRef)(null);
    const LRef = (0,react.useRef)(null);
    const tileLayerRef = (0,react.useRef)(null);
    const labelLayerRef = (0,react.useRef)(null);
    const skipSyncRef = (0,react.useRef)(false);
    const [isSatellite, setIsSatellite] = (0,react.useState)(false);
    (0,react.useEffect)(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    (0,react.useEffect)(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    (0,react.useEffect)(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}

// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
/* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = (0,navigation.useRouter)();
    const tagInputRef = (0,react.useRef)(null);
    const [form, setForm] = (0,react.useState)({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = (0,react.useState)([]);
    const [tagInput, setTagInput] = (0,react.useState)("");
    const [error, setError] = (0,react.useState)(null);
    const [loading, setLoading] = (0,react.useState)(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(proxy/* motion */.E.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ (0,jsx_runtime.jsxs)("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)(ui/* Button */.zx, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
{"finalSource":true}mapbufferedMap`   ConcatSourceRawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
   ReplaceSource   ReplaceSourceRawSource  68130undefined132183undefined10941100undefined11971202__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12301235__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12661271__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12971302__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13361341__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13761381__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14141419__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14711478__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined14921500__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined16311647__webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))undefined17031736Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))undefined43474355__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined58735881__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined73867390__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined76677670__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined79417944__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined89678970__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  10751155(0,react.useRef)undefined11831263(0,react.useRef)undefined12941374(0,react.useRef)undefined14001480(0,react.useRef)undefined15141594(0,react.useRef)undefined16291709(0,react.useRef)undefined17421822(0,react.useRef)undefined18741958(0,react.useState)undefined19722058(0,react.useEffect)undefined51085194(0,react.useEffect)undefined67126798(0,react.useEffect)undefined83038379(0,jsx_runtime.jsxs)undefined86568730(0,jsx_runtime.jsx)undefined90019075(0,jsx_runtime.jsx)undefined1009810172(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
I  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
y  62124undefined126173undefined175218undefined220258undefined260300undefined302351undefined353373undefined906912undefined954962__WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._undefined991996__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined10331040__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12101217__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12601267__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13041311__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13541361__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined37393743__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined37453750__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._undefined40814084__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined42414245__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined43184321__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined45134517__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined46554658__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49104913__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined55145518__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined57755778__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined60406043__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined69366940__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined70137016__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined71997202__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined72047217__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._undefined76097613__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined77577761__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined79237926__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined82138216__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined88948898__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined90609063__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined93519354__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1007310077__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1030010303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1074410748__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1104811051__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1132711330__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1193711941__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1201412017__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1219412197__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1243212436__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1259912602__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1320013204__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1339613399__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1365813661__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1412414128__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1420114204__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1437414377__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1477814782__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1522615230__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1544815451__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1615116154__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1695316956__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1733417338__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1830018303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1830518310__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._undefined1861018613__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  641727(0,navigation.useRouter)undefined756836(0,react.useRef)undefined873957(0,react.useState)undefined11271211(0,react.useState)undefined12541338(0,react.useState)undefined13751459(0,react.useState)undefined15021586(0,react.useState)undefined39644040(0,jsx_runtime.jsxs)undefined40424104proxy/* motion */.Eundefined44354509(0,jsx_runtime.jsx)undefined46664742(0,jsx_runtime.jsxs)undefined48154889(0,jsx_runtime.jsx)undefined50815157(0,jsx_runtime.jsxs)undefined52955369(0,jsx_runtime.jsx)undefined56215695(0,jsx_runtime.jsx)undefined62966372(0,jsx_runtime.jsxs)undefined66296703(0,jsx_runtime.jsx)undefined69657039(0,jsx_runtime.jsx)undefined79328008(0,jsx_runtime.jsxs)undefined80818155(0,jsx_runtime.jsx)undefined83388412(0,jsx_runtime.jsx)undefined84148505LocationPickerundefined88978973(0,jsx_runtime.jsxs)undefined91179193(0,jsx_runtime.jsxs)undefined93559429(0,jsx_runtime.jsx)undefined97169790(0,jsx_runtime.jsx)undefined1046810544(0,jsx_runtime.jsxs)undefined1070610780(0,jsx_runtime.jsx)undefined1106811142(0,jsx_runtime.jsx)undefined1186111937(0,jsx_runtime.jsxs)undefined1216012234(0,jsx_runtime.jsx)undefined1267512751(0,jsx_runtime.jsxs)undefined1305113125(0,jsx_runtime.jsx)undefined1340113475(0,jsx_runtime.jsx)undefined1408214158(0,jsx_runtime.jsxs)undefined1423114305(0,jsx_runtime.jsx)undefined1448214556(0,jsx_runtime.jsx)undefined1479114867(0,jsx_runtime.jsxs)undefined1503015104(0,jsx_runtime.jsx)undefined1570215778(0,jsx_runtime.jsxs)undefined1597016044(0,jsx_runtime.jsx)undefined1630316377(0,jsx_runtime.jsx)undefined1684016916(0,jsx_runtime.jsxs)undefined1698917063(0,jsx_runtime.jsx)undefined1723317307(0,jsx_runtime.jsx)undefined1770817784(0,jsx_runtime.jsxs)undefined1822818304(0,jsx_runtime.jsxs)undefined1852218596(0,jsx_runtime.jsx)undefined1929619370(0,jsx_runtime.jsx)undefined2016920243(0,jsx_runtime.jsx)undefined2062120697(0,jsx_runtime.jsxs)undefined2165921733(0,jsx_runtime.jsx)undefined2173521810ui/* Button */.zxundefined2211022184(0,jsx_runtime.jsx)undefined``jsx_runtimejsx_runtime_namespaceObjectjsx_runtime_defaultreact_namespaceObjectreact_defaultnavigationproxyuihijLocationPicker_namespaceObjectspotsspots_namespaceObjectspots_defaultDIFFICULTIESSUGGESTED_TAGSSpotFormSpotForm_namespaceObject]__webpack_require__.d__webpack_require____webpack_require__.e__webpack_require__.truntime  // no baseURI

// object to store loaded and loading chunks
// undefined = chunk not loaded, null = chunk preloaded/prefetched
// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
var installedChunks = {
	2272: 0,
	7398: 0,
	7160: 0,
	903: 0,
	46: 0,
	7759: 0,
	9146: 0,
	1089: 0,
	3331: 0,
	3724: 0,
	7833: 0,
	5857: 0,
	7613: 0,
	1092: 0,
	5560: 0,
	3492: 0,
	5041: 0,
	7720: 0,
	9698: 0
};

__webpack_require__.f.j = function(chunkId, promises) {
		// JSONP chunk loading for javascript
		var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
		if(installedChunkData !== 0) { // 0 means "already installed".

			// a Promise means "currently loading".
			if(installedChunkData) {
				promises.push(installedChunkData[2]);
			} else {
				if(!/^(10(89|92)|3(331|492|724)|5([06]41|560|857)|7(160|398|613|720|759|833)|9(03|146|698)|2272|46)$/.test(chunkId)) {
					// setup Promise in chunk cache
					var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });
					promises.push(installedChunkData[2] = promise);

					// start chunk loading
					var url = __webpack_require__.p + __webpack_require__.u(chunkId);
					// create error before stack unwound to get useful stacktrace later
					var error = new Error();
					var loadingEnded = function(event) {
						if(__webpack_require__.o(installedChunks, chunkId)) {
							installedChunkData = installedChunks[chunkId];
							if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
							if(installedChunkData) {
								var errorType = event && (event.type === 'load' ? 'missing' : event.type);
								var realSrc = event && event.target && event.target.src;
								error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
								error.name = 'ChunkLoadError';
								error.type = errorType;
								error.request = realSrc;
								installedChunkData[1](error);
							}
						}
					};
					__webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
				} else installedChunks[chunkId] = 0;
			}
		}
};

// no prefetching

// no preloaded

// no HMR

// no HMR manifest

__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };

// install a JSONP callback for chunk loading
var webpackJsonpCallback = function(parentChunkLoadingFunction, data) {
	var chunkIds = data[0];
	var moreModules = data[1];
	var runtime = data[2];
	// add "moreModules" to the modules object,
	// then flag all "chunkIds" as loaded and fire callback
	var moduleId, chunkId, i = 0;
	if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {
		for(moduleId in moreModules) {
			if(__webpack_require__.o(moreModules, moduleId)) {
				__webpack_require__.m[moduleId] = moreModules[moduleId];
			}
		}
		if(runtime) var result = runtime(__webpack_require__);
	}
	if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
	for(;i < chunkIds.length; i++) {
		chunkId = chunkIds[i];
		if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
			installedChunks[chunkId][0]();
		}
		installedChunks[chunkId] = 0;
	}
	return __webpack_require__.O(result);
}

var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || [];
chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));   :  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({});
/************************************************************************/
webpack/lib/util/registerExternalSerializerwebpack-sources/PrefixSource/******/ 	_  // The module cache
var __webpack_module_cache__ = {};

// The require function
function __webpack_require__(moduleId) {
	// Check if module is in cache
	var cachedModule = __webpack_module_cache__[moduleId];
	if (cachedModule !== undefined) {
		return cachedModule.exports;
	}
	// Create a new module (and put it into the cache)
	var module = __webpack_module_cache__[moduleId] = {
		// no module.id needed
		// no module.loaded needed
		exports: {}
	};

	// Execute the module function
	var threw = true;
	try {
		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
		threw = false;
	} finally {
		if(threw) delete __webpack_module_cache__[moduleId];
	}

	// Return the exports of the module
	return module.exports;
}

// expose the modules object (__webpack_modules__)
__webpack_require__.m = __webpack_modules__;

K   /************************************************************************/
`!1   /* webpack/runtime/chunk loaded */
!function() {
	  var deferred = [];
__webpack_require__.O = function(result, chunkIds, fn, priority) {
	if(chunkIds) {
		priority = priority || 0;
		for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
		deferred[i] = [chunkIds, fn, priority];
		return;
	}
	var notFulfilled = Infinity;
	for (var i = 0; i < deferred.length; i++) {
		var chunkIds = deferred[i][0];
		var fn = deferred[i][1];
		var priority = deferred[i][2];
		var fulfilled = true;
		for (var j = 0; j < chunkIds.length; j++) {
			if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {
				chunkIds.splice(j--, 1);
			} else {
				fulfilled = false;
				if(priority < notFulfilled) notFulfilled = priority;
			}
		}
		if(fulfilled) {
			deferred.splice(i--, 1)
			var r = fn();
			if (r !== undefined) result = r;
		}
	}
	return result;
};E   
}();

/* webpack/runtime/compat get default export */
!function() {
	.  // getDefaultExport function for compatibility with non-harmony modules
__webpack_require__.n = function(module) {
	var getter = module && module.__esModule ?
		function() { return module['default']; } :
		function() { return module; };
	__webpack_require__.d(getter, { a: getter });
	return getter;
};H   
}();

/* webpack/runtime/create fake namespace object */
!function() {
	  var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };
var leafPrototypes;
// create a fake namespace object
// mode & 1: value is a module id, require it
// mode & 2: merge all properties of value into the ns
// mode & 4: return value when already ns object
// mode & 16: return value when it's Promise-like
// mode & 8|1: behave like require
__webpack_require__.t = function(value, mode) {
	if(mode & 1) value = this(value);
	if(mode & 8) return value;
	if(typeof value === 'object' && value) {
		if((mode & 4) && value.__esModule) return value;
		if((mode & 16) && typeof value.then === 'function') return value;
	}
	var ns = Object.create(null);
	__webpack_require__.r(ns);
	var def = {};
	leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
	for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
		Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });
	}
	def['default'] = function() { return value; };
	__webpack_require__.d(ns, def);
	return ns;
};C   
}();

/* webpack/runtime/define property getters */
!function() {
	9  // define getter functions for harmony exports
__webpack_require__.d = function(exports, definition) {
	for(var key in definition) {
		if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
			Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
		}
	}
};8   
}();

/* webpack/runtime/ensure chunk */
!function() {
	P  __webpack_require__.f = {};
// This file contains only the entry chunk.
// The chunk loading function for additional chunks
__webpack_require__.e = function(chunkId) {
	return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {
		__webpack_require__.f[key](chunkId, promises);
		return promises;
	}, []));
};I   
}();

/* webpack/runtime/get javascript chunk filename */
!function() {
	=  // This function allow to reference async chunks
__webpack_require__.u = function(chunkId) {
	// return url for filenames based on template
	return "static/chunks/" + (chunkId === 4212 ? "d0deef33" : chunkId) + "." + {"4212":"e57257da387d9849","5046":"7d4621b7644967f7","5641":"565870292348ace7"}[chunkId] + ".js";
};G   
}();

/* webpack/runtime/get mini-css chunk filename */
!function() {
	   // This function allow to reference async chunks
__webpack_require__.miniCssF = function(chunkId) {
	// return url for filenames based on template
	return "static/css/" + "70c5ec6d69f48dc0" + ".css";
};2   
}();

/* webpack/runtime/global */
!function() {
	   __webpack_require__.g = (function() {
	if (typeof globalThis === 'object') return globalThis;
	try {
		return this || new Function('return this')();
	} catch (e) {
		if (typeof window === 'object') return window;
	}
})();D   
}();

/* webpack/runtime/hasOwnProperty shorthand */
!function() {
	g   __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }7   
}();

/* webpack/runtime/load script */
!function() {
	  var inProgress = {};
var dataWebpackPrefix = "_N_E:";
// loadScript function to load a script via script tag
__webpack_require__.l = function(url, done, key, chunkId) {
	if(inProgress[url]) { inProgress[url].push(done); return; }
	var script, needAttach;
	if(key !== undefined) {
		var scripts = document.getElementsByTagName("script");
		for(var i = 0; i < scripts.length; i++) {
			var s = scripts[i];
			if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
		}
	}
	if(!script) {
		needAttach = true;
		script = document.createElement('script');

		script.charset = 'utf-8';
		script.timeout = 120;
		if (__webpack_require__.nc) {
			script.setAttribute("nonce", __webpack_require__.nc);
		}
		script.setAttribute("data-webpack", dataWebpackPrefix + key);

		script.src = __webpack_require__.tu(url);
	}
	inProgress[url] = [done];
	var onScriptComplete = function(prev, event) {
		// avoid mem leaks in IE.
		script.onerror = script.onload = null;
		clearTimeout(timeout);
		var doneFns = inProgress[url];
		delete inProgress[url];
		script.parentNode && script.parentNode.removeChild(script);
		doneFns && doneFns.forEach(function(fn) { return fn(event); });
		if(prev) return prev(event);
	}
	var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
	script.onerror = onScriptComplete.bind(null, script.onerror);
	script.onload = onScriptComplete.bind(null, script.onload);
	needAttach && document.head.appendChild(script);
};A   
}();

/* webpack/runtime/make namespace object */
!function() {
	  // define __esModule on exports
__webpack_require__.r = function(exports) {
	if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
		Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
	}
	Object.defineProperty(exports, '__esModule', { value: true });
};@   
}();

/* webpack/runtime/trusted types policy */
!function() {
	  var policy;
__webpack_require__.tt = function() {
	// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
	if (policy === undefined) {
		policy = {
			createScriptURL: function(url) { return url; }
		};
		if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {
			policy = trustedTypes.createPolicy("nextjs#bundler", policy);
		}
	}
	return policy;
};D   
}();

/* webpack/runtime/trusted types script url */
!function() {
	a   __webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); };6   
}();

/* webpack/runtime/publicPath */
!function() {
	"   __webpack_require__.p = "/_next/";7   
}();

/* webpack/runtime/css loading */
!function() {
	#	  var createStylesheet = function(chunkId, fullhref, resolve, reject) {
	var linkTag = document.createElement("link");

	linkTag.rel = "stylesheet";
	linkTag.type = "text/css";
	var onLinkComplete = function(event) {
		// avoid mem leaks.
		linkTag.onerror = linkTag.onload = null;
		if (event.type === 'load') {
			resolve();
		} else {
			var errorType = event && (event.type === 'load' ? 'missing' : event.type);
			var realHref = event && event.target && event.target.href || fullhref;
			var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
			err.code = "CSS_CHUNK_LOAD_FAILED";
			err.type = errorType;
			err.request = realHref;
			linkTag.parentNode.removeChild(linkTag)
			reject(err);
		}
	}
	linkTag.onerror = linkTag.onload = onLinkComplete;
	linkTag.href = fullhref;

	document.head.appendChild(linkTag);
	return linkTag;
};
var findStylesheet = function(href, fullhref) {
	var existingLinkTags = document.getElementsByTagName("link");
	for(var i = 0; i < existingLinkTags.length; i++) {
		var tag = existingLinkTags[i];
		var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
		if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;
	}
	var existingStyleTags = document.getElementsByTagName("style");
	for(var i = 0; i < existingStyleTags.length; i++) {
		var tag = existingStyleTags[i];
		var dataHref = tag.getAttribute("data-href");
		if(dataHref === href || dataHref === fullhref) return tag;
	}
};
var loadStylesheet = function(chunkId) {
	return new Promise(function(resolve, reject) {
		var href = __webpack_require__.miniCssF(chunkId);
		var fullhref = __webpack_require__.p + href;
		if(findStylesheet(href, fullhref)) return resolve();
		createStylesheet(chunkId, fullhref, resolve, reject);
	});
}
// object to store loaded CSS chunks
var installedCssChunks = {
	2272: 0
};

__webpack_require__.f.miniCss = function(chunkId, promises) {
	var cssChunks = {"5641":1};
	if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
	else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
		promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {
			installedCssChunks[chunkId] = 0;
		}, function(e) {
			delete installedCssChunks[chunkId];
			throw e;
		}));
	}
};

// no hmr?   
}();

/* webpack/runtime/jsonp chunk loading */
!function() {
	  // no baseURI

// object to store loaded and loading chunks
// undefined = chunk not loaded, null = chunk preloaded/prefetched
// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
var installedChunks = {
	2272: 0,
	7398: 0,
	7160: 0,
	903: 0,
	46: 0,
	7759: 0,
	9146: 0,
	1089: 0,
	3331: 0,
	3724: 0,
	7833: 0,
	5857: 0,
	7613: 0,
	1092: 0,
	5560: 0,
	3492: 0,
	5041: 0,
	7720: 0,
	9698: 0
};

__webpack_require__.f.j = function(chunkId, promises) {
		// JSONP chunk loading for javascript
		var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
		if(installedChunkData !== 0) { // 0 means "already installed".

			// a Promise means "currently loading".
			if(installedChunkData) {
				promises.push(installedChunkData[2]);
			} else {
				if(!/^(10(89|92)|3(331|492|724)|5([06]41|560|857)|7(160|398|613|720|759|833)|9(03|146|698)|2272|46)$/.test(chunkId)) {
					// setup Promise in chunk cache
					var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });
					promises.push(installedChunkData[2] = promise);

					// start chunk loading
					var url = __webpack_require__.p + __webpack_require__.u(chunkId);
					// create error before stack unwound to get useful stacktrace later
					var error = new Error();
					var loadingEnded = function(event) {
						if(__webpack_require__.o(installedChunks, chunkId)) {
							installedChunkData = installedChunks[chunkId];
							if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
							if(installedChunkData) {
								var errorType = event && (event.type === 'load' ? 'missing' : event.type);
								var realSrc = event && event.target && event.target.src;
								error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
								error.name = 'ChunkLoadError';
								error.type = errorType;
								error.request = realSrc;
								installedChunkData[1](error);
							}
						}
					};
					__webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
				} else installedChunks[chunkId] = 0;
			}
		}
};

// no prefetching

// no preloaded

// no HMR

// no HMR manifest

__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };

// install a JSONP callback for chunk loading
var webpackJsonpCallback = function(parentChunkLoadingFunction, data) {
	var chunkIds = data[0];
	var moreModules = data[1];
	var runtime = data[2];
	// add "moreModules" to the modules object,
	// then flag all "chunkIds" as loaded and fire callback
	var moduleId, chunkId, i = 0;
	if(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {
		for(moduleId in moreModules) {
			if(__webpack_require__.o(moreModules, moduleId)) {
				__webpack_require__.m[moduleId] = moreModules[moduleId];
			}
		}
		if(runtime) var result = runtime(__webpack_require__);
	}
	if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
	for(;i < chunkIds.length; i++) {
		chunkId = chunkIds[i];
		if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
			installedChunks[chunkId][0]();
		}
		installedChunks[chunkId] = 0;
	}
	return __webpack_require__.O(result);
}

var chunkLoadingGlobal = self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || [];
chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));   
}();

       
   /******/ })()
; `V   /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({});
/************************************************************************/
   PrefixSourceRawSource_  // The module cache
var __webpack_module_cache__ = {};

// The require function
function __webpack_require__(moduleId) {
	// Check if module is in cache
	var cachedModule = __webpack_module_cache__[moduleId];
	if (cachedModule !== undefined) {
		return cachedModule.exports;
	}
	// Create a new module (and put it into the cache)
	var module = __webpack_module_cache__[moduleId] = {
		// no module.id needed
		// no module.loaded needed
		exports: {}
	};

	// Execute the module function
	var threw = true;
	try {
		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
		threw = false;
	} finally {
		if(threw) delete __webpack_module_cache__[moduleId];
	}

	// Return the exports of the module
	return module.exports;
}

// expose the modules object (__webpack_modules__)
__webpack_require__.m = __webpack_modules__;

   /******/ 	RawSourceK   /************************************************************************/
!   PrefixSourceConcatSourceRawSource1   /* webpack/runtime/chunk loaded */
!function() {
  var deferred = [];
__webpack_require__.O = function(result, chunkIds, fn, priority) {
	if(chunkIds) {
		priority = priority || 0;
		for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
		deferred[i] = [chunkIds, fn, priority];
		return;
	}
	var notFulfilled = Infinity;
	for (var i = 0; i < deferred.length; i++) {
		var chunkIds = deferred[i][0];
		var fn = deferred[i][1];
		var priority = deferred[i][2];
		var fulfilled = true;
		for (var j = 0; j < chunkIds.length; j++) {
			if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {
				chunkIds.splice(j--, 1);
			} else {
				fulfilled = false;
				if(priority < notFulfilled) notFulfilled = priority;
			}
		}
		if(fulfilled) {
			deferred.splice(i--, 1)
			var r = fn();
			if (r !== undefined) result = r;
		}
	}
	return result;
};
   	RawSourceE   
}();

/* webpack/runtime/compat get default export */
!function() {
.  // getDefaultExport function for compatibility with non-harmony modules
__webpack_require__.n = function(module) {
	var getter = module && module.__esModule ?
		function() { return module['default']; } :
		function() { return module; };
	__webpack_require__.d(getter, { a: getter });
	return getter;
};H   
}();

/* webpack/runtime/create fake namespace object */
!function() {
  var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };
var leafPrototypes;
// create a fake namespace object
// mode & 1: value is a module id, require it
// mode & 2: merge all properties of value into the ns
// mode & 4: return value when already ns object
// mode & 16: return value when it's Promise-like
// mode & 8|1: behave like require
__webpack_require__.t = function(value, mode) {
	if(mode & 1) value = this(value);
	if(mode & 8) return value;
	if(typeof value === 'object' && value) {
		if((mode & 4) && value.__esModule) return value;
		if((mode & 16) && typeof value.then === 'function') return value;
	}
	var ns = Object.create(null);
	__webpack_require__.r(ns);
	var def = {};
	leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
	for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
		Object.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });
	}
	def['default'] = function() { return value; };
	__webpack_require__.d(ns, def);
	return ns;
};C   
}();

/* webpack/runtime/define property getters */
!function() {
9  // define getter functions for harmony exports
__webpack_require__.d = function(exports, definition) {
	for(var key in definition) {
		if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
			Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
		}
	}
};8   
}();

/* webpack/runtime/ensure chunk */
!function() {
P  __webpack_require__.f = {};
// This file contains only the entry chunk.
// The chunk loading function for additional chunks
__webpack_require__.e = function(chunkId) {
	return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {
		__webpack_require__.f[key](chunkId, promises);
		return promises;
	}, []));
};I   
}();

/* webpack/runtime/get javascript chunk filename */
!function() {
=  // This function allow to reference async chunks
__webpack_require__.u = function(chunkId) {
	// return url for filenames based on template
	return "static/chunks/" + (chunkId === 4212 ? "d0deef33" : chunkId) + "." + {"4212":"e57257da387d9849","5046":"7d4621b7644967f7","5641":"565870292348ace7"}[chunkId] + ".js";
};G   
}();

/* webpack/runtime/get mini-css chunk filename */
!function() {
   // This function allow to reference async chunks
__webpack_require__.miniCssF = function(chunkId) {
	// return url for filenames based on template
	return "static/css/" + "70c5ec6d69f48dc0" + ".css";
};2   
}();

/* webpack/runtime/global */
!function() {
   __webpack_require__.g = (function() {
	if (typeof globalThis === 'object') return globalThis;
	try {
		return this || new Function('return this')();
	} catch (e) {
		if (typeof window === 'object') return window;
	}
})();D   
}();

/* webpack/runtime/hasOwnProperty shorthand */
!function() {
g   __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }7   
}();

/* webpack/runtime/load script */
!function() {
  var inProgress = {};
var dataWebpackPrefix = "_N_E:";
// loadScript function to load a script via script tag
__webpack_require__.l = function(url, done, key, chunkId) {
	if(inProgress[url]) { inProgress[url].push(done); return; }
	var script, needAttach;
	if(key !== undefined) {
		var scripts = document.getElementsByTagName("script");
		for(var i = 0; i < scripts.length; i++) {
			var s = scripts[i];
			if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
		}
	}
	if(!script) {
		needAttach = true;
		script = document.createElement('script');

		script.charset = 'utf-8';
		script.timeout = 120;
		if (__webpack_require__.nc) {
			script.setAttribute("nonce", __webpack_require__.nc);
		}
		script.setAttribute("data-webpack", dataWebpackPrefix + key);

		script.src = __webpack_require__.tu(url);
	}
	inProgress[url] = [done];
	var onScriptComplete = function(prev, event) {
		// avoid mem leaks in IE.
		script.onerror = script.onload = null;
		clearTimeout(timeout);
		var doneFns = inProgress[url];
		delete inProgress[url];
		script.parentNode && script.parentNode.removeChild(script);
		doneFns && doneFns.forEach(function(fn) { return fn(event); });
		if(prev) return prev(event);
	}
	var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
	script.onerror = onScriptComplete.bind(null, script.onerror);
	script.onload = onScriptComplete.bind(null, script.onload);
	needAttach && document.head.appendChild(script);
};A   
}();

/* webpack/runtime/make namespace object */
!function() {
  // define __esModule on exports
__webpack_require__.r = function(exports) {
	if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
		Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
	}
	Object.defineProperty(exports, '__esModule', { value: true });
};@   
}();

/* webpack/runtime/trusted types policy */
!function() {
  var policy;
__webpack_require__.tt = function() {
	// Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
	if (policy === undefined) {
		policy = {
			createScriptURL: function(url) { return url; }
		};
		if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {
			policy = trustedTypes.createPolicy("nextjs#bundler", policy);
		}
	}
	return policy;
};D   
}();

/* webpack/runtime/trusted types script url */
!function() {
a   __webpack_require__.tu = function(url) { return __webpack_require__.tt().createScriptURL(url); };6   
}();

/* webpack/runtime/publicPath */
!function() {
"   __webpack_require__.p = "/_next/";7   
}();

/* webpack/runtime/css loading */
!function() {
#	  var createStylesheet = function(chunkId, fullhref, resolve, reject) {
	var linkTag = document.createElement("link");

	linkTag.rel = "stylesheet";
	linkTag.type = "text/css";
	var onLinkComplete = function(event) {
		// avoid mem leaks.
		linkTag.onerror = linkTag.onload = null;
		if (event.type === 'load') {
			resolve();
		} else {
			var errorType = event && (event.type === 'load' ? 'missing' : event.type);
			var realHref = event && event.target && event.target.href || fullhref;
			var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + realHref + ")");
			err.code = "CSS_CHUNK_LOAD_FAILED";
			err.type = errorType;
			err.request = realHref;
			linkTag.parentNode.removeChild(linkTag)
			reject(err);
		}
	}
	linkTag.onerror = linkTag.onload = onLinkComplete;
	linkTag.href = fullhref;

	document.head.appendChild(linkTag);
	return linkTag;
};
var findStylesheet = function(href, fullhref) {
	var existingLinkTags = document.getElementsByTagName("link");
	for(var i = 0; i < existingLinkTags.length; i++) {
		var tag = existingLinkTags[i];
		var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
		if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;
	}
	var existingStyleTags = document.getElementsByTagName("style");
	for(var i = 0; i < existingStyleTags.length; i++) {
		var tag = existingStyleTags[i];
		var dataHref = tag.getAttribute("data-href");
		if(dataHref === href || dataHref === fullhref) return tag;
	}
};
var loadStylesheet = function(chunkId) {
	return new Promise(function(resolve, reject) {
		var href = __webpack_require__.miniCssF(chunkId);
		var fullhref = __webpack_require__.p + href;
		if(findStylesheet(href, fullhref)) return resolve();
		createStylesheet(chunkId, fullhref, resolve, reject);
	});
}
// object to store loaded CSS chunks
var installedCssChunks = {
	2272: 0
};

__webpack_require__.f.miniCss = function(chunkId, promises) {
	var cssChunks = {"5641":1};
	if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
	else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
		promises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {
			installedCssChunks[chunkId] = 0;
		}, function(e) {
			delete installedCssChunks[chunkId];
			throw e;
		}));
	}
};

// no hmr?   
}();

/* webpack/runtime/jsonp chunk loading */
!function() {
   
}();

    	   RawSource   
   /******/ })()
;    webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSource`webpack/lib/util/registerExternalSerializerwebpack-sources/RawSourceW   (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[991],{

/***/ 1988:
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource    webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource    webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   (  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
aD_         F  L                  8  =  `  e              _  o                F          #  
#  __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__.___webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))   Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._buffersourcesizemapshash)  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const mapRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const markerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const LRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const tileLayerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const labelLayerRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const skipSyncRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(false);
    const [isSatellite, setIsSatellite] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
{"finalSource":false}mapbufferedMap   ReplaceSourceRawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
  68130undefined132183undefined10941100undefined11971202__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12301235__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12661271__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12971302__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13361341__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13761381__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14141419__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14711478__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined14921500__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined16311647__webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))undefined17031736Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))undefined43474355__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined58735881__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined73867390__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined76677670__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined79417944__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined89678970__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined`]3          ^  x      :  ]        R      
    J  8    o      !  "  )#  s#  r'  '  (0,react.useRef)(0,react.useState)(0,react.useEffect)(0,jsx_runtime.jsxs)(0,jsx_runtime.jsx)   
// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
   QO  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourceI  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
c>>|~_                ,  .  _  a  u              	                J  Q            _              /  2  .  1                  e  h    "  $  1      M  Q         _   "  "  d#  g#  $  $  Y'  ]'  <(  ?(  )  )  (+  ++  ?,  B,  .  .  .  .  /  /  0  0  71  :1  3  3  T4  W4  Z5  X]5  ,7  07  y7  |7  &8  )8  9  9  z;  ~;  X<  [<  ?  ?  9B  <B  C  C  |G  G  G  G  H  H  __WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__.___WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._W  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = __WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._();
    const tagInputRef = __WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._(null);
    const [form, setForm] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._([]);
    const [tagInput, setTagInput] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._("");
    const [error, setError] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(null);
    const [loading, setLoading] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
I  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
y  62124undefined126173undefined175218undefined220258undefined260300undefined302351undefined353373undefined906912undefined954962__WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._undefined991996__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined10331040__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12101217__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12601267__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13041311__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13541361__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined37393743__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined37453750__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._undefined40814084__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined42414245__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined43184321__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined45134517__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined46554658__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49104913__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined55145518__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined57755778__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined60406043__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined69366940__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined70137016__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined71997202__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined72047217__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._undefined76097613__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined77577761__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined79237926__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined82138216__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined88948898__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined90609063__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined93519354__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1007310077__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1030010303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1074410748__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1104811051__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1132711330__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1193711941__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1201412017__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1219412197__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1243212436__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1259912602__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1320013204__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1339613399__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1365813661__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1412414128__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1420114204__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1437414377__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1477814782__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1522615230__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1544815451__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1615116154__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1695316956__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1733417338__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1830018303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1830518310__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._undefined1861018613__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined`6_      D  i    g      :  _      2  |        S    :          %        ?      _  /  5      H               9!  "  #  #  #  $  $  %  >&  (  0)  )  *  <+  +  U.  .  /  /  1  1  _2  E3  Y4  4  7  N7  7  7  8  8  9  :  :   ;  V=  =  b>  >  ?  ?  A  B  ]B  B  QC  C  ,E  xE  4G  G  ZH  H  K`K  K  N  O  P  P  T  T  T  2U  ^V  V  (0,navigation.useRouter)proxy/* motion */.ELocationPickerui/* Button */.zxbuffersourcesizemapshasht  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
/* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = (0,react.useRef)(null);
    const mapRef = (0,react.useRef)(null);
    const markerRef = (0,react.useRef)(null);
    const LRef = (0,react.useRef)(null);
    const tileLayerRef = (0,react.useRef)(null);
    const labelLayerRef = (0,react.useRef)(null);
    const skipSyncRef = (0,react.useRef)(false);
    const [isSatellite, setIsSatellite] = (0,react.useState)(false);
    (0,react.useEffect)(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    (0,react.useEffect)(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    (0,react.useEffect)(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}

// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
/* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = (0,navigation.useRouter)();
    const tagInputRef = (0,react.useRef)(null);
    const [form, setForm] = (0,react.useState)({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = (0,react.useState)([]);
    const [tagInput, setTagInput] = (0,react.useState)("");
    const [error, setError] = (0,react.useState)(null);
    const [loading, setLoading] = (0,react.useState)(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(proxy/* motion */.E.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ (0,jsx_runtime.jsxs)("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)(ui/* Button */.zx, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
{"finalSource":true}mapbufferedMap`   ConcatSourceRawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
   ReplaceSource   ReplaceSourceRawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
  68130undefined132183undefined10941100undefined11971202__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12301235__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12661271__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12971302__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13361341__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13761381__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14141419__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14711478__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined14921500__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined16311647__webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))undefined17031736Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))undefined43474355__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined58735881__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined73867390__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined76677670__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined79417944__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined89678970__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  10751155(0,react.useRef)undefined11831263(0,react.useRef)undefined12941374(0,react.useRef)undefined14001480(0,react.useRef)undefined15141594(0,react.useRef)undefined16291709(0,react.useRef)undefined17421822(0,react.useRef)undefined18741958(0,react.useState)undefined19722058(0,react.useEffect)undefined51085194(0,react.useEffect)undefined67126798(0,react.useEffect)undefined83038379(0,jsx_runtime.jsxs)undefined86568730(0,jsx_runtime.jsx)undefined90019075(0,jsx_runtime.jsx)undefined1009810172(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
I  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
y  62124undefined126173undefined175218undefined220258undefined260300undefined302351undefined353373undefined906912undefined954962__WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._undefined991996__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined10331040__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12101217__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12601267__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13041311__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13541361__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined37393743__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined37453750__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._undefined40814084__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined42414245__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined43184321__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined45134517__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined46554658__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49104913__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined55145518__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined57755778__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined60406043__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined69366940__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined70137016__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined71997202__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined72047217__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._undefined76097613__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined77577761__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined79237926__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined82138216__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined88948898__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined90609063__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined93519354__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1007310077__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1030010303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1074410748__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1104811051__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1132711330__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1193711941__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1201412017__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1219412197__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1243212436__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1259912602__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1320013204__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1339613399__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1365813661__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1412414128__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1420114204__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1437414377__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1477814782__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1522615230__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1544815451__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1615116154__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1695316956__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1733417338__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1830018303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1830518310__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._undefined1861018613__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  641727(0,navigation.useRouter)undefined756836(0,react.useRef)undefined873957(0,react.useState)undefined11271211(0,react.useState)undefined12541338(0,react.useState)undefined13751459(0,react.useState)undefined15021586(0,react.useState)undefined39644040(0,jsx_runtime.jsxs)undefined40424104proxy/* motion */.Eundefined44354509(0,jsx_runtime.jsx)undefined46664742(0,jsx_runtime.jsxs)undefined48154889(0,jsx_runtime.jsx)undefined50815157(0,jsx_runtime.jsxs)undefined52955369(0,jsx_runtime.jsx)undefined56215695(0,jsx_runtime.jsx)undefined62966372(0,jsx_runtime.jsxs)undefined66296703(0,jsx_runtime.jsx)undefined69657039(0,jsx_runtime.jsx)undefined79328008(0,jsx_runtime.jsxs)undefined80818155(0,jsx_runtime.jsx)undefined83388412(0,jsx_runtime.jsx)undefined84148505LocationPickerundefined88978973(0,jsx_runtime.jsxs)undefined91179193(0,jsx_runtime.jsxs)undefined93559429(0,jsx_runtime.jsx)undefined97169790(0,jsx_runtime.jsx)undefined1046810544(0,jsx_runtime.jsxs)undefined1070610780(0,jsx_runtime.jsx)undefined1106811142(0,jsx_runtime.jsx)undefined1186111937(0,jsx_runtime.jsxs)undefined1216012234(0,jsx_runtime.jsx)undefined1267512751(0,jsx_runtime.jsxs)undefined1305113125(0,jsx_runtime.jsx)undefined1340113475(0,jsx_runtime.jsx)undefined1408214158(0,jsx_runtime.jsxs)undefined1423114305(0,jsx_runtime.jsx)undefined1448214556(0,jsx_runtime.jsx)undefined1479114867(0,jsx_runtime.jsxs)undefined1503015104(0,jsx_runtime.jsx)undefined1570215778(0,jsx_runtime.jsxs)undefined1597016044(0,jsx_runtime.jsx)undefined1630316377(0,jsx_runtime.jsx)undefined1684016916(0,jsx_runtime.jsxs)undefined1698917063(0,jsx_runtime.jsx)undefined1723317307(0,jsx_runtime.jsx)undefined1770817784(0,jsx_runtime.jsxs)undefined1822818304(0,jsx_runtime.jsxs)undefined1852218596(0,jsx_runtime.jsx)undefined1929619370(0,jsx_runtime.jsx)undefined2016920243(0,jsx_runtime.jsx)undefined2062120697(0,jsx_runtime.jsxs)undefined2165921733(0,jsx_runtime.jsx)undefined2173521810ui/* Button */.zxundefined2211022184(0,jsx_runtime.jsx)undefined
   

/***/ })buffersourcesizemapshash2u  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
/* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = (0,react.useRef)(null);
    const mapRef = (0,react.useRef)(null);
    const markerRef = (0,react.useRef)(null);
    const LRef = (0,react.useRef)(null);
    const tileLayerRef = (0,react.useRef)(null);
    const labelLayerRef = (0,react.useRef)(null);
    const skipSyncRef = (0,react.useRef)(false);
    const [isSatellite, setIsSatellite] = (0,react.useState)(false);
    (0,react.useEffect)(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    (0,react.useEffect)(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    (0,react.useEffect)(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}

// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
/* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = (0,navigation.useRouter)();
    const tagInputRef = (0,react.useRef)(null);
    const [form, setForm] = (0,react.useState)({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = (0,react.useState)([]);
    const [tagInput, setTagInput] = (0,react.useState)("");
    const [error, setError] = (0,react.useState)(null);
    const [loading, setLoading] = (0,react.useState)(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(proxy/* motion */.E.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ (0,jsx_runtime.jsxs)("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)(ui/* Button */.zx, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}


/***/ }){"finalSource":true}mapbufferedMap`   ConcatSourceRawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
   ReplaceSource   ReplaceSourceRawSource$  /* __next_internal_client_entry_do_not_use__ LocationPicker auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useRef, useState } from "react";
const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
export function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = useRef(null);
    const mapRef = useRef(null);
    const markerRef = useRef(null);
    const LRef = useRef(null);
    const tileLayerRef = useRef(null);
    const labelLayerRef = useRef(null);
    const skipSyncRef = useRef(false);
    const [isSatellite, setIsSatellite] = useState(false);
    useEffect(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await import("leaflet")).default;
            // @ts-ignore
            await import("leaflet/dist/leaflet.css");
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    useEffect(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    useEffect(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ _jsxs("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ _jsx("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ _jsx("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}
  68130undefined132183undefined10941100undefined11971202__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12301235__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12661271__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined12971302__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13361341__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined13761381__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14141419__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined14711478__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined14921500__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined16311647__webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))undefined17031736Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23))undefined43474355__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined58735881__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined73867390__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined76677670__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined79417944__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined89678970__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  10751155(0,react.useRef)undefined11831263(0,react.useRef)undefined12941374(0,react.useRef)undefined14001480(0,react.useRef)undefined15141594(0,react.useRef)undefined16291709(0,react.useRef)undefined17421822(0,react.useRef)undefined18741958(0,react.useState)undefined19722058(0,react.useEffect)undefined51085194(0,react.useEffect)undefined67126798(0,react.useEffect)undefined83038379(0,jsx_runtime.jsxs)undefined86568730(0,jsx_runtime.jsx)undefined90019075(0,jsx_runtime.jsx)undefined1009810172(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
I  /* __next_internal_client_entry_do_not_use__ SpotForm auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React, { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { motion } from "framer-motion";
import { Button } from "@/components/ui";
import { LocationPicker } from "./LocationPicker";
import "./spots.css";
const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
export function SpotForm() {
    const router = useRouter();
    const tagInputRef = useRef(null);
    const [form, setForm] = useState({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = useState([]);
    const [tagInput, setTagInput] = useState("");
    const [error, setError] = useState(null);
    const [loading, setLoading] = useState(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(motion.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ _jsx("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ _jsx("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ _jsx(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ _jsx("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ _jsx("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ _jsx("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ _jsx("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ _jsx("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ _jsxs("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ _jsx("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ _jsxs("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ _jsxs("div", {
                children: [
                    /*#__PURE__*/ _jsx("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ _jsx("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ _jsxs("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ _jsx("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ _jsx("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ _jsx("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ _jsxs("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ _jsx(Button, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ _jsx("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}
y  62124undefined126173undefined175218undefined220258undefined260300undefined302351undefined353373undefined906912undefined954962__WEBPACK_MODULE_REFERENCE__2_5b22757365526f75746572225d_call_directImport_asiSafe1__._undefined991996__WEBPACK_MODULE_REFERENCE__1_5b22757365526566225d_call_directImport_asiSafe1__._undefined10331040__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12101217__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12601267__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13041311__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined13541361__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined37393743__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined37453750__WEBPACK_MODULE_REFERENCE__3_5b226d6f74696f6e225d_asiSafe1__._undefined40814084__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined42414245__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined43184321__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined45134517__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined46554658__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49104913__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined55145518__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined57755778__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined60406043__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined69366940__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined70137016__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined71997202__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined72047217__WEBPACK_MODULE_REFERENCE__5_5b224c6f636174696f6e5069636b6572225d_directImport_asiSafe1__._undefined76097613__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined77577761__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined79237926__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined82138216__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined88948898__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined90609063__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined93519354__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1007310077__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1030010303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1074410748__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1104811051__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1132711330__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1193711941__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1201412017__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1219412197__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1243212436__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1259912602__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1320013204__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1339613399__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1365813661__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1412414128__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1420114204__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1437414377__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1477814782__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1522615230__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1544815451__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1615116154__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1695316956__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1733417338__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined1830018303__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined1830518310__WEBPACK_MODULE_REFERENCE__4_5b22427574746f6e225d_directImport_asiSafe1__._undefined1861018613__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined  641727(0,navigation.useRouter)undefined756836(0,react.useRef)undefined873957(0,react.useState)undefined11271211(0,react.useState)undefined12541338(0,react.useState)undefined13751459(0,react.useState)undefined15021586(0,react.useState)undefined39644040(0,jsx_runtime.jsxs)undefined40424104proxy/* motion */.Eundefined44354509(0,jsx_runtime.jsx)undefined46664742(0,jsx_runtime.jsxs)undefined48154889(0,jsx_runtime.jsx)undefined50815157(0,jsx_runtime.jsxs)undefined52955369(0,jsx_runtime.jsx)undefined56215695(0,jsx_runtime.jsx)undefined62966372(0,jsx_runtime.jsxs)undefined66296703(0,jsx_runtime.jsx)undefined69657039(0,jsx_runtime.jsx)undefined79328008(0,jsx_runtime.jsxs)undefined80818155(0,jsx_runtime.jsx)undefined83388412(0,jsx_runtime.jsx)undefined84148505LocationPickerundefined88978973(0,jsx_runtime.jsxs)undefined91179193(0,jsx_runtime.jsxs)undefined93559429(0,jsx_runtime.jsx)undefined97169790(0,jsx_runtime.jsx)undefined1046810544(0,jsx_runtime.jsxs)undefined1070610780(0,jsx_runtime.jsx)undefined1106811142(0,jsx_runtime.jsx)undefined1186111937(0,jsx_runtime.jsxs)undefined1216012234(0,jsx_runtime.jsx)undefined1267512751(0,jsx_runtime.jsxs)undefined1305113125(0,jsx_runtime.jsx)undefined1340113475(0,jsx_runtime.jsx)undefined1408214158(0,jsx_runtime.jsxs)undefined1423114305(0,jsx_runtime.jsx)undefined1448214556(0,jsx_runtime.jsx)undefined1479114867(0,jsx_runtime.jsxs)undefined1503015104(0,jsx_runtime.jsx)undefined1570215778(0,jsx_runtime.jsxs)undefined1597016044(0,jsx_runtime.jsx)undefined1630316377(0,jsx_runtime.jsx)undefined1684016916(0,jsx_runtime.jsxs)undefined1698917063(0,jsx_runtime.jsx)undefined1723317307(0,jsx_runtime.jsx)undefined1770817784(0,jsx_runtime.jsxs)undefined1822818304(0,jsx_runtime.jsxs)undefined1852218596(0,jsx_runtime.jsx)undefined1929619370(0,jsx_runtime.jsx)undefined2016920243(0,jsx_runtime.jsx)undefined2062120697(0,jsx_runtime.jsxs)undefined2165921733(0,jsx_runtime.jsx)undefined2173521810ui/* Button */.zxundefined2211022184(0,jsx_runtime.jsx)undefined	   RawSource
   

/***/ })   ,

/***/ 5081:
   (  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   H  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourceQ  /* __next_internal_client_entry_do_not_use__ SpotList auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import { SpotCard } from "@/components/ui";
export function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = useReducedMotion();
    if (spots.length === 0) {
        return /*#__PURE__*/ _jsx("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return _jsx(motion.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ _jsx(SpotCard, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}
c>moV                     k  z      g  j  l  q  '  *  ,  1          (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4buffersourcesizemapshash  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
/* __next_internal_client_entry_do_not_use__ SpotList auto */ 



function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    if (spots.length === 0) {
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}
{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
   ReplaceSourceRawSourceQ  /* __next_internal_client_entry_do_not_use__ SpotList auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import { SpotCard } from "@/components/ui";
export function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = useReducedMotion();
    if (spots.length === 0) {
        return /*#__PURE__*/ _jsx("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return _jsx(motion.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ _jsx(SpotCard, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}
  62109undefined111136undefined138194undefined196238undefined240246undefined363378(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined442445(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11271130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11321137framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined15751578(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15801585framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined16881691(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16931700_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4undefined
   

/***/ })4  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
/* __next_internal_client_entry_do_not_use__ SpotList auto */ 



function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    if (spots.length === 0) {
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}


/***/ })	  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
Q  /* __next_internal_client_entry_do_not_use__ SpotList auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import { SpotCard } from "@/components/ui";
export function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = useReducedMotion();
    if (spots.length === 0) {
        return /*#__PURE__*/ _jsx("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return _jsx(motion.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ _jsx(SpotCard, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}
  62109undefined111136undefined138194undefined196238undefined240246undefined363378(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined442445(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11271130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11321137framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined15751578(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15801585framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined16881691(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16931700_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4undefined   ,

/***/ 5002:
   EU  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   c  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource  /* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useEffect, useState } from "react";
import { wmoCodeToLabel, isGoodForFlying } from "@/lib/weather";
function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
export function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = useState(null);
    const [loading, setLoading] = useState(true);
    const [error, setError] = useState(false);
    useEffect(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? isGoodForFlying(weather) : null;
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ _jsx("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ _jsx("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ _jsxs(_Fragment, {
                children: [
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: wmoCodeToLabel(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}
aE_                  e  l              *  8  d  h  j  r                	      V  ZZ      	  	          j  n  '  +                              (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)buffersourcesizemapshash  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
/* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ 


function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
    const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)(weather) : null;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}
{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
   ReplaceSourceRawSource  /* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useEffect, useState } from "react";
import { wmoCodeToLabel, isGoodForFlying } from "@/lib/weather";
function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
export function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = useState(null);
    const [loading, setLoading] = useState(true);
    const [error, setError] = useState(false);
    useEffect(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? isGoodForFlying(weather) : null;
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ _jsx("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ _jsx("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ _jsxs(_Fragment, {
                children: [
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: wmoCodeToLabel(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}
y  69154undefined156206undefined208271undefined764770undefined869876(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined919926(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined965972(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined986994(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)undefined13221336(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)undefined13801384(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined13861394react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined14561459(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15501553(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17231726(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20532057(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined20592067react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined21342138(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined22752278(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24762480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined28422846(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined29832986(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31783182(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined36233627(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined37643767(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39693972(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined40824095(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)undefined42334237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined43744377(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined45774580(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined48224825(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined
   

/***/ })(  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
/* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ 


function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
    const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)(weather) : null;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}


/***/ })	  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
  /* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useEffect, useState } from "react";
import { wmoCodeToLabel, isGoodForFlying } from "@/lib/weather";
function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
export function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = useState(null);
    const [loading, setLoading] = useState(true);
    const [error, setError] = useState(false);
    useEffect(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? isGoodForFlying(weather) : null;
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ _jsx("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ _jsx("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ _jsxs(_Fragment, {
                children: [
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: wmoCodeToLabel(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}
y  69154undefined156206undefined208271undefined764770undefined869876(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined919926(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined965972(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined986994(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)undefined13221336(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)undefined13801384(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined13861394react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined14561459(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15501553(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17231726(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20532057(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined20592067react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined21342138(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined22752278(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24762480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined28422846(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined29832986(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31783182(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined36233627(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined37643767(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39693972(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined40824095(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)undefined42334237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined43744377(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined45774580(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined48224825(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined   ,

/***/ 4226:
   '  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   5  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource{  /* __next_internal_client_entry_do_not_use__ Button auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import "./Button.css";
export function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = useReducedMotion();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ _jsx(motion.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ _jsx(motion.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}
a<X                              f  j  l  t                      (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Ebuffersourcesizemapshashe  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
/* __next_internal_client_entry_do_not_use__ Button auto */ 



function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}
{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
   ReplaceSourceRawSource{  /* __next_internal_client_entry_do_not_use__ Button auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import "./Button.css";
export function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = useReducedMotion();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ _jsx(motion.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ _jsx(motion.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}
  60145undefined147172undefined174230undefined232253undefined255261undefined432447(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined11261130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined11321140react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined12021205(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15031506(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15081513framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined17561759(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17611766framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined
   

/***/ })  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
/* __next_internal_client_entry_do_not_use__ Button auto */ 



function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}


/***/ })	  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
{  /* __next_internal_client_entry_do_not_use__ Button auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import "./Button.css";
export function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = useReducedMotion();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ _jsx(motion.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ _jsx(motion.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}
  60145undefined147172undefined174230undefined232253undefined255261undefined432447(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined11261130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined11321140react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined12021205(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15031506(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15081513framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined17561759(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17611766framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined   ,

/***/ 5620:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   x  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   u  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourceq  import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import "./Badge.css";
export function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ _jsx("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
 f/1JL`bhA      __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._buffersourcesizemapshashR  


function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
{"finalSource":false}mapbufferedMap   ReplaceSourceRawSourceq  import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import "./Badge.css";
export function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ _jsx("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
   047undefined4974undefined7696undefined98104undefined213216__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefinedbo@   Badge_Badge(0,jsx_runtime.jsx)   
// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx
     webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import "./ZoneTag.css";
const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
export function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
 d>@Y[qA      c  


const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import "./ZoneTag.css";
const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
export function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
6   062undefined6489undefined91113undefined218224undefinedasyZoneTag_ZoneTag  
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
   O"  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource8  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { motion, useReducedMotion } from "framer-motion";
import { Badge } from "./Badge";
import "./SpotCard.css";
const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsxs("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsx("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ _jsx("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
export function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = useReducedMotion();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ _jsxs(Link, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ _jsx("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ _jsx("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ _jsx("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ _jsx(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ _jsxs("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ _jsx("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ _jsx(Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ _jsx("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ _jsx(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ _jsx("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ _jsx("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
c(>|~_                      )          O  R    "                  v	  y	  `
  c
      j  _m      `  o  K  N  P  U              J  M           9  =      g  j  C  F  H  L    L  z  ~  7  ;      D  H  ^  a  %  (  __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__.___WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__.___WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._y&  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ 





const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = __WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__._();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__._.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__._, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
8  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { motion, useReducedMotion } from "framer-motion";
import { Badge } from "./Badge";
import "./SpotCard.css";
const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsxs("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsx("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ _jsx("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
export function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = useReducedMotion();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ _jsxs(Link, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ _jsx("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ _jsx("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ _jsx("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ _jsx(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ _jsxs("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ _jsx("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ _jsx(Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ _jsx("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ _jsx(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ _jsx("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ _jsx("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
`  62124undefined126151undefined153181undefined183239undefined241272undefined274297undefined676680__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined895898__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined11031106__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined13111314__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined15191522__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined17271730__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined19541957__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined21882191__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined24222425__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined26562659__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined29662969__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined31783181__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined33173323undefined34243439__WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__._undefined39153918__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined39203925__WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__._undefined40724076__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined40784081__WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__._undefined42964299__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined44264429__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined46054608__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined47374740__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined49214925__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined50595063__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined52235226__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54435446__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54485452__WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._undefined57635766__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined60106014__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined61996203__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined63886391__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined67246728__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined72627265__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined74617464__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined`"_  	    *    A    X  %  o  <    f    	  	  
      C  v        l  s    +    Q  S    _$  p  r        _    Y    $  n  #  o    A    +    N  P          Z    _     b   !  !  C$  [$  %  i%  (0,jsx_runtime.jsxs)SpotCard_SpotCard(0,use_reduced_motion/* useReducedMotion */.J)proxy/* motion */.Eapi_link["default"]3   
;// CONCATENATED MODULE: ./components/ui/index.ts
   B  webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   export { Button } from "./Button";
export { Badge } from "./Badge";
export { ZoneTag } from "./ZoneTag";
export { SpotCard } from "./SpotCard";
 e!#BDgi@      



   export { Button } from "./Button";
export { Badge } from "./Badge";
export { ZoneTag } from "./ZoneTag";
export { SpotCard } from "./SpotCard";
6   033undefined3566undefined68103undefined105142undefined buffersourcesizemapshashY(  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx



function Badge_Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}

// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx



const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
function ZoneTag_ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}

// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
/* __next_internal_client_entry_do_not_use__ SpotCard auto */ 





const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ (0,jsx_runtime.jsx)("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
function SpotCard_SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = (0,use_reduced_motion/* useReducedMotion */.J)();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(proxy/* motion */.E.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(api_link["default"], {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ (0,jsx_runtime.jsx)("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(Badge_Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}

;// CONCATENATED MODULE: ./components/ui/index.ts




{"finalSource":true}mapbufferedMap`   ConcatSourceRawSource  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx
   ReplaceSource   ReplaceSourceRawSourceq  import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import "./Badge.css";
export function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ _jsx("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
   047undefined4974undefined7696undefined98104undefined213216__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefinedC   1216Badge_Badgeundefined111185(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import "./ZoneTag.css";
const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
export function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
6   062undefined6489undefined91113undefined218224undefined'   115121ZoneTag_ZoneTagundefinedRawSource  
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
8  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { motion, useReducedMotion } from "framer-motion";
import { Badge } from "./Badge";
import "./SpotCard.css";
const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsxs("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsx("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ _jsx("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
export function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = useReducedMotion();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ _jsxs(Link, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ _jsx("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ _jsx("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ _jsx("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ _jsx(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ _jsxs("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ _jsx("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ _jsx(Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ _jsx("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ _jsx(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ _jsx("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ _jsx("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
`  62124undefined126151undefined153181undefined183239undefined241272undefined274297undefined676680__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined895898__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined11031106__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined13111314__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined15191522__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined17271730__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined19541957__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined21882191__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined24222425__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined26562659__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined29662969__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined31783181__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined33173323undefined34243439__WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__._undefined39153918__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined39203925__WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__._undefined40724076__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined40784081__WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__._undefined42964299__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined44264429__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined46054608__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined47374740__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined49214925__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined50595063__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined52235226__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54435446__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54485452__WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._undefined57635766__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined60106014__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined61996203__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined63886391__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined67246728__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined72627265__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined74617464__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined  445521(0,jsx_runtime.jsxs)undefined736810(0,jsx_runtime.jsx)undefined10151089(0,jsx_runtime.jsx)undefined12941368(0,jsx_runtime.jsx)undefined15731647(0,jsx_runtime.jsx)undefined18521926(0,jsx_runtime.jsx)undefined21502224(0,jsx_runtime.jsx)undefined24552529(0,jsx_runtime.jsx)undefined27602834(0,jsx_runtime.jsx)undefined30653139(0,jsx_runtime.jsx)undefined34463520(0,jsx_runtime.jsx)undefined37293803(0,jsx_runtime.jsx)undefined39483955SpotCard_SpotCardundefined40394139(0,use_reduced_motion/* useReducedMotion */.J)undefined46154689(0,jsx_runtime.jsx)undefined46914753proxy/* motion */.Eundefined49004976(0,jsx_runtime.jsxs)undefined49785055api_link["default"]undefined52705344(0,jsx_runtime.jsx)undefined54715545(0,jsx_runtime.jsx)undefined57215795(0,jsx_runtime.jsx)undefined59245998(0,jsx_runtime.jsx)undefined61796255(0,jsx_runtime.jsxs)undefined63896465(0,jsx_runtime.jsxs)undefined66256699(0,jsx_runtime.jsx)undefined69166990(0,jsx_runtime.jsx)undefined69927065Badge_Badgeundefined73767450(0,jsx_runtime.jsx)undefined76947770(0,jsx_runtime.jsxs)undefined79558031(0,jsx_runtime.jsxs)undefined82168290(0,jsx_runtime.jsx)undefined86238699(0,jsx_runtime.jsxs)undefined92339307(0,jsx_runtime.jsx)undefined95039577(0,jsx_runtime.jsx)undefinedRawSource3   
;// CONCATENATED MODULE: ./components/ui/index.ts
   export { Button } from "./Button";
export { Badge } from "./Badge";
export { ZoneTag } from "./ZoneTag";
export { SpotCard } from "./SpotCard";
6   033undefined3566undefined68103undefined105142undefined    
   

/***/ })(  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx



function Badge_Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}

// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx



const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
function ZoneTag_ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}

// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
/* __next_internal_client_entry_do_not_use__ SpotCard auto */ 





const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ (0,jsx_runtime.jsx)("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
function SpotCard_SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = (0,use_reduced_motion/* useReducedMotion */.J)();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(proxy/* motion */.E.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(api_link["default"], {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ (0,jsx_runtime.jsx)("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(Badge_Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}

;// CONCATENATED MODULE: ./components/ui/index.ts






/***/ })`  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx
q  import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import "./Badge.css";
export function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ _jsx("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
   047undefined4974undefined7696undefined98104undefined213216__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefinedC   1216Badge_Badgeundefined111185(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import "./ZoneTag.css";
const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
export function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
6   062undefined6489undefined91113undefined218224undefined'   115121ZoneTag_ZoneTagundefinedRawSource  
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
8  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { motion, useReducedMotion } from "framer-motion";
import { Badge } from "./Badge";
import "./SpotCard.css";
const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsxs("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsx("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ _jsx("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
export function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = useReducedMotion();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ _jsxs(Link, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ _jsx("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ _jsx("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ _jsx("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ _jsx(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ _jsxs("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ _jsx("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ _jsx(Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ _jsx("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ _jsx(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ _jsx("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ _jsx("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
`  62124undefined126151undefined153181undefined183239undefined241272undefined274297undefined676680__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined895898__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined11031106__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined13111314__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined15191522__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined17271730__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined19541957__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined21882191__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined24222425__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined26562659__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined29662969__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined31783181__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined33173323undefined34243439__WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__._undefined39153918__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined39203925__WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__._undefined40724076__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined40784081__WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__._undefined42964299__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined44264429__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined46054608__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined47374740__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined49214925__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined50595063__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined52235226__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54435446__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54485452__WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._undefined57635766__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined60106014__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined61996203__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined63886391__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined67246728__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined72627265__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined74617464__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined  445521(0,jsx_runtime.jsxs)undefined736810(0,jsx_runtime.jsx)undefined10151089(0,jsx_runtime.jsx)undefined12941368(0,jsx_runtime.jsx)undefined15731647(0,jsx_runtime.jsx)undefined18521926(0,jsx_runtime.jsx)undefined21502224(0,jsx_runtime.jsx)undefined24552529(0,jsx_runtime.jsx)undefined27602834(0,jsx_runtime.jsx)undefined30653139(0,jsx_runtime.jsx)undefined34463520(0,jsx_runtime.jsx)undefined37293803(0,jsx_runtime.jsx)undefined39483955SpotCard_SpotCardundefined40394139(0,use_reduced_motion/* useReducedMotion */.J)undefined46154689(0,jsx_runtime.jsx)undefined46914753proxy/* motion */.Eundefined49004976(0,jsx_runtime.jsxs)undefined49785055api_link["default"]undefined52705344(0,jsx_runtime.jsx)undefined54715545(0,jsx_runtime.jsx)undefined57215795(0,jsx_runtime.jsx)undefined59245998(0,jsx_runtime.jsx)undefined61796255(0,jsx_runtime.jsxs)undefined63896465(0,jsx_runtime.jsxs)undefined66256699(0,jsx_runtime.jsx)undefined69166990(0,jsx_runtime.jsx)undefined69927065Badge_Badgeundefined73767450(0,jsx_runtime.jsx)undefined76947770(0,jsx_runtime.jsxs)undefined79558031(0,jsx_runtime.jsxs)undefined82168290(0,jsx_runtime.jsx)undefined86238699(0,jsx_runtime.jsxs)undefined92339307(0,jsx_runtime.jsx)undefined95039577(0,jsx_runtime.jsx)undefinedRawSource3   
;// CONCATENATED MODULE: ./components/ui/index.ts
   export { Button } from "./Button";
export { Badge } from "./Badge";
export { ZoneTag } from "./ZoneTag";
export { SpotCard } from "./SpotCard";
6   033undefined3566undefined68103undefined105142undefined       ,

/***/ 2165:
   +  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource&  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSource  export async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
export function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
export function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}
 C        buffersourcesizemapshash  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}
{"finalSource":true}mapbufferedMap   ConcatSourceRawSource&  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
   ReplaceSourceRawSource  export async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
export function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
export function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}
+   06undefined905911undefined13011307undefined
   

/***/ })   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}


/***/ })	&  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
  export async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
export function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
export function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}
+   06undefined905911undefined13011307undefined   ,

/***/ 7648:
   	  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   R  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcek   export { default } from "../client/link";
export * from "../client/link";

//# sourceMappingURL=link.js.map b(*Hbuffersourcesizemapshash  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);



//# sourceMappingURL=link.js.map{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);
   ReplaceSourceRawSourcek   export { default } from "../client/link";
export * from "../client/link";

//# sourceMappingURL=link.js.map   040undefined4272undefined
   

/***/ })y  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);



//# sourceMappingURL=link.js.map

/***/ })	  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);
k   export { default } from "../client/link";
export * from "../client/link";

//# sourceMappingURL=link.js.map   040undefined4272undefined   ,

/***/ 9376:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourced   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourceX   export * from "../client/components/navigation";

//# sourceMappingURL=navigation.js.map `/buffersourcesizemapshash  /* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });


//# sourceMappingURL=navigation.js.map{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });
   ReplaceSourceRawSourceX   export * from "../client/components/navigation";

//# sourceMappingURL=navigation.js.map   047undefined
   

/***/ })1  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });


//# sourceMappingURL=navigation.js.map

/***/ })	  /* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });
X   export * from "../client/components/navigation";

//# sourceMappingURL=navigation.js.map   047undefined   ,

/***/ 9221:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /***/ (function() {

webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource      webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource'   // extracted by mini-css-extract-plugin buffersourcesizemapshash'   // extracted by mini-css-extract-plugin{"finalSource":true}mapbufferedMap   ReplaceSourceRawSource    
   

/***/ })F   /***/ (function() {

// extracted by mini-css-extract-plugin

/***/ })   /***/ (function() {

'   // extracted by mini-css-extract-plugin   ,

/***/ 613:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /***/ (function() {

webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource      webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource'   // extracted by mini-css-extract-plugin buffersourcesizemapshash'   // extracted by mini-css-extract-plugin{"finalSource":true}mapbufferedMap   ReplaceSourceRawSource    
   

/***/ })   ,

/***/ 4639:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /***/ (function() {

webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource      webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource'   // extracted by mini-css-extract-plugin buffersourcesizemapshash'   // extracted by mini-css-extract-plugin{"finalSource":true}mapbufferedMap   ReplaceSourceRawSource    
   

/***/ })z|   ,

/***/ 3445:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /***/ (function() {

webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource      webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource'   // extracted by mini-css-extract-plugin buffersourcesizemapshash'   // extracted by mini-css-extract-plugin{"finalSource":true}mapbufferedMap   ReplaceSourceRawSource    
   

/***/ })suxy}   ,

/***/ 7798:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource   /***/ (function() {

webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource      webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource'   // extracted by mini-css-extract-plugin buffersourcesizemapshash'   // extracted by mini-css-extract-plugin{"finalSource":true}mapbufferedMap   ReplaceSourceRawSource    
   

/***/ })lnqrv~   ,

/***/ 2345:
     webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSourcep   /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

"use strict";
webpack/lib/util/registerExternalSerializerwebpack-sources/CachedSource   x
  webpack/lib/util/registerExternalSerializerwebpack-sources/ConcatSourcewebpack/lib/util/registerExternalSerializerwebpack-sources/RawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);
webpack/lib/util/registerExternalSerializerwebpack-sources/ReplaceSourceP  import { useState } from 'react';
import { initPrefersReducedMotion } from './index.mjs';
import { warnOnce } from '../warn-once.mjs';
import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';

/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !hasReducedMotionListener.current && initPrefersReducedMotion();
    const [shouldReduceMotion] = useState(prefersReducedMotion.current);
    if (process.env.NODE_ENV !== "production") {
        warnOnce(shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.");
    }
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}

export { useReducedMotion };
e  "XZP         g  ~                      3  N  _state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .O(0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .nfalse{}buffersourcesizemapshash3  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);





/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .O.current && (0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)();
    const [shouldReduceMotion] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .n.current);
    if (false) {}
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}


{"finalSource":true}mapbufferedMap   ConcatSourceRawSource  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);
   ReplaceSourceRawSourceP  import { useState } from 'react';
import { initPrefersReducedMotion } from './index.mjs';
import { warnOnce } from '../warn-once.mjs';
import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';

/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !hasReducedMotionListener.current && initPrefersReducedMotion();
    const [shouldReduceMotion] = useState(prefersReducedMotion.current);
    if (process.env.NODE_ENV !== "production") {
        warnOnce(shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.");
    }
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}

export { useReducedMotion };
  032undefined3488undefined90133undefined135211undefined11271150_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .Oundefined11631186(0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)undefined12241231(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)undefined12331252_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .nundefined12721308falseundefined13111454{}undefined15871614undefined
   

/***/ })e  /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);





/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .O.current && (0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)();
    const [shouldReduceMotion] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .n.current);
    if (false) {}
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}




/***/ })fi	jp   /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

"use strict";
i  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);
lP  import { useState } from 'react';
import { initPrefersReducedMotion } from './index.mjs';
import { warnOnce } from '../warn-once.mjs';
import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';

/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !hasReducedMotionListener.current && initPrefersReducedMotion();
    const [shouldReduceMotion] = useState(prefersReducedMotion.current);
    if (process.env.NODE_ENV !== "production") {
        warnOnce(shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.");
    }
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}

export { useReducedMotion };
  032undefined3488undefined90133undefined135211undefined11271150_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .Oundefined11631186(0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)undefined12241231(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)undefined12331252_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .nundefined12721308falseundefined13111454{}undefined15871614undefinedrs   

}]);  (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[991],{

/***/ 1988:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  SpotForm: function() { return /* binding */ SpotForm; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(9376);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/index.ts + 3 modules
var ui = __webpack_require__(5620);
;// CONCATENATED MODULE: ./components/spots/LocationPicker.tsx
/* __next_internal_client_entry_do_not_use__ LocationPicker auto */ 

const TILES = {
    map: {
        url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',
        maxZoom: 19
    },
    satellite: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
        attribution: '&copy; <a href="https://www.esri.com/">Esri</a>',
        maxZoom: 19
    },
    satelliteLabels: {
        url: "https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",
        attribution: "",
        maxZoom: 19
    }
};
const PIN_HTML = '<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';
function LocationPicker(param) {
    let { lat, lng, onPick } = param;
    const containerRef = (0,react.useRef)(null);
    const mapRef = (0,react.useRef)(null);
    const markerRef = (0,react.useRef)(null);
    const LRef = (0,react.useRef)(null);
    const tileLayerRef = (0,react.useRef)(null);
    const labelLayerRef = (0,react.useRef)(null);
    const skipSyncRef = (0,react.useRef)(false);
    const [isSatellite, setIsSatellite] = (0,react.useState)(false);
    (0,react.useEffect)(()=>{
        if (!containerRef.current || mapRef.current) return;
        const init = async ()=>{
            const L = (await __webpack_require__.e(/* import() */ 4212).then(__webpack_require__.t.bind(__webpack_require__, 759, 23))).default;
            // @ts-ignore
            await Promise.all(/* import() */[__webpack_require__.e(5641), __webpack_require__.e(5046)]).then(__webpack_require__.t.bind(__webpack_require__, 5046, 23));
            LRef.current = L;
            const initLat = lat ? parseFloat(lat) : 39.3999;
            const initLng = lng ? parseFloat(lng) : -8.2245;
            const hasCoords = !!(lat && lng && !isNaN(initLat) && !isNaN(initLng));
            const map = L.map(containerRef.current, {
                center: [
                    initLat,
                    initLng
                ],
                zoom: hasCoords ? 13 : 7,
                zoomControl: true
            });
            mapRef.current = map;
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
            const makeIcon = ()=>L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                });
            const placeMarker = (mlat, mlng)=>{
                if (markerRef.current) {
                    markerRef.current.setLatLng([
                        mlat,
                        mlng
                    ]);
                } else {
                    markerRef.current = L.marker([
                        mlat,
                        mlng
                    ], {
                        icon: makeIcon(),
                        draggable: true
                    }).addTo(map);
                    markerRef.current.on("dragend", ()=>{
                        const pos = markerRef.current.getLatLng();
                        skipSyncRef.current = true;
                        onPick(pos.lat, pos.lng);
                    });
                }
            };
            if (hasCoords) placeMarker(initLat, initLng);
            map.on("click", (e)=>{
                placeMarker(e.latlng.lat, e.latlng.lng);
                skipSyncRef.current = true;
                onPick(e.latlng.lat, e.latlng.lng);
            });
        };
        init();
        return ()=>{
            if (mapRef.current) {
                mapRef.current.remove();
                mapRef.current = null;
                markerRef.current = null;
                LRef.current = null;
                tileLayerRef.current = null;
                labelLayerRef.current = null;
            }
        };
    }, []) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    // Toggle satellite/map
    (0,react.useEffect)(()=>{
        var _markerRef_current_bringToFront, _markerRef_current;
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L) return;
        if (tileLayerRef.current) {
            map.removeLayer(tileLayerRef.current);
            tileLayerRef.current = null;
        }
        if (labelLayerRef.current) {
            map.removeLayer(labelLayerRef.current);
            labelLayerRef.current = null;
        }
        if (isSatellite) {
            const s = TILES.satellite;
            tileLayerRef.current = L.tileLayer(s.url, {
                attribution: s.attribution,
                maxZoom: s.maxZoom
            }).addTo(map);
            const sl = TILES.satelliteLabels;
            labelLayerRef.current = L.tileLayer(sl.url, {
                attribution: sl.attribution,
                maxZoom: sl.maxZoom,
                opacity: 0.9
            }).addTo(map);
        } else {
            const t = TILES.map;
            tileLayerRef.current = L.tileLayer(t.url, {
                attribution: t.attribution,
                maxZoom: t.maxZoom,
                subdomains: "abcd"
            }).addTo(map);
        }
        if (markerRef.current) (_markerRef_current_bringToFront = (_markerRef_current = markerRef.current).bringToFront) === null || _markerRef_current_bringToFront === void 0 ? void 0 : _markerRef_current_bringToFront.call(_markerRef_current);
    }, [
        isSatellite
    ]);
    // Sync marker when user types lat/lng manually
    (0,react.useEffect)(()=>{
        if (skipSyncRef.current) {
            skipSyncRef.current = false;
            return;
        }
        const map = mapRef.current;
        const L = LRef.current;
        if (!map || !L || !lat || !lng) return;
        const parsedLat = parseFloat(lat);
        const parsedLng = parseFloat(lng);
        if (isNaN(parsedLat) || isNaN(parsedLng)) return;
        if (markerRef.current) {
            markerRef.current.setLatLng([
                parsedLat,
                parsedLng
            ]);
        } else {
            markerRef.current = L.marker([
                parsedLat,
                parsedLng
            ], {
                icon: L.divIcon({
                    className: "",
                    html: PIN_HTML,
                    iconSize: [
                        22,
                        22
                    ],
                    iconAnchor: [
                        11,
                        22
                    ]
                }),
                draggable: true
            }).addTo(map);
            markerRef.current.on("dragend", ()=>{
                const pos = markerRef.current.getLatLng();
                skipSyncRef.current = true;
                onPick(pos.lat, pos.lng);
            });
        }
        map.setView([
            parsedLat,
            parsedLng
        ], Math.max(map.getZoom(), 13));
    }, [
        lat,
        lng
    ]) // eslint-disable-line react-hooks/exhaustive-deps
    ;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
        style: {
            borderRadius: 10,
            overflow: "hidden",
            border: "1.5px solid var(--ov-line)",
            marginBottom: "var(--ov-space-3)",
            position: "relative"
        },
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                ref: containerRef,
                style: {
                    width: "100%",
                    height: 320
                },
                "aria-label": "Mapa para seleccionar localiza\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                type: "button",
                onClick: ()=>setIsSatellite((v)=>!v),
                style: {
                    position: "absolute",
                    top: 10,
                    right: 10,
                    zIndex: 1000,
                    padding: "5px 10px",
                    borderRadius: 6,
                    background: isSatellite ? "#0096FF" : "rgba(255,255,255,0.92)",
                    color: isSatellite ? "#fff" : "#0A1628",
                    border: "1.5px solid ".concat(isSatellite ? "#0096FF" : "rgba(0,0,0,0.15)"),
                    fontSize: 11,
                    fontWeight: 600,
                    fontFamily: "var(--ov-font-sans)",
                    cursor: "pointer",
                    backdropFilter: "blur(4px)",
                    boxShadow: "0 1px 4px rgba(0,0,0,.15)"
                },
                "aria-pressed": isSatellite,
                children: isSatellite ? "Mapa" : "Sat\xe9lite"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                style: {
                    padding: "8px 12px",
                    background: "var(--ov-cloud)",
                    borderTop: "1px solid var(--ov-line)",
                    fontSize: 11,
                    color: "var(--ov-slate)",
                    fontFamily: "var(--ov-font-sans)"
                },
                children: "Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"
            })
        ]
    });
}

// EXTERNAL MODULE: ./components/spots/spots.css
var spots = __webpack_require__(9221);
;// CONCATENATED MODULE: ./components/spots/SpotForm.tsx
/* __next_internal_client_entry_do_not_use__ SpotForm auto */ 






const DIFFICULTIES = [
    {
        value: "BEGINNER",
        label: "Iniciante",
        desc: "Espa\xe7o aberto, sem obst\xe1culos"
    },
    {
        value: "INTERMEDIATE",
        label: "Interm\xe9dio",
        desc: "Requer alguma experi\xeancia"
    },
    {
        value: "ADVANCED",
        label: "Avan\xe7ado",
        desc: "Piloto experiente necess\xe1rio"
    }
];
const SUGGESTED_TAGS = [
    "praia",
    "montanha",
    "urbano",
    "p\xf4r-do-sol",
    "costa",
    "rural",
    "parque",
    "floresta"
];
function SpotForm() {
    const router = (0,navigation.useRouter)();
    const tagInputRef = (0,react.useRef)(null);
    const [form, setForm] = (0,react.useState)({
        name: "",
        description: "",
        lat: "",
        lng: "",
        altitude: "",
        difficulty: "BEGINNER"
    });
    const [tags, setTags] = (0,react.useState)([]);
    const [tagInput, setTagInput] = (0,react.useState)("");
    const [error, setError] = (0,react.useState)(null);
    const [loading, setLoading] = (0,react.useState)(false);
    const handleChange = (e)=>{
        setForm((f)=>({
                ...f,
                [e.target.name]: e.target.value
            }));
    };
    const addTag = (val)=>{
        const clean = val.trim().toLowerCase();
        if (clean && !tags.includes(clean) && tags.length < 8) {
            setTags((t)=>[
                    ...t,
                    clean
                ]);
        }
        setTagInput("");
    };
    const removeTag = (tag)=>setTags((t)=>t.filter((x)=>x !== tag));
    const handleTagKey = (e)=>{
        if (e.key === "Enter" || e.key === ",") {
            e.preventDefault();
            addTag(tagInput);
        } else if (e.key === "Backspace" && !tagInput && tags.length > 0) {
            setTags((t)=>t.slice(0, -1));
        }
    };
    const handleSubmit = async (e)=>{
        e.preventDefault();
        setError(null);
        setLoading(true);
        try {
            const res = await fetch("/api/spots", {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({
                    name: form.name,
                    description: form.description,
                    lat: parseFloat(form.lat),
                    lng: parseFloat(form.lng),
                    altitude: form.altitude ? parseInt(form.altitude) : undefined,
                    difficulty: form.difficulty,
                    tags
                })
            });
            const data = await res.json();
            if (!res.ok) {
                var _data_error_formErrors, _data_error;
                var _data_error_formErrors_, _ref;
                setError((_ref = (_data_error_formErrors_ = (_data_error = data.error) === null || _data_error === void 0 ? void 0 : (_data_error_formErrors = _data_error.formErrors) === null || _data_error_formErrors === void 0 ? void 0 : _data_error_formErrors[0]) !== null && _data_error_formErrors_ !== void 0 ? _data_error_formErrors_ : data.error) !== null && _ref !== void 0 ? _ref : "Erro ao submeter spot");
                return;
            }
            router.push("/spots?submitted=true");
        } catch (e) {
            setError("Erro de liga\xe7\xe3o. Tenta de novo.");
        } finally{
            setLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(proxy/* motion */.E.form, {
        className: "spot-form",
        onSubmit: handleSubmit,
        initial: {
            opacity: 0,
            y: 16
        },
        animate: {
            opacity: 1,
            y: 0
        },
        transition: {
            duration: 0.3
        },
        children: [
            error && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "auth-error",
                role: "alert",
                children: error
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Informa\xe7\xe3o b\xe1sica"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "name",
                                children: "Nome do spot *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "name",
                                name: "name",
                                className: "form-input",
                                value: form.name,
                                onChange: handleChange,
                                required: true,
                                minLength: 3,
                                maxLength: 120,
                                placeholder: "Ex: Praia de Mira — zona norte"
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)"
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "description",
                                children: "Descri\xe7\xe3o *"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("textarea", {
                                id: "description",
                                name: "description",
                                className: "form-input",
                                value: form.description,
                                onChange: handleChange,
                                required: true,
                                minLength: 20,
                                maxLength: 2000,
                                rows: 5,
                                placeholder: "Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",
                                style: {
                                    resize: "vertical"
                                }
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Localiza\xe7\xe3o"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)(LocationPicker, {
                        lat: form.lat,
                        lng: form.lng,
                        onPick: (lat, lng)=>setForm((f)=>({
                                    ...f,
                                    lat: lat.toFixed(6),
                                    lng: lng.toFixed(6)
                                }))
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "spot-form-grid-2",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lat",
                                        children: "Latitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lat",
                                        name: "lat",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lat,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "38.7223"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "form-group",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                        className: "form-label",
                                        htmlFor: "lng",
                                        children: "Longitude *"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        id: "lng",
                                        name: "lng",
                                        type: "number",
                                        step: "any",
                                        className: "form-input",
                                        value: form.lng,
                                        onChange: handleChange,
                                        required: true,
                                        placeholder: "-9.1393"
                                    })
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("p", {
                        className: "coords-hint",
                        children: [
                            "Dica: abre o local no",
                            " ",
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("a", {
                                href: "https://maps.google.com",
                                target: "_blank",
                                rel: "noopener noreferrer",
                                children: "Google Maps"
                            }),
                            ", clica com o bot\xe3o direito e copia as coordenadas."
                        ]
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "form-group",
                        style: {
                            marginTop: "var(--ov-space-4)",
                            maxWidth: 220
                        },
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                                className: "form-label",
                                htmlFor: "altitude",
                                children: "Altitude m\xe1xima recomendada (m)"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                id: "altitude",
                                name: "altitude",
                                type: "number",
                                min: "0",
                                max: "300",
                                className: "form-input",
                                value: form.altitude,
                                onChange: handleChange,
                                placeholder: "Ex: 120"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Dificuldade"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "diff-cards",
                        children: DIFFICULTIES.map((param)=>{
                            let { value, label, desc } = param;
                            return /*#__PURE__*/ (0,jsx_runtime.jsxs)("label", {
                                className: "diff-card",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                        type: "radio",
                                        name: "difficulty",
                                        value: value,
                                        checked: form.difficulty === value,
                                        onChange: ()=>setForm((f)=>({
                                                    ...f,
                                                    difficulty: value
                                                }))
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                        className: "diff-card-label",
                                        children: [
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-name",
                                                children: label
                                            }),
                                            /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                className: "diff-card-desc",
                                                children: desc
                                            })
                                        ]
                                    })
                                ]
                            }, value);
                        })
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                        className: "spot-form-section-title",
                        children: "Tags"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("label", {
                        className: "form-label",
                        htmlFor: "tag-input",
                        style: {
                            marginBottom: "var(--ov-space-2)",
                            display: "block"
                        },
                        children: "Categorias do spot (m\xe1x. 8)"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                        className: "tags-input-wrap",
                        onClick: ()=>{
                            var _tagInputRef_current;
                            return (_tagInputRef_current = tagInputRef.current) === null || _tagInputRef_current === void 0 ? void 0 : _tagInputRef_current.focus();
                        },
                        children: [
                            tags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "tag-pill",
                                    children: [
                                        tag,
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                                            type: "button",
                                            className: "tag-pill-remove",
                                            onClick: (e)=>{
                                                e.stopPropagation();
                                                removeTag(tag);
                                            },
                                            "aria-label": "Remover tag ".concat(tag),
                                            children: "\xd7"
                                        })
                                    ]
                                }, tag)),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("input", {
                                ref: tagInputRef,
                                id: "tag-input",
                                className: "tags-text-input",
                                value: tagInput,
                                onChange: (e)=>setTagInput(e.target.value),
                                onKeyDown: handleTagKey,
                                onBlur: ()=>tagInput.trim() && addTag(tagInput),
                                placeholder: tags.length === 0 ? "praia, montanha, p\xf4r-do-sol… (Enter para adicionar)" : "",
                                disabled: tags.length >= 8
                            })
                        ]
                    }),
                    SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        style: {
                            display: "flex",
                            flexWrap: "wrap",
                            gap: "var(--ov-space-2)",
                            marginTop: "var(--ov-space-2)"
                        },
                        children: SUGGESTED_TAGS.filter((t)=>!tags.includes(t)).map((t)=>/*#__PURE__*/ (0,jsx_runtime.jsxs)("button", {
                                type: "button",
                                onClick: ()=>addTag(t),
                                style: {
                                    padding: "2px 10px",
                                    border: "1px solid var(--ov-line)",
                                    borderRadius: "999px",
                                    background: "var(--ov-cloud)",
                                    fontFamily: "var(--ov-font-sans)",
                                    fontSize: 12,
                                    color: "var(--ov-steel)",
                                    cursor: "pointer"
                                },
                                children: [
                                    "+ ",
                                    t
                                ]
                            }, t))
                    })
                ]
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)(ui/* Button */.zx, {
                type: "submit",
                loading: loading,
                style: {
                    width: "100%",
                    justifyContent: "center"
                },
                children: "Submeter Spot para Modera\xe7\xe3o"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                className: "spot-form-note",
                children: "O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."
            })
        ]
    });
}


/***/ }),

/***/ 5081:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
/* __next_internal_client_entry_do_not_use__ SpotList auto */ 



function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    if (spots.length === 0) {
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}


/***/ }),

/***/ 5002:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
/* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ 


function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
    const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)(weather) : null;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: (0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}


/***/ }),

/***/ 4226:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
/* __next_internal_client_entry_do_not_use__ Button auto */ 



function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = (0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: [
            loading && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .E.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}


/***/ }),

/***/ 5620:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx



function Badge_Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}

// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx



const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
function ZoneTag_ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}

// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
/* __next_internal_client_entry_do_not_use__ SpotCard auto */ 





const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ (0,jsx_runtime.jsx)("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ (0,jsx_runtime.jsx)("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
function SpotCard_SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = (0,use_reduced_motion/* useReducedMotion */.J)();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(proxy/* motion */.E.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(api_link["default"], {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ (0,jsx_runtime.jsx)("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ (0,jsx_runtime.jsx)(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(Badge_Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ (0,jsx_runtime.jsxs)("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ (0,jsx_runtime.jsx)("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}

;// CONCATENATED MODULE: ./components/ui/index.ts






/***/ }),

/***/ 2165:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}


/***/ }),

/***/ 7648:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);



//# sourceMappingURL=link.js.map

/***/ }),

/***/ 9376:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });


//# sourceMappingURL=navigation.js.map

/***/ }),

/***/ 9221:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 613:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 4639:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 3445:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 7798:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 2345:
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);





/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .O.current && (0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)();
    const [shouldReduceMotion] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .n.current);
    if (false) {}
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}




/***/ })

}]);{}@   W   (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[991],{

/***/ 1988:
d   /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";

   

/***/ })   ,

/***/ 5081:
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotList: function() { return /* binding */ SpotList; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5620);
Q  /* __next_internal_client_entry_do_not_use__ SpotList auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import { SpotCard } from "@/components/ui";
export function SpotList(param) {
    let { spots, emptyMessage = "Nenhum spot encontrado." } = param;
    const reduced = useReducedMotion();
    if (spots.length === 0) {
        return /*#__PURE__*/ _jsx("div", {
            style: {
                textAlign: "center",
                padding: "var(--ov-space-20)",
                color: "var(--ov-slate)",
                fontFamily: "var(--ov-font-sans)"
            },
            children: emptyMessage
        });
    }
    const container = {
        hidden: {
            opacity: 0
        },
        visible: {
            opacity: 1,
            transition: {
                staggerChildren: 0.06
            }
        }
    };
    const item = {
        hidden: {
            opacity: 0,
            y: 20
        },
        visible: {
            opacity: 1,
            y: 0
        }
    };
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "spot-list",
        variants: reduced ? undefined : container,
        initial: "hidden",
        animate: "visible",
        style: {
            display: "grid",
            gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
            gap: "var(--ov-space-6)"
        },
        children: spots.map((spot)=>/*#__PURE__*/ {
            var _spot_avgRating, _spot_reviewCount;
            return _jsx(motion.div, {
                variants: reduced ? undefined : item,
                children: /*#__PURE__*/ _jsx(SpotCard, {
                    spot: {
                        ...spot,
                        avgRating: (_spot_avgRating = spot.avgRating) !== null && _spot_avgRating !== void 0 ? _spot_avgRating : null,
                        reviewCount: (_spot_reviewCount = spot.reviewCount) !== null && _spot_reviewCount !== void 0 ? _spot_reviewCount : 0
                    }
                })
            }, spot.id);
        })
    });
}
  62109undefined111136undefined138194undefined196238undefined240246undefined363378(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined442445(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11271130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11321137framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined15751578(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15801585framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined16881691(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16931700_components_ui__WEBPACK_IMPORTED_MODULE_2__/* .SpotCard */ .Z4undefined   ,

/***/ 5002:
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SpotWeatherCard: function() { return /* binding */ SpotWeatherCard; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var _lib_weather__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2165);
  /* __next_internal_client_entry_do_not_use__ SpotWeatherCard auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useEffect, useState } from "react";
import { wmoCodeToLabel, isGoodForFlying } from "@/lib/weather";
function windDir(deg) {
    const dirs = [
        "N",
        "NE",
        "E",
        "SE",
        "S",
        "SW",
        "W",
        "NW"
    ];
    return dirs[Math.round(deg / 45) % 8];
}
function sunsetPortugal() {
    const month = new Date().getMonth();
    const sunsets = [
        17,
        18,
        19,
        20,
        21,
        21,
        21,
        21,
        20,
        19,
        17,
        17
    ];
    return "~".concat(sunsets[month], ":00");
}
export function SpotWeatherCard(param) {
    let { lat, lng } = param;
    const [weather, setWeather] = useState(null);
    const [loading, setLoading] = useState(true);
    const [error, setError] = useState(false);
    useEffect(()=>{
        fetch("/api/weather?lat=".concat(lat, "&lng=").concat(lng)).then((r)=>r.json()).then((data)=>{
            if (data.error) setError(true);
            else setWeather(data);
        }).catch(()=>setError(true)).finally(()=>setLoading(false));
    }, [
        lat,
        lng
    ]);
    const good = weather ? isGoodForFlying(weather) : null;
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("div", {
                className: "meteo-row",
                children: /*#__PURE__*/ _jsx("span", {
                    className: "meteo-lbl",
                    children: "A carregar…"
                })
            }),
            error && /*#__PURE__*/ _jsx("div", {
                className: "meteo-verdict",
                style: {
                    background: "var(--ov-cloud)",
                    color: "var(--ov-slate)"
                },
                children: "Dados meteorol\xf3gicos indispon\xedveis"
            }),
            weather && !error && /*#__PURE__*/ _jsxs(_Fragment, {
                children: [
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Temperatura"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    weather.temperature,
                                    "\xb0C"
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Vento"
                            }),
                            /*#__PURE__*/ _jsxs("span", {
                                className: "meteo-val",
                                children: [
                                    Math.round(weather.windspeed),
                                    " km/h ",
                                    windDir(weather.winddirection)
                                ]
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "Condi\xe7\xf5es"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: wmoCodeToLabel(weather.weathercode)
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsxs("div", {
                        className: "meteo-row",
                        children: [
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-lbl",
                                children: "P\xf4r do sol"
                            }),
                            /*#__PURE__*/ _jsx("span", {
                                className: "meteo-val",
                                children: sunsetPortugal()
                            })
                        ]
                    }),
                    /*#__PURE__*/ _jsx("div", {
                        className: "meteo-verdict",
                        style: good ? undefined : {
                            background: "var(--ov-banned-bg)",
                            color: "var(--ov-banned-fg)"
                        },
                        children: good ? "Boas condi\xe7\xf5es para voar" : "Vento ".concat(Math.round(weather.windspeed), " km/h — n\xe3o recomendado")
                    })
                ]
            })
        ]
    });
}
y  69154undefined156206undefined208271undefined764770undefined869876(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined919926(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined965972(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined986994(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)undefined13221336(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .isGoodForFlying */ .FK)undefined13801384(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined13861394react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined14561459(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15501553(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17231726(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20532057(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined20592067react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined21342138(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined22752278(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24762480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined28422846(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined29832986(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31783182(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined36233627(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined37643767(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39693972(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined40824095(0,_lib_weather__WEBPACK_IMPORTED_MODULE_2__/* .wmoCodeToLabel */ .Qk)undefined42334237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined43744377(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined45774580(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined48224825(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined   ,

/***/ 4226:
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Button; }
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7437);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2265);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2345);
/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8595);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4639);
/* harmony import */ var _Button_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Button_css__WEBPACK_IMPORTED_MODULE_2__);
{  /* __next_internal_client_entry_do_not_use__ Button auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { motion, useReducedMotion } from "framer-motion";
import "./Button.css";
export function Button(props) {
    const { variant = "primary", size = "md", loading = false, className = "", children, href, ...rest } = props;
    const shouldReduceMotion = useReducedMotion();
    const disabled = href === undefined ? rest.disabled : false;
    const isDisabled = disabled || loading;
    const motionProps = isDisabled || shouldReduceMotion ? {} : {
        whileHover: {
            scale: 1.02
        },
        whileTap: {
            scale: 0.97
        },
        transition: {
            duration: 0.14,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const sharedAttrs = {
        "data-variant": variant,
        "data-size": size,
        className: "ov-btn".concat(className ? " ".concat(className) : "")
    };
    const content = /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            loading && /*#__PURE__*/ _jsx("span", {
                className: "ov-btn-spinner",
                "data-testid": "button-spinner",
                "aria-hidden": "true"
            }),
            children
        ]
    });
    if (href !== undefined) {
        const { ...anchorRest } = rest;
        return /*#__PURE__*/ _jsx(motion.a, {
            href: href,
            ...sharedAttrs,
            ...anchorRest,
            ...motionProps,
            children: content
        });
    }
    const { disabled: _ignored, ...buttonRest } = rest;
    return /*#__PURE__*/ _jsx(motion.button, {
        disabled: isDisabled,
        ...sharedAttrs,
        ...buttonRest,
        ...motionProps,
        children: content
    });
}
  60145undefined147172undefined174230undefined232253undefined255261undefined432447(0,framer_motion__WEBPACK_IMPORTED_MODULE_3__/* .useReducedMotion */ .J)undefined11261130(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined11321140react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined12021205(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15031506(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined15081513framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined17561759(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17611766framer_motion__WEBPACK_IMPORTED_MODULE_4__/* .motion */ .Eundefined   ,

/***/ 5620:
  
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  zx: function() { return /* reexport */ Button/* Button */.z; },
  Z4: function() { return /* reexport */ SpotCard_SpotCard; }
});

// UNUSED EXPORTS: Badge, ZoneTag

// EXTERNAL MODULE: ./components/ui/Button.tsx
var Button = __webpack_require__(4226);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7437);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(2265);
// EXTERNAL MODULE: ./components/ui/Badge.css
var Badge = __webpack_require__(613);
;// CONCATENATED MODULE: ./components/ui/Badge.tsx
q  import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import "./Badge.css";
export function Badge(param) {
    let { label, color = "gray", className = "" } = param;
    return /*#__PURE__*/ _jsx("span", {
        className: "ov-badge".concat(className ? " ".concat(className) : ""),
        "data-color": color,
        children: label
    });
}
   047undefined4974undefined7696undefined98104undefined213216__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefinedC   1216Badge_Badgeundefined111185(0,jsx_runtime.jsx)undefinedRawSource   
// EXTERNAL MODULE: ./components/ui/ZoneTag.css
var ZoneTag = __webpack_require__(7798);
;// CONCATENATED MODULE: ./components/ui/ZoneTag.tsx
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import "./ZoneTag.css";
const ZONE_LABELS = {
    FREE: "Livre",
    CONDITIONAL: "Condicionada",
    FORBIDDEN: "Proibida"
};
export function ZoneTag(param) {
    let { zone, className = "" } = param;
    return /*#__PURE__*/ _jsxs("span", {
        className: "ov-zone-tag".concat(className ? " ".concat(className) : ""),
        "data-zone": zone,
        role: "status",
        "aria-label": "Zona ".concat(ZONE_LABELS[zone]),
        children: [
            /*#__PURE__*/ _jsx("span", {
                className: "ov-zone-dot",
                "aria-hidden": "true"
            }),
            ZONE_LABELS[zone]
        ]
    });
}
6   062undefined6489undefined91113undefined218224undefined'   115121ZoneTag_ZoneTagundefinedRawSource  
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(7648);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
var use_reduced_motion = __webpack_require__(2345);
// EXTERNAL MODULE: ./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs + 241 modules
var proxy = __webpack_require__(8595);
// EXTERNAL MODULE: ./components/ui/SpotCard.css
var SpotCard = __webpack_require__(3445);
;// CONCATENATED MODULE: ./components/ui/SpotCard.tsx
8  /* __next_internal_client_entry_do_not_use__ SpotCard auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { motion, useReducedMotion } from "framer-motion";
import { Badge } from "./Badge";
import "./SpotCard.css";
const DIFFICULTY_LABEL = {
    BEGINNER: "Iniciante",
    INTERMEDIATE: "Interm\xe9dio",
    ADVANCED: "Avan\xe7ado",
    EXPERT: "Expert"
};
const DIFFICULTY_COLOR = {
    BEGINNER: "green",
    INTERMEDIATE: "blue",
    ADVANCED: "orange",
    EXPERT: "red"
};
// Drone SVG icon placeholder
function DroneIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsxs("svg", {
        className: className,
        viewBox: "0 0 40 40",
        fill: "none",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: [
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "10",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "10",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("circle", {
                cx: "30",
                cy: "30",
                r: "5",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("rect", {
                x: "14",
                y: "18",
                width: "12",
                height: "4",
                rx: "2",
                fill: "currentColor"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "14",
                x2: "14",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "14",
                x2: "26",
                y2: "18",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "10",
                y1: "26",
                x2: "14",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            }),
            /*#__PURE__*/ _jsx("line", {
                x1: "30",
                y1: "26",
                x2: "26",
                y2: "22",
                stroke: "currentColor",
                strokeWidth: "2"
            })
        ]
    });
}
function StarIcon(param) {
    let { className } = param;
    return /*#__PURE__*/ _jsx("svg", {
        className: className,
        viewBox: "0 0 12 12",
        fill: "currentColor",
        xmlns: "http://www.w3.org/2000/svg",
        "aria-hidden": "true",
        children: /*#__PURE__*/ _jsx("path", {
            d: "M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"
        })
    });
}
export function SpotCard(param) {
    let { spot, className = "" } = param;
    const shouldReduceMotion = useReducedMotion();
    const motionProps = shouldReduceMotion ? {} : {
        whileHover: {
            y: -4,
            boxShadow: "0 30px 60px -30px rgba(13,27,42,0.35)",
            borderColor: "var(--ov-blue-100)"
        },
        transition: {
            duration: 0.24,
            ease: [
                0.22,
                0.61,
                0.36,
                1
            ]
        }
    };
    const visibleTags = spot.tags.slice(0, 3);
    return /*#__PURE__*/ _jsx(motion.div, {
        className: "ov-spot-card".concat(className ? " ".concat(className) : ""),
        ...motionProps,
        children: /*#__PURE__*/ _jsxs(Link, {
            href: "/spots/".concat(spot.id),
            className: "ov-spot-card",
            style: {
                display: "contents"
            },
            children: [
                /*#__PURE__*/ _jsx("div", {
                    className: "ov-spot-card__cover",
                    children: spot.coverImage ? /*#__PURE__*/ _jsx("img", {
                        src: spot.coverImage,
                        alt: spot.name,
                        loading: "lazy"
                    }) : /*#__PURE__*/ _jsx("div", {
                        className: "ov-spot-card__cover-placeholder",
                        children: /*#__PURE__*/ _jsx(DroneIcon, {
                            className: "ov-spot-card__cover-icon"
                        })
                    })
                }),
                /*#__PURE__*/ _jsxs("div", {
                    className: "ov-spot-card__body",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__header",
                            children: [
                                /*#__PURE__*/ _jsx("h3", {
                                    className: "ov-spot-card__name",
                                    children: spot.name
                                }),
                                /*#__PURE__*/ _jsx(Badge, {
                                    label: DIFFICULTY_LABEL[spot.difficulty],
                                    color: DIFFICULTY_COLOR[spot.difficulty]
                                })
                            ]
                        }),
                        spot.description && /*#__PURE__*/ _jsx("p", {
                            className: "ov-spot-card__desc",
                            children: spot.description
                        }),
                        (spot.avgRating !== null || spot.reviewCount > 0) && /*#__PURE__*/ _jsxs("div", {
                            className: "ov-spot-card__meta",
                            children: [
                                spot.avgRating !== null && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__rating",
                                    children: [
                                        /*#__PURE__*/ _jsx(StarIcon, {
                                            className: "ov-spot-card__star"
                                        }),
                                        spot.avgRating
                                    ]
                                }),
                                spot.reviewCount > 0 && /*#__PURE__*/ _jsxs("span", {
                                    className: "ov-spot-card__reviews",
                                    children: [
                                        spot.reviewCount,
                                        " ",
                                        spot.reviewCount === 1 ? "avalia\xe7\xe3o" : "avalia\xe7\xf5es"
                                    ]
                                })
                            ]
                        }),
                        visibleTags.length > 0 && /*#__PURE__*/ _jsx("ul", {
                            className: "ov-spot-card__tags",
                            "aria-label": "Tags",
                            children: visibleTags.map((tag)=>/*#__PURE__*/ _jsx("li", {
                                    className: "ov-spot-card__tag",
                                    children: tag
                                }, tag))
                        })
                    ]
                })
            ]
        })
    });
}
`  62124undefined126151undefined153181undefined183239undefined241272undefined274297undefined676680__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined895898__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined11031106__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined13111314__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined15191522__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined17271730__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined19541957__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined21882191__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined24222425__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined26562659__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined29662969__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined31783181__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined33173323undefined34243439__WEBPACK_MODULE_REFERENCE__8_5b22757365526564756365644d6f74696f6e225d_call_directImport_asiSafe1__._undefined39153918__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined39203925__WEBPACK_MODULE_REFERENCE__9_5b226d6f74696f6e225d_asiSafe1__._undefined40724076__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined40784081__WEBPACK_MODULE_REFERENCE__7_5b2264656661756c74225d_directImport_asiSafe1__._undefined42964299__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined44264429__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined46054608__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined47374740__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined49214925__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined50595063__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined52235226__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54435446__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined54485452__WEBPACK_MODULE_REFERENCE__4_5b224261646765225d_directImport_asiSafe1__._undefined57635766__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined60106014__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined61996203__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined63886391__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined67246728__WEBPACK_MODULE_REFERENCE__1_5b226a737873225d_call_directImport_asiSafe1__._undefined72627265__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined74617464__WEBPACK_MODULE_REFERENCE__1_5b226a7378225d_call_directImport_asiSafe1__._undefined  445521(0,jsx_runtime.jsxs)undefined736810(0,jsx_runtime.jsx)undefined10151089(0,jsx_runtime.jsx)undefined12941368(0,jsx_runtime.jsx)undefined15731647(0,jsx_runtime.jsx)undefined18521926(0,jsx_runtime.jsx)undefined21502224(0,jsx_runtime.jsx)undefined24552529(0,jsx_runtime.jsx)undefined27602834(0,jsx_runtime.jsx)undefined30653139(0,jsx_runtime.jsx)undefined34463520(0,jsx_runtime.jsx)undefined37293803(0,jsx_runtime.jsx)undefined39483955SpotCard_SpotCardundefined40394139(0,use_reduced_motion/* useReducedMotion */.J)undefined46154689(0,jsx_runtime.jsx)undefined46914753proxy/* motion */.Eundefined49004976(0,jsx_runtime.jsxs)undefined49785055api_link["default"]undefined52705344(0,jsx_runtime.jsx)undefined54715545(0,jsx_runtime.jsx)undefined57215795(0,jsx_runtime.jsx)undefined59245998(0,jsx_runtime.jsx)undefined61796255(0,jsx_runtime.jsxs)undefined63896465(0,jsx_runtime.jsxs)undefined66256699(0,jsx_runtime.jsx)undefined69166990(0,jsx_runtime.jsx)undefined69927065Badge_Badgeundefined73767450(0,jsx_runtime.jsx)undefined76947770(0,jsx_runtime.jsxs)undefined79558031(0,jsx_runtime.jsxs)undefined82168290(0,jsx_runtime.jsx)undefined86238699(0,jsx_runtime.jsxs)undefined92339307(0,jsx_runtime.jsx)undefined95039577(0,jsx_runtime.jsx)undefinedRawSource3   
;// CONCATENATED MODULE: ./components/ui/index.ts
   export { Button } from "./Button";
export { Badge } from "./Badge";
export { ZoneTag } from "./ZoneTag";
export { SpotCard } from "./SpotCard";
6   033undefined3566undefined68103undefined105142undefined   ,

/***/ 2165:
&  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FK: function() { return /* binding */ isGoodForFlying; },
/* harmony export */   Qk: function() { return /* binding */ wmoCodeToLabel; }
/* harmony export */ });
/* unused harmony export fetchOpenMeteo */
  export async function fetchOpenMeteo(lat, lng) {
    const url = new URL("https://api.open-meteo.com/v1/forecast");
    url.searchParams.set("latitude", lat.toFixed(4));
    url.searchParams.set("longitude", lng.toFixed(4));
    url.searchParams.set("current", "temperature_2m,windspeed_10m,winddirection_10m,weathercode");
    url.searchParams.set("wind_speed_unit", "kmh");
    url.searchParams.set("timezone", "Europe/Lisbon");
    const res = await fetch(url.toString(), {
        next: {
            revalidate: 1800
        }
    });
    if (!res.ok) throw new Error("Open-Meteo error: ".concat(res.status));
    const json = await res.json();
    const c = json.current;
    return {
        temperature: c.temperature_2m,
        windspeed: c.windspeed_10m,
        winddirection: c.winddirection_10m,
        weathercode: c.weathercode,
        time: c.time,
        source: "openmeteo"
    };
}
export function wmoCodeToLabel(code) {
    if (code === 0) return "C\xe9u limpo";
    if (code <= 3) return "Nuvens";
    if (code <= 9) return "Nevoeiro";
    if (code <= 29) return "Precipita\xe7\xe3o";
    if (code <= 69) return "Chuva";
    if (code <= 79) return "Neve";
    if (code <= 84) return "Aguaceiros";
    if (code <= 99) return "Trovoada";
    return "Condi\xe7\xf5es severas";
}
export function isGoodForFlying(weather) {
    return weather.windspeed < 30 && weather.weathercode <= 3;
}
+   06undefined905911undefined13011307undefined   ,

/***/ 7648:
}}  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": function() { return /* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a; }
/* harmony export */ });
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2972);
/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);
k   export { default } from "../client/link";
export * from "../client/link";

//# sourceMappingURL=link.js.map   040undefined4272undefined   ,

/***/ 9376:
yy  /* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5475);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useRouter")) __webpack_require__.d(__webpack_exports__, { useRouter: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useRouter; } });
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "useSearchParams")) __webpack_require__.d(__webpack_exports__, { useSearchParams: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.useSearchParams; } });
{X   export * from "../client/components/navigation";

//# sourceMappingURL=navigation.js.map   047undefined   ,

/***/ 9221:
u   /***/ (function() {

w'   // extracted by mini-css-extract-plugin   ,

/***/ 613:
ru   ,

/***/ 4639:
qt   ,

/***/ 3445:
ps   ,

/***/ 7798:
or   ,

/***/ 2345:
np   /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {

"use strict";
m  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ useReducedMotion; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2265);
/* harmony import */ var _index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5957);
/* harmony import */ var _state_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4004);
oP  import { useState } from 'react';
import { initPrefersReducedMotion } from './index.mjs';
import { warnOnce } from '../warn-once.mjs';
import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';

/**
 * A hook that returns `true` if we should be using reduced motion based on the current device's Reduced Motion setting.
 *
 * This can be used to implement changes to your UI based on Reduced Motion. For instance, replacing motion-sickness inducing
 * `x`/`y` animations with `opacity`, disabling the autoplay of background videos, or turning off parallax motion.
 *
 * It will actively respond to changes and re-render your components with the latest setting.
 *
 * ```jsx
 * export function Sidebar({ isOpen }) {
 *   const shouldReduceMotion = useReducedMotion()
 *   const closedX = shouldReduceMotion ? 0 : "-100%"
 *
 *   return (
 *     <motion.div animate={{
 *       opacity: isOpen ? 1 : 0,
 *       x: isOpen ? 0 : closedX
 *     }} />
 *   )
 * }
 * ```
 *
 * @return boolean
 *
 * @public
 */
function useReducedMotion() {
    /**
     * Lazy initialisation of prefersReducedMotion
     */
    !hasReducedMotionListener.current && initPrefersReducedMotion();
    const [shouldReduceMotion] = useState(prefersReducedMotion.current);
    if (process.env.NODE_ENV !== "production") {
        warnOnce(shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.");
    }
    /**
     * TODO See if people miss automatically updating shouldReduceMotion setting
     */
    return shouldReduceMotion;
}

export { useReducedMotion };
  032undefined3488undefined90133undefined135211undefined11271150_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .hasReducedMotionListener */ .Oundefined11631186(0,_index_mjs__WEBPACK_IMPORTED_MODULE_2__/* .initPrefersReducedMotion */ .A)undefined12241231(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)undefined12331252_state_mjs__WEBPACK_IMPORTED_MODULE_1__/* .prefersReducedMotion */ .nundefined12721308falseundefined13111454{}undefined15871614undefined   

}]);[aH  (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[991],{1988:function(e,a,r){"use strict";r.d(a,{SpotForm:function(){return p}});var t=r(7437),n=r(2265),o=r(9376),s=r(8595),l=r(5620);let i={map:{url:"https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OSM</a> &copy; <a href="https://carto.com/">CARTO</a>',maxZoom:19},satellite:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",attribution:'&copy; <a href="https://www.esri.com/">Esri</a>',maxZoom:19},satelliteLabels:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",attribution:"",maxZoom:19}},c='<div style="width:22px;height:22px;border-radius:50% 50% 50% 0;background:#0096FF;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4);transform:rotate(-45deg)"></div>';function d(e){let{lat:a,lng:o,onPick:s}=e,l=(0,n.useRef)(null),d=(0,n.useRef)(null),u=(0,n.useRef)(null),m=(0,n.useRef)(null),p=(0,n.useRef)(null),v=(0,n.useRef)(null),h=(0,n.useRef)(!1),[x,f]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{if(l.current&&!d.current)return(async()=>{let e=(await r.e(4212).then(r.t.bind(r,759,23))).default;await Promise.all([r.e(5641),r.e(5046)]).then(r.t.bind(r,5046,23)),m.current=e;let t=a?parseFloat(a):39.3999,n=o?parseFloat(o):-8.2245,v=!!(a&&o&&!isNaN(t)&&!isNaN(n)),x=e.map(l.current,{center:[t,n],zoom:v?13:7,zoomControl:!0});d.current=x;let f=i.map;p.current=e.tileLayer(f.url,{attribution:f.attribution,maxZoom:f.maxZoom,subdomains:"abcd"}).addTo(x);let g=()=>e.divIcon({className:"",html:c,iconSize:[22,22],iconAnchor:[11,22]}),b=(a,r)=>{u.current?u.current.setLatLng([a,r]):(u.current=e.marker([a,r],{icon:g(),draggable:!0}).addTo(x),u.current.on("dragend",()=>{let e=u.current.getLatLng();h.current=!0,s(e.lat,e.lng)}))};v&&b(t,n),x.on("click",e=>{b(e.latlng.lat,e.latlng.lng),h.current=!0,s(e.latlng.lat,e.latlng.lng)})})(),()=>{d.current&&(d.current.remove(),d.current=null,u.current=null,m.current=null,p.current=null,v.current=null)}},[]),(0,n.useEffect)(()=>{var e,a;let r=d.current,t=m.current;if(r&&t){if(p.current&&(r.removeLayer(p.current),p.current=null),v.current&&(r.removeLayer(v.current),v.current=null),x){let e=i.satellite;p.current=t.tileLayer(e.url,{attribution:e.attribution,maxZoom:e.maxZoom}).addTo(r);let a=i.satelliteLabels;v.current=t.tileLayer(a.url,{attribution:a.attribution,maxZoom:a.maxZoom,opacity:.9}).addTo(r)}else{let e=i.map;p.current=t.tileLayer(e.url,{attribution:e.attribution,maxZoom:e.maxZoom,subdomains:"abcd"}).addTo(r)}u.current&&(null===(e=(a=u.current).bringToFront)||void 0===e||e.call(a))}},[x]),(0,n.useEffect)(()=>{if(h.current){h.current=!1;return}let e=d.current,r=m.current;if(!e||!r||!a||!o)return;let t=parseFloat(a),n=parseFloat(o);isNaN(t)||isNaN(n)||(u.current?u.current.setLatLng([t,n]):(u.current=r.marker([t,n],{icon:r.divIcon({className:"",html:c,iconSize:[22,22],iconAnchor:[11,22]}),draggable:!0}).addTo(e),u.current.on("dragend",()=>{let e=u.current.getLatLng();h.current=!0,s(e.lat,e.lng)})),e.setView([t,n],Math.max(e.getZoom(),13)))},[a,o]),(0,t.jsxs)("div",{style:{borderRadius:10,overflow:"hidden",border:"1.5px solid var(--ov-line)",marginBottom:"var(--ov-space-3)",position:"relative"},children:[(0,t.jsx)("div",{ref:l,style:{width:"100%",height:320},"aria-label":"Mapa para seleccionar localiza\xe7\xe3o"}),(0,t.jsx)("button",{type:"button",onClick:()=>f(e=>!e),style:{position:"absolute",top:10,right:10,zIndex:1e3,padding:"5px 10px",borderRadius:6,background:x?"#0096FF":"rgba(255,255,255,0.92)",color:x?"#fff":"#0A1628",border:"1.5px solid ".concat(x?"#0096FF":"rgba(0,0,0,0.15)"),fontSize:11,fontWeight:600,fontFamily:"var(--ov-font-sans)",cursor:"pointer",backdropFilter:"blur(4px)",boxShadow:"0 1px 4px rgba(0,0,0,.15)"},"aria-pressed":x,children:x?"Mapa":"Sat\xe9lite"}),(0,t.jsx)("div",{style:{padding:"8px 12px",background:"var(--ov-cloud)",borderTop:"1px solid var(--ov-line)",fontSize:11,color:"var(--ov-slate)",fontFamily:"var(--ov-font-sans)"},children:"Clica no mapa para marcar o spot \xb7 Arrasta o marcador para ajustar"})]})}r(9221);let u=[{value:"BEGINNER",label:"Iniciante",desc:"Espa\xe7o aberto, sem obst\xe1culos"},{value:"INTERMEDIATE",label:"Interm\xe9dio",desc:"Requer alguma experi\xeancia"},{value:"ADVANCED",label:"Avan\xe7ado",desc:"Piloto experiente necess\xe1rio"}],m=["praia","montanha","urbano","p\xf4r-do-sol","costa","rural","parque","floresta"];function p(){let e=(0,o.useRouter)(),a=(0,n.useRef)(null),[r,i]=(0,n.useState)({name:"",description:"",lat:"",lng:"",altitude:"",difficulty:"BEGINNER"}),[c,p]=(0,n.useState)([]),[v,h]=(0,n.useState)(""),[x,f]=(0,n.useState)(null),[g,b]=(0,n.useState)(!1),j=e=>{i(a=>({...a,[e.target.name]:e.target.value}))},N=e=>{let a=e.trim().toLowerCase();a&&!c.includes(a)&&c.length<8&&p(e=>[...e,a]),h("")},y=e=>p(a=>a.filter(a=>a!==e)),w=async a=>{a.preventDefault(),f(null),b(!0);try{let a=await fetch("/api/spots",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r.name,description:r.description,lat:parseFloat(r.lat),lng:parseFloat(r.lng),altitude:r.altitude?parseInt(r.altitude):void 0,difficulty:r.difficulty,tags:c})}),l=await a.json();if(!a.ok){var t,n,o,s;f(null!==(s=null!==(o=null===(n=l.error)||void 0===n?void 0:null===(t=n.formErrors)||void 0===t?void 0:t[0])&&void 0!==o?o:l.error)&&void 0!==s?s:"Erro ao submeter spot");return}e.push("/spots?submitted=true")}catch(e){f("Erro de liga\xe7\xe3o. Tenta de novo.")}finally{b(!1)}};return(0,t.jsxs)(s.E.form,{className:"spot-form",onSubmit:w,initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.3},children:[x&&(0,t.jsx)("div",{className:"auth-error",role:"alert",children:x}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"spot-form-section-title",children:"Informa\xe7\xe3o b\xe1sica"}),(0,t.jsxs)("div",{className:"form-group",children:[(0,t.jsx)("label",{className:"form-label",htmlFor:"name",children:"Nome do spot *"}),(0,t.jsx)("input",{id:"name",name:"name",className:"form-input",value:r.name,onChange:j,required:!0,minLength:3,maxLength:120,placeholder:"Ex: Praia de Mira — zona norte"})]}),(0,t.jsxs)("div",{className:"form-group",style:{marginTop:"var(--ov-space-4)"},children:[(0,t.jsx)("label",{className:"form-label",htmlFor:"description",children:"Descri\xe7\xe3o *"}),(0,t.jsx)("textarea",{id:"description",name:"description",className:"form-input",value:r.description,onChange:j,required:!0,minLength:20,maxLength:2e3,rows:5,placeholder:"Descreve o local, o que o torna especial, o que devem saber antes de voar, acessos, estacionamento…",style:{resize:"vertical"}})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"spot-form-section-title",children:"Localiza\xe7\xe3o"}),(0,t.jsx)(d,{lat:r.lat,lng:r.lng,onPick:(e,a)=>i(r=>({...r,lat:e.toFixed(6),lng:a.toFixed(6)}))}),(0,t.jsxs)("div",{className:"spot-form-grid-2",children:[(0,t.jsxs)("div",{className:"form-group",children:[(0,t.jsx)("label",{className:"form-label",htmlFor:"lat",children:"Latitude *"}),(0,t.jsx)("input",{id:"lat",name:"lat",type:"number",step:"any",className:"form-input",value:r.lat,onChange:j,required:!0,placeholder:"38.7223"})]}),(0,t.jsxs)("div",{className:"form-group",children:[(0,t.jsx)("label",{className:"form-label",htmlFor:"lng",children:"Longitude *"}),(0,t.jsx)("input",{id:"lng",name:"lng",type:"number",step:"any",className:"form-input",value:r.lng,onChange:j,required:!0,placeholder:"-9.1393"})]})]}),(0,t.jsxs)("p",{className:"coords-hint",children:["Dica: abre o local no"," ",(0,t.jsx)("a",{href:"https://maps.google.com",target:"_blank",rel:"noopener noreferrer",children:"Google Maps"}),", clica com o bot\xe3o direito e copia as coordenadas."]}),(0,t.jsxs)("div",{className:"form-group",style:{marginTop:"var(--ov-space-4)",maxWidth:220},children:[(0,t.jsx)("label",{className:"form-label",htmlFor:"altitude",children:"Altitude m\xe1xima recomendada (m)"}),(0,t.jsx)("input",{id:"altitude",name:"altitude",type:"number",min:"0",max:"300",className:"form-input",value:r.altitude,onChange:j,placeholder:"Ex: 120"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"spot-form-section-title",children:"Dificuldade"}),(0,t.jsx)("div",{className:"diff-cards",children:u.map(e=>{let{value:a,label:n,desc:o}=e;return(0,t.jsxs)("label",{className:"diff-card",children:[(0,t.jsx)("input",{type:"radio",name:"difficulty",value:a,checked:r.difficulty===a,onChange:()=>i(e=>({...e,difficulty:a}))}),(0,t.jsxs)("span",{className:"diff-card-label",children:[(0,t.jsx)("span",{className:"diff-card-name",children:n}),(0,t.jsx)("span",{className:"diff-card-desc",children:o})]})]},a)})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"spot-form-section-title",children:"Tags"}),(0,t.jsx)("label",{className:"form-label",htmlFor:"tag-input",style:{marginBottom:"var(--ov-space-2)",display:"block"},children:"Categorias do spot (m\xe1x. 8)"}),(0,t.jsxs)("div",{className:"tags-input-wrap",onClick:()=>{var e;return null===(e=a.current)||void 0===e?void 0:e.focus()},children:[c.map(e=>(0,t.jsxs)("span",{className:"tag-pill",children:[e,(0,t.jsx)("button",{type:"button",className:"tag-pill-remove",onClick:a=>{a.stopPropagation(),y(e)},"aria-label":"Remover tag ".concat(e),children:"\xd7"})]},e)),(0,t.jsx)("input",{ref:a,id:"tag-input",className:"tags-text-input",value:v,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key||","===e.key?(e.preventDefault(),N(v)):"Backspace"===e.key&&!v&&c.length>0&&p(e=>e.slice(0,-1))},onBlur:()=>v.trim()&&N(v),placeholder:0===c.length?"praia, montanha, p\xf4r-do-sol… (Enter para adicionar)":"",disabled:c.length>=8})]}),m.filter(e=>!c.includes(e)).length>0&&(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--ov-space-2)",marginTop:"var(--ov-space-2)"},children:m.filter(e=>!c.includes(e)).map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>N(e),style:{padding:"2px 10px",border:"1px solid var(--ov-line)",borderRadius:"999px",background:"var(--ov-cloud)",fontFamily:"var(--ov-font-sans)",fontSize:12,color:"var(--ov-steel)",cursor:"pointer"},children:["+ ",e]},e))})]}),(0,t.jsx)(l.zx,{type:"submit",loading:g,style:{width:"100%",justifyContent:"center"},children:"Submeter Spot para Modera\xe7\xe3o"}),(0,t.jsx)("p",{className:"spot-form-note",children:"O spot ser\xe1 analisado pela nossa equipa antes de aparecer na plataforma. Normalmente revisto em 24–48 horas."})]})}},5081:function(e,a,r){"use strict";r.d(a,{SpotList:function(){return l}});var t=r(7437);r(2265);var n=r(2345),o=r(8595),s=r(5620);function l(e){let{spots:a,emptyMessage:r="Nenhum spot encontrado."}=e,l=(0,n.J)();if(0===a.length)return(0,t.jsx)("div",{style:{textAlign:"center",padding:"var(--ov-space-20)",color:"var(--ov-slate)",fontFamily:"var(--ov-font-sans)"},children:r});let i={hidden:{opacity:0,y:20},visible:{opacity:1,y:0}};return(0,t.jsx)(o.E.div,{className:"spot-list",variants:l?void 0:{hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.06}}},initial:"hidden",animate:"visible",style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:"var(--ov-space-6)"},children:a.map(e=>{var a,r;return(0,t.jsx)(o.E.div,{variants:l?void 0:i,children:(0,t.jsx)(s.Z4,{spot:{...e,avgRating:null!==(a=e.avgRating)&&void 0!==a?a:null,reviewCount:null!==(r=e.reviewCount)&&void 0!==r?r:0}})},e.id)})})}},5002:function(e,a,r){"use strict";r.d(a,{SpotWeatherCard:function(){return s}});var t=r(7437),n=r(2265),o=r(2165);function s(e){let{lat:a,lng:r}=e,[s,l]=(0,n.useState)(null),[i,c]=(0,n.useState)(!0),[d,u]=(0,n.useState)(!1);(0,n.useEffect)(()=>{fetch("/api/weather?lat=".concat(a,"&lng=").concat(r)).then(e=>e.json()).then(e=>{e.error?u(!0):l(e)}).catch(()=>u(!0)).finally(()=>c(!1))},[a,r]);let m=s?(0,o.FK)(s):null;return(0,t.jsxs)(t.Fragment,{children:[i&&(0,t.jsx)("div",{className:"meteo-row",children:(0,t.jsx)("span",{className:"meteo-lbl",children:"A carregar…"})}),d&&(0,t.jsx)("div",{className:"meteo-verdict",style:{background:"var(--ov-cloud)",color:"var(--ov-slate)"},children:"Dados meteorol\xf3gicos indispon\xedveis"}),s&&!d&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"meteo-row",children:[(0,t.jsx)("span",{className:"meteo-lbl",children:"Temperatura"}),(0,t.jsxs)("span",{className:"meteo-val",children:[s.temperature,"\xb0C"]})]}),(0,t.jsxs)("div",{className:"meteo-row",children:[(0,t.jsx)("span",{className:"meteo-lbl",children:"Vento"}),(0,t.jsxs)("span",{className:"meteo-val",children:[Math.round(s.windspeed)," km/h ",["N","NE","E","SE","S","SW","W","NW"][Math.round(s.winddirection/45)%8]]})]}),(0,t.jsxs)("div",{className:"meteo-row",children:[(0,t.jsx)("span",{className:"meteo-lbl",children:"Condi\xe7\xf5es"}),(0,t.jsx)("span",{className:"meteo-val",children:(0,o.Qk)(s.weathercode)})]}),(0,t.jsxs)("div",{className:"meteo-row",children:[(0,t.jsx)("span",{className:"meteo-lbl",children:"P\xf4r do sol"}),(0,t.jsx)("span",{className:"meteo-val",children:function(){let e=new Date().getMonth();return"~".concat([17,18,19,20,21,21,21,21,20,19,17,17][e],":00")}()})]}),(0,t.jsx)("div",{className:"meteo-verdict",style:m?void 0:{background:"var(--ov-banned-bg)",color:"var(--ov-banned-fg)"},children:m?"Boas condi\xe7\xf5es para voar":"Vento ".concat(Math.round(s.windspeed)," km/h — n\xe3o recomendado")})]})]})}},4226:function(e,a,r){"use strict";r.d(a,{z:function(){return s}});var t=r(7437);r(2265);var n=r(2345),o=r(8595);function s(e){let{variant:a="primary",size:r="md",loading:s=!1,className:l="",children:i,href:c,...d}=e,u=(0,n.J)(),m=void 0===c&&d.disabled||s,p=m||u?{}:{whileHover:{scale:1.02},whileTap:{scale:.97},transition:{duration:.14,ease:[.22,.61,.36,1]}},v={"data-variant":a,"data-size":r,className:"ov-btn".concat(l?" ".concat(l):"")},h=(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)("span",{className:"ov-btn-spinner","data-testid":"button-spinner","aria-hidden":"true"}),i]});if(void 0!==c){let{...e}=d;return(0,t.jsx)(o.E.a,{href:c,...v,...e,...p,children:h})}let{disabled:x,...f}=d;return(0,t.jsx)(o.E.button,{disabled:m,...v,...f,...p,children:h})}r(4639)},5620:function(e,a,r){"use strict";r.d(a,{zx:function(){return t.z},Z4:function(){return p}});var t=r(4226),n=r(7437);function o(e){let{label:a,color:r="gray",className:t=""}=e;return(0,n.jsx)("span",{className:"ov-badge".concat(t?" ".concat(t):""),"data-color":r,children:a})}r(2265),r(613),r(7798);var s=r(7648),l=r(2345),i=r(8595);r(3445);let c={BEGINNER:"Iniciante",INTERMEDIATE:"Interm\xe9dio",ADVANCED:"Avan\xe7ado",EXPERT:"Expert"},d={BEGINNER:"green",INTERMEDIATE:"blue",ADVANCED:"orange",EXPERT:"red"};function u(e){let{className:a}=e;return(0,n.jsxs)("svg",{className:a,viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"10",cy:"10",r:"5",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("circle",{cx:"30",cy:"10",r:"5",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("circle",{cx:"10",cy:"30",r:"5",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("circle",{cx:"30",cy:"30",r:"5",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("rect",{x:"14",y:"18",width:"12",height:"4",rx:"2",fill:"currentColor"}),(0,n.jsx)("line",{x1:"10",y1:"14",x2:"14",y2:"18",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("line",{x1:"30",y1:"14",x2:"26",y2:"18",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("line",{x1:"10",y1:"26",x2:"14",y2:"22",stroke:"currentColor",strokeWidth:"2"}),(0,n.jsx)("line",{x1:"30",y1:"26",x2:"26",y2:"22",stroke:"currentColor",strokeWidth:"2"})]})}function m(e){let{className:a}=e;return(0,n.jsx)("svg",{className:a,viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M6 1l1.4 2.8 3.1.45-2.25 2.19.53 3.08L6 8.02 3.22 9.52l.53-3.08L1.5 4.25l3.1-.45L6 1z"})})}function p(e){let{spot:a,className:r=""}=e,t=(0,l.J)(),p=a.tags.slice(0,3);return(0,n.jsx)(i.E.div,{className:"ov-spot-card".concat(r?" ".concat(r):""),...t?{}:{whileHover:{y:-4,boxShadow:"0 30px 60px -30px rgba(13,27,42,0.35)",borderColor:"var(--ov-blue-100)"},transition:{duration:.24,ease:[.22,.61,.36,1]}},children:(0,n.jsxs)(s.default,{href:"/spots/".concat(a.id),className:"ov-spot-card",style:{display:"contents"},children:[(0,n.jsx)("div",{className:"ov-spot-card__cover",children:a.coverImage?(0,n.jsx)("img",{src:a.coverImage,alt:a.name,loading:"lazy"}):(0,n.jsx)("div",{className:"ov-spot-card__cover-placeholder",children:(0,n.jsx)(u,{className:"ov-spot-card__cover-icon"})})}),(0,n.jsxs)("div",{className:"ov-spot-card__body",children:[(0,n.jsxs)("div",{className:"ov-spot-card__header",children:[(0,n.jsx)("h3",{className:"ov-spot-card__name",children:a.name}),(0,n.jsx)(o,{label:c[a.difficulty],color:d[a.difficulty]})]}),a.description&&(0,n.jsx)("p",{className:"ov-spot-card__desc",children:a.description}),(null!==a.avgRating||a.reviewCount>0)&&(0,n.jsxs)("div",{className:"ov-spot-card__meta",children:[null!==a.avgRating&&(0,n.jsxs)("span",{className:"ov-spot-card__rating",children:[(0,n.jsx)(m,{className:"ov-spot-card__star"}),a.avgRating]}),a.reviewCount>0&&(0,n.jsxs)("span",{className:"ov-spot-card__reviews",children:[a.reviewCount," ",1===a.reviewCount?"avalia\xe7\xe3o":"avalia\xe7\xf5es"]})]}),p.length>0&&(0,n.jsx)("ul",{className:"ov-spot-card__tags","aria-label":"Tags",children:p.map(e=>(0,n.jsx)("li",{className:"ov-spot-card__tag",children:e},e))})]})]})})}},2165:function(e,a,r){"use strict";function t(e){return 0===e?"C\xe9u limpo":e<=3?"Nuvens":e<=9?"Nevoeiro":e<=29?"Precipita\xe7\xe3o":e<=69?"Chuva":e<=79?"Neve":e<=84?"Aguaceiros":e<=99?"Trovoada":"Condi\xe7\xf5es severas"}function n(e){return e.windspeed<30&&e.weathercode<=3}r.d(a,{FK:function(){return n},Qk:function(){return t}})},7648:function(e,a,r){"use strict";r.d(a,{default:function(){return n.a}});var t=r(2972),n=r.n(t)},9376:function(e,a,r){"use strict";var t=r(5475);r.o(t,"usePathname")&&r.d(a,{usePathname:function(){return t.usePathname}}),r.o(t,"useRouter")&&r.d(a,{useRouter:function(){return t.useRouter}}),r.o(t,"useSearchParams")&&r.d(a,{useSearchParams:function(){return t.useSearchParams}})},9221:function(){},613:function(){},4639:function(){},3445:function(){},7798:function(){},2345:function(e,a,r){"use strict";r.d(a,{J:function(){return s}});var t=r(2265),n=r(5957),o=r(4004);function s(){o.O.current||(0,n.A)();let[e]=(0,t.useState)(o.n.current);return e}}}]);XM   self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB();Uy  self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-b6e821a09d7d9d22.js","static/chunks/fd9d1056-c217273d0a8a69f9.js","static/chunks/2117-b721f050ec4a0755.js","static/chunks/main-app-aaac56f415d2f7f6.js"],pages:{"/_app":["static/chunks/webpack-b6e821a09d7d9d22.js","static/chunks/framework-a63c59c368572696.js","static/chunks/main-41342c591a4c4156.js","static/chunks/pages/_app-78ddf957b9a9b996.js"],"/_error":["static/chunks/webpack-b6e821a09d7d9d22.js","static/chunks/framework-a63c59c368572696.js","static/chunks/main-41342c591a4c4156.js","static/chunks/pages/_error-7ce03bcf1df914ce.js"]},ampFirstPages:[]},self.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];R   self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-7ce03bcf1df914ce.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();          `e3b383565a593b19635338ceba2e26eb512f5b48d06fd4ae3b1ccf74c77feeac0b63369e45fbf9b93eaf6d2b23d6d25884089058cc48902d66533b90985117cded1ecbc696e1c34779e6a5b26c3260b34c5443024524281fee39aeca99ac46d0d5a3e54c617390e89629116d2a1564fbf0ee11fb5ac2e44348cba3932632124648d741c24d8ee337efb9522d70c93d48                    "  {
  "pages": {
    "/_not-found/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/chunks/app/_not-found/page-337b84af8fd492ea.js"
    ],
    "/layout": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/627f7497ef5b48be.css",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/1dbda285f3079780.css",
      "static/css/ac23fcefa2ed64e7.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/5379-629906b69512942f.js",
      "static/chunks/2286-15ceee0e2348bf88.js",
      "static/chunks/app/layout-1e3255f08a96d513.js"
    ],
    "/auth/register/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/a79920ca81538f82.css",
      "static/css/ef46db3751d8e999.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/5379-629906b69512942f.js",
      "static/chunks/app/auth/register/page-21bb2231b12d7d2a.js"
    ],
    "/contacto/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/50212f426b31f9a5.css",
      "static/chunks/app/contacto/page-d9f2984248fc2f02.js"
    ],
    "/notams/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/4b068fc7dd9e7607.css",
      "static/chunks/app/notams/page-a9bf371be9327231.js"
    ],
    "/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/9fd2f5db773d77d0.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/app/page-cdcb13ad88bc5161.js"
    ],
    "/perfil/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/1dbda285f3079780.css",
      "static/css/65e59e3ab1c7d672.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/5379-629906b69512942f.js",
      "static/chunks/app/perfil/page-c4f331d57064ab2e.js"
    ],
    "/spots/[id]/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/6f4077229a3dd488.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/spots/[id]/page-3aa1adaccb6192b8.js"
    ],
    "/zonas-anac/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/4b068fc7dd9e7607.css",
      "static/chunks/app/zonas-anac/page-0b71092dd79da3c5.js"
    ],
    "/auth/login/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/a79920ca81538f82.css",
      "static/css/ef46db3751d8e999.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/5379-629906b69512942f.js",
      "static/chunks/app/auth/login/page-627d61ad0bb21508.js"
    ],
    "/mapa/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/558b863386a0c54f.css",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/app/mapa/page-1220807d787254a4.js"
    ],
    "/comunidade/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/8704a9e3b05ed956.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/comunidade/page-67ca1c1882e5d69e.js"
    ],
    "/privacidade/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/50212f426b31f9a5.css",
      "static/chunks/app/privacidade/page-d90e08a274fea59c.js"
    ],
    "/spots/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/1dbda285f3079780.css",
      "static/css/d1755de5d924b24b.css",
      "static/css/47e9f0d02561ec3a.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/991-d9dbd17c074df672.js",
      "static/chunks/app/spots/page-77417b049f0ad452.js"
    ],
    "/spots/novo/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/742e55b48ab6a9a2.css",
      "static/css/1dbda285f3079780.css",
      "static/css/d1755de5d924b24b.css",
      "static/css/f897501469275b93.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/8595-3dd2301d8465cae9.js",
      "static/chunks/991-d9dbd17c074df672.js",
      "static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"
    ],
    "/termos/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/50212f426b31f9a5.css",
      "static/chunks/app/termos/page-577b11178dcccb85.js"
    ],
    "/admin/reviews/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/2759b848726a3c84.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/admin/reviews/page-53072728d03b31ba.js"
    ],
    "/admin/layout": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/2759b848726a3c84.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/admin/layout-79e79f4479caae51.js"
    ],
    "/admin/spots/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/css/2759b848726a3c84.css",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/admin/spots/page-2d2cee9d40fd8bec.js"
    ],
    "/admin/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/chunks/2972-be6d5e38da6a8008.js",
      "static/chunks/app/admin/page-45042f19b65fb461.js"
    ],
    "/admin/users/page": [
      "static/chunks/webpack-b6e821a09d7d9d22.js",
      "static/chunks/fd9d1056-c217273d0a8a69f9.js",
      "static/chunks/2117-b721f050ec4a0755.js",
      "static/chunks/main-app-aaac56f415d2f7f6.js",
      "static/chunks/app/admin/users/page-47afb6bb2b55b6b1.js"
    ]
  }
}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\_not-found\\page":[]}}%  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/auth/register/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","8454","static/chunks/app/auth/register/page-21bb2231b12d7d2a.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page":["static/css/742e55b48ab6a9a2.css","static/css/a79920ca81538f82.css","static/css/ef46db3751d8e999.css"]}}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/contacto/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":["6840","static/chunks/app/contacto/page-d9f2984248fc2f02.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\contacto\\page":["static/css/50212f426b31f9a5.css"]}}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/notams/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":["804","static/chunks/app/notams/page-a9bf371be9327231.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\notams\\page":["static/css/4b068fc7dd9e7607.css"]}}W$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"]}}%  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/perfil/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","4550","static/chunks/app/perfil/page-c4f331d57064ab2e.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\perfil\\page":["static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/65e59e3ab1c7d672.css"]}}R*  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/spots/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","7213","static/chunks/app/spots/%5Bid%5D/page-3aa1adaccb6192b8.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","7213","static/chunks/app/spots/%5Bid%5D/page-3aa1adaccb6192b8.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","7213","static/chunks/app/spots/%5Bid%5D/page-3aa1adaccb6192b8.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","7213","static/chunks/app/spots/%5Bid%5D/page-3aa1adaccb6192b8.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\spots\\page":["static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/d1755de5d924b24b.css","static/css/47e9f0d02561ec3a.css"],"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page":["static/css/6f4077229a3dd488.css"]}}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/zonas-anac/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":["8739","static/chunks/app/zonas-anac/page-0b71092dd79da3c5.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page":["static/css/4b068fc7dd9e7607.css"]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/auth/login/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","6716","static/chunks/app/auth/login/page-627d61ad0bb21508.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","6716","static/chunks/app/auth/login/page-627d61ad0bb21508.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page":["static/css/742e55b48ab6a9a2.css","static/css/a79920ca81538f82.css","static/css/ef46db3751d8e999.css"]}}K&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/mapa/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":["8595","static/chunks/8595-3dd2301d8465cae9.js","7900","static/chunks/app/mapa/page-1220807d787254a4.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":["8595","static/chunks/8595-3dd2301d8465cae9.js","7900","static/chunks/app/mapa/page-1220807d787254a4.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":["8595","static/chunks/8595-3dd2301d8465cae9.js","7900","static/chunks/app/mapa/page-1220807d787254a4.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":["8595","static/chunks/8595-3dd2301d8465cae9.js","7900","static/chunks/app/mapa/page-1220807d787254a4.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\mapa\\page":["static/css/558b863386a0c54f.css"]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/comunidade/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","2284","static/chunks/app/comunidade/page-67ca1c1882e5d69e.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","2284","static/chunks/app/comunidade/page-67ca1c1882e5d69e.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","2284","static/chunks/app/comunidade/page-67ca1c1882e5d69e.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\comunidade\\page":["static/css/8704a9e3b05ed956.css"]}}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/privacidade/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":["7677","static/chunks/app/privacidade/page-d90e08a274fea59c.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\privacidade\\page":["static/css/50212f426b31f9a5.css"]}}(  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/spots/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\spots\\page":["static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/d1755de5d924b24b.css","static/css/47e9f0d02561ec3a.css"]}}*  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/spots/novo/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","4500","static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","4500","static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","4500","static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","4500","static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","5585","static/chunks/app/spots/page-77417b049f0ad452.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","991","static/chunks/991-d9dbd17c074df672.js","4500","static/chunks/app/spots/novo/page-333ca1bb3f82c035.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\spots\\page":["static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/d1755de5d924b24b.css","static/css/47e9f0d02561ec3a.css"],"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page":["static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/d1755de5d924b24b.css","static/css/f897501469275b93.css"]}}$  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/termos/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":["1770","static/chunks/app/termos/page-577b11178dcccb85.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\termos\\page":["static/css/50212f426b31f9a5.css"]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/reviews/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","5687","static/chunks/app/admin/reviews/page-53072728d03b31ba.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","9091","static/chunks/app/admin/layout-79e79f4479caae51.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\layout":["static/css/2759b848726a3c84.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\page":[],"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page":["static/css/2759b848726a3c84.css"]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/spots/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","9091","static/chunks/app/admin/layout-79e79f4479caae51.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","4593","static/chunks/app/admin/spots/page-2d2cee9d40fd8bec.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\layout":["static/css/2759b848726a3c84.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\page":[],"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page":["static/css/2759b848726a3c84.css"]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","9091","static/chunks/app/admin/layout-79e79f4479caae51.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\layout":["static/css/2759b848726a3c84.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\page":[]}}&  globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/users/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"632":{"*":{"id":"18942","name":"*","chunks":[],"async":false}},"708":{"*":{"id":"99621","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1988":{"*":{"id":"15971","name":"*","chunks":[],"async":false}},"1998":{"*":{"id":"50353","name":"*","chunks":[],"async":false}},"2063":{"*":{"id":"47874","name":"*","chunks":[],"async":false}},"2151":{"*":{"id":"33926","name":"*","chunks":[],"async":false}},"2621":{"*":{"id":"69867","name":"*","chunks":[],"async":false}},"2638":{"*":{"id":"10729","name":"*","chunks":[],"async":false}},"2821":{"*":{"id":"41967","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"79404","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"5002":{"*":{"id":"65532","name":"*","chunks":[],"async":false}},"5081":{"*":{"id":"83768","name":"*","chunks":[],"async":false}},"5101":{"*":{"id":"52837","name":"*","chunks":[],"async":false}},"5383":{"*":{"id":"60557","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"6923":{"*":{"id":"67198","name":"*","chunks":[],"async":false}},"7141":{"*":{"id":"39702","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"49194","name":"*","chunks":[],"async":false}},"7340":{"*":{"id":"88743","name":"*","chunks":[],"async":false}},"7525":{"*":{"id":"20131","name":"*","chunks":[],"async":false}},"8252":{"*":{"id":"17934","name":"*","chunks":[],"async":false}},"8333":{"*":{"id":"62375","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"9178":{"*":{"id":"47393","name":"*","chunks":[],"async":false}},"9221":{"*":{"id":"79210","name":"*","chunks":[],"async":false}},"9437":{"*":{"id":"5999","name":"*","chunks":[],"async":false}},"9633":{"*":{"id":"85685","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\globals.css":{"id":7960,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\Providers.tsx":{"id":2638,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\CookieBanner.tsx":{"id":5101,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\Footer.tsx":{"id":2063,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\GoogleAnalytics.tsx":{"id":8333,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\components\\layout\\NavBar.tsx":{"id":9437,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","5379","static/chunks/5379-629906b69512942f.js","2286","static/chunks/2286-15ceee0e2348bf88.js","3185","static/chunks/app/layout-1e3255f08a96d513.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\register\\page.tsx":{"id":1998,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\contacto\\page.tsx":{"id":7141,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\notams\\page.tsx":{"id":7200,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\page.tsx":{"id":7340,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","8595","static/chunks/8595-3dd2301d8465cae9.js","1931","static/chunks/app/page-cdcb13ad88bc5161.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\perfil\\page.tsx":{"id":6923,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\[id]\\page.css":{"id":3950,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotWeatherCard.tsx":{"id":5002,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\node_modules\\next\\dist\\esm\\client\\link.js":{"id":2972,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","3","static/chunks/app/admin/page-45042f19b65fb461.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\zonas-anac\\page.tsx":{"id":9633,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\LoginForm.tsx":{"id":2821,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\auth\\login\\page.css":{"id":9753,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\mapa\\page.css":{"id":1318,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\MapView.tsx":{"id":5383,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\NotamPanel.tsx":{"id":2151,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\map\\WeatherWidget.tsx":{"id":8252,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\comunidade\\page.css":{"id":5155,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\legal.css":{"id":632,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotForm.tsx":{"id":1988,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\SpotList.tsx":{"id":5081,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\components\\spots\\spots.css":{"id":9221,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\page.css":{"id":779,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\spots\\novo\\page.css":{"id":245,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\reviews\\page.tsx":{"id":2621,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\admin.css":{"id":9178,"name":"*","chunks":["2972","static/chunks/2972-be6d5e38da6a8008.js","9091","static/chunks/app/admin/layout-79e79f4479caae51.js"],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\spots\\page.tsx":{"id":708,"name":"*","chunks":[],"async":false},"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page.tsx":{"id":7525,"name":"*","chunks":["9674","static/chunks/app/admin/users/page-47afb6bb2b55b6b1.js"],"async":false}},"entryCSSFiles":{"D:\\Projectos\\Ondevoar\\":[],"D:\\Projectos\\Ondevoar\\app\\layout":["static/css/627f7497ef5b48be.css","static/css/742e55b48ab6a9a2.css","static/css/1dbda285f3079780.css","static/css/ac23fcefa2ed64e7.css"],"D:\\Projectos\\Ondevoar\\app\\page":["static/css/9fd2f5db773d77d0.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\layout":["static/css/2759b848726a3c84.css"],"D:\\Projectos\\Ondevoar\\app\\admin\\page":[],"D:\\Projectos\\Ondevoar\\app\\admin\\users\\page":[]}}