import { Dialog, Disclosure, Menu, Transition } from "@headlessui/react"; import { ChevronDownIcon, ChevronUpIcon, } from "@heroicons/react/20/solid"; import { XMarkIcon } from "@heroicons/react/24/outline"; import { Fragment, useRef, useState } from "react"; import Map, { Layer, Popup, ScaleControl, Source } from "react-map-gl/maplibre"; import basemap from "./assets/basemap.json"; import mapstyle from "./countries.json"; mapstyle.sources.remap.url = import.meta.env.MODE === "localhost" ? "http://localhost:8080/capabilities/remap.json" : mapstyle.sources.remap.url const paintedLayers = mapstyle.layers.reduce((acc, cur) => ({ ...acc, [cur.id]: cur }), {}) const toggleLayers = ["Подложка"] const initialPaintFilters = [ { id: "parameter_name", name: "Показатель ВИЭ-генерации", options: [ { "value": "power_fact_mw", "label": "Фактическая установленная мощность, МВт", "checked": true }, { "value": "generation_gwh", "label": "Производство электроэнергии, млн кВт⋅ч", "checked": false }, { "value": "res_share_generation", "label": "Доля в выработке электроэнергии, %", "checked": false }, { "value": "res_share_power", "label": "Доля в балансе мощности, %", "checked": false }, { "value": "generation_to_population_kWh_pers", "label": "Производство электроэнергии на душу населения, кВт⋅ч/чел.", "checked": false } ] }, ] const initialFilterFilters = [ { id: "id_tech", name: "ВИЭ-технология", options: [ { "value": 1, "label": "СЭС", "checked": false }, { "value": 2, "label": "Наземные ВЭС", "checked": false }, { "value": 3, "label": "Офшорные ВЭС", "checked": false }, { "value": 4, "label": "ГЭС", "checked": false }, { "value": 5, "label": "БиоЭС", "checked": false }, { "value": 6, "label": "ГеоЭС", "checked": false }, { "value": 8, "label": "СЭС и ВЭС", "checked": false }, { "value": 7, "label": "Все ВИЭ", "checked": true } ] }, { "id": "year", "name": "Год", "options": [ { "value": 2010, "label": 2010, "checked": false }, { "value": 2011, "label": 2011, "checked": false }, { "value": 2012, "label": 2012, "checked": false }, { "value": 2013, "label": 2013, "checked": false }, { "value": 2014, "label": 2014, "checked": false }, { "value": 2015, "label": 2015, "checked": false }, { "value": 2016, "label": 2016, "checked": false }, { "value": 2017, "label": 2017, "checked": false }, { "value": 2018, "label": 2018, "checked": false }, { "value": 2019, "label": 2019, "checked": false }, { "value": 2020, "label": 2020, "checked": false }, { "value": 2021, "label": 2021, "checked": false }, { "value": 2022, "label": 2022, "checked": false }, { "value": 2023, "label": 2023, "checked": false }, { "value": 2024, "label": 2024, "checked": true } ] } ] export default function Countries({ mapOptions, onMapOptionClick }) { const mapRef = useRef(null); const [open, setOpen] = useState(false) const [mobileFiltersOpen, setMobileFiltersOpen] = useState(false); const [popupInfo, setPopupInfo] = useState(null); const [paintFilters, setPaintFilters] = useState(initialPaintFilters); const [filterFilters, setFilterFilters] = useState(initialFilterFilters); const generatePopup = (info) => { // console.log(info) const [currentTech, currentYear, currentParameter] = filterFilters.map(f => f.options.find(o => o.checked)).concat(paintFilters[0].options.find(o => o.checked)) return (
{info.area_km2 && Площадь {(info.area_km2 / 1000).toFixed(1).replace(".", ",")} тыс. км²
} {info.population_person &&Численность населения {(info.population_person / 1000).toFixed(1).replace(".", ",")} тыс. чел.
} {info.population_densitiy_pers_km2 &&Плотность населения {info.population_densitiy_pers_km2.toFixed(1).replace(".", ",")} чел./км²
} {info.year_carbon_neutrality &&Целевой год достижения углеродной нейтральности {info.year_carbon_neutrality}
} {info[currentParameter.value] &&{currentParameter.label} в {currentYear.label} году
| {currentTech.label} | {info[currentParameter.value].toFixed(2).replace(".", ",")} |
|---|
Совокупная установленная мощность ВИЭ по итогам {info.static_date_power} года, МВт
| Солнечные электростанции | {info.static_power_fact_solar_mw.toFixed(2).replace(".", ",")} |
|---|---|
| Наземные ветроэлектростанции | {info.static_power_fact_onshore_mw.toFixed(2).replace(".", ",")} |
| Офшорные ветроэлектростанции | {info.static_power_fact_offshore_mw.toFixed(2).replace(".", ",")} |
| Всего ВИЭ (включая СЭС, ВЭС, ГЭС, БиоЭС, ГеоЭС) | {info.static_power_fact_res_mw.toFixed(2).replace(".", ",")} |
| Доля всей ВИЭ-генерации в балансе мощности страны, % | {info.static_res_share_power.toFixed(2).replace(".", ",")} |
| Доля СЭС и ВЭС в балансе мощности страны, % | {info.static_solar_wind_share_power.toFixed(2).replace(".", ",")} |
Источник: IRENA
{info.date_actualization &&Дата актуализации: {info.date_actualization}
}{parameter.label}
{legend_items.map(item =>{item.label}