import React, { useState, useEffect } from 'react'; import ReactDOM from 'react-dom/client'; import { Menu, X, Compass, ArrowRight, Brain, Map as MapIcon, ShieldCheck, Mountain, Navigation, Zap, Check, ExternalLink, Cpu, Database, Users, Heart, Camera, Activity } from 'lucide-react'; import { initializeApp } from "firebase/app"; import { getAnalytics, isSupported } from "firebase/analytics"; // --- CONFIG & FIREBASE --- const firebaseConfig = { apiKey: "AIzaSyC2wvAg95Se6OsFj2hMpMZnnUM6W8o5fRk", authDomain: "fricamp-hjemmeside.firebaseapp.com", projectId: "fricamp-hjemmeside", storageBucket: "fricamp-hjemmeside.firebasestorage.app", messagingSenderId: "573618186606", appId: "1:573618186606:web:1e5c8fe29c50a7dec4b97f", measurementId: "G-VDSJGLLR9H" }; const app = initializeApp(firebaseConfig); if (typeof window !== 'undefined') { isSupported().then(supported => { if (supported) getAnalytics(app); }).catch(e => console.log('Analytics not supported')); } // --- COMPONENTS --- const Navbar = () => { const [isOpen, setIsOpen] = useState(false); const [scrolled, setScrolled] = useState(false); const [logoError, setLogoError] = useState(false); useEffect(() => { const handleScroll = () => setScrolled(window.scrollY > 50); window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, []); const handleNavClick = (e: any, href: string) => { if (href.startsWith('#')) { e.preventDefault(); const element = document.querySelector(href); if (element) { element.scrollIntoView({ behavior: 'smooth' }); setIsOpen(false); } } }; return ( ); }; const Hero = () => (
Fricamp aggregerer data fra NVDB, Nobil og Statens Kartverk for å gi deg et komplett situasjonsbilde av terrenget.
Fricamp er et dynamisk beslutningsverktøy som kombinerer data fra en rekke offentlige kilder:
Veksle mellom topografiske høydekurver fra Kartverket og høyoppløselige satellittbilder for å vurdere planhet.
Offisielle rasteplasser med fasilitetsdata (toalett, møbler), vinterstengte veier og verifiserte snuplasser.
Drikkevann, gapahuker og bålplasser fra OSM. Sanntidsdata for elbil-lading via Nobil langs ruten din.
Sanntidsvisning av bommer og sperringer. Oversikt over kaier og marinaer for kystreisende.
{/* Floating Info Card */}
NVDB API: Live
Nobil Data: Aktiv
Maritime lag: Ok
Rutebygger: Klar
{f.description}
Ved å opprette en profil blir Fricamp ditt aktive verktøy for forvaltning av natur og egne opplevelser.
Lagre "perler" som kun er synlige for deg. Organiser lagrede ruter og GPX-filer etter region for rask tilgang.
Legg inn anmeldelser og bilder. Hjelp andre å vite om en plass er overfylt eller om utsikten holder mål.
Som bruker kan du godkjenne AI-punkter eller foreslå fjerning av plasser som bryter 150-metersregelen.