{req.title}
{req.address}
{req.distance && (Расстояние: {req.distance}
)}"use client"; import React, { useEffect, useState } from "react"; import dynamic from "next/dynamic"; import { FaUser, FaCog } from "react-icons/fa"; import TabBar from "../components/TabBar"; import AcceptPopup from "../components/acceptPopUp"; // динамический импорт карты, чтобы не падало на сервере const MapContainer = dynamic( () => import("react-leaflet").then((m) => m.MapContainer), { ssr: false } ); const TileLayer = dynamic( () => import("react-leaflet").then((m) => m.TileLayer), { ssr: false } ); const Marker = dynamic( () => import("react-leaflet").then((m) => m.Marker), { ssr: false } ); const Popup = dynamic( () => import("react-leaflet").then((m) => m.Popup), { ssr: false } ); // центр Перми const DEFAULT_POSITION = [58.0105, 56.2294]; const requests = [ { id: 1, title: "Приобрести продукты пенсионерке", address: "г. Пермь, ул. Ленина 50, кв. 24, этаж 3", coords: [58.0109, 56.2478], // район ул. Ленина distance: "1.2 км", }, { id: 2, title: "Приобрести медикаменты бабушке", address: "г. Пермь, ул. Пушкина 24, кв. 12, этаж 1", coords: [58.0135, 56.2320], // район ул. Пушкина distance: "2.0 км", }, { id: 3, title: "Сопроводить до поликлиники", address: "г. Пермь, ул. Куйбышева 95, кв. 7, этаж 2", coords: [58.0068, 56.2265], // район ул. Куйбышева distance: "3.4 км", }, { id: 4, title: "Сопроводить до поликлиники", address: "г. Пермь, ул. Куйбышева 95, кв. 7, этаж 2", coords: [58.0068, 56.2265], // район ул. Куйбышева distance: "3.4 км", }, { id: 5, title: "Сопроводить до поликлиники", address: "г. Пермь, ул. Куйбышева 95, кв. 7, этаж 2", coords: [58.0068, 56.2265], // район ул. Куйбышева distance: "3.4 км", }, ]; const MainVolunteerPage = () => { const [position, setPosition] = useState(DEFAULT_POSITION); const [hasLocation, setHasLocation] = useState(false); const [selectedRequest, setSelectedRequest] = useState(null); const [isPopupOpen, setIsPopupOpen] = useState(false); const openPopup = (req) => { setSelectedRequest(req); setIsPopupOpen(true); }; const closePopup = () => { setIsPopupOpen(false); setSelectedRequest(null); }; useEffect(() => { if (!navigator.geolocation) return; navigator.geolocation.getCurrentPosition( (pos) => { setPosition([pos.coords.latitude, pos.coords.longitude]); setHasLocation(true); }, () => { setHasLocation(false); } ); }, []); const handleAccept = (req) => { console.log("Откликнуться на заявку:", req.id); // TODO: запрос на бэк }; return (
Александр
{req.title}
{req.address}
{req.distance && (Расстояние: {req.distance}
)}