diff --git a/src/Countries.jsx b/src/Countries.jsx index 229cba8..6cc5d23 100644 --- a/src/Countries.jsx +++ b/src/Countries.jsx @@ -87,6 +87,11 @@ const initialFilterFilters = [ "label": "ГеоЭС", "checked": false }, + { + "value": 8, + "label": "СЭС и ВЭС", + "checked": false + }, { "value": 7, "label": "Все ВИЭ", @@ -177,99 +182,105 @@ export default function Countries({ mapOptions, onMapOptionClick }) { 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(".", ",")} чел./км²

} -
-

{filterFilters.map(f => f.options.find(o => o.checked).label).join(". ")}

+ + {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} году

+ + + {info.power_fact_mw != null && + + + + + } + +
+ {currentTech.label} + + {info[currentParameter.value].toFixed(1).replace(".", ",")} +
+
+ } + + +
+

Совокупная установленная мощность ВИЭ по итогам {info.static_date_power} года, МВт

- {/* - - - - - */} - {info.power_fact_mw != null && + {info.static_power_fact_solar_mw != null && - } - {info.power_plan_mw != null && + {info.static_power_fact_onshore_mw != null && - } - {info.power_opw_mw != null && + {info.static_power_fact_offshore_mw != null && - } - {info.capacity_additions_mw != null && + {info.static_power_fact_res_mw != null && - } - {info.generation_gwh != null && + {info.static_res_share_power != null && - } - {info.res_share_generation != null && + {info.static_solar_wind_share_power != null && - - - } - {info.res_share_power != null && - - - }
- Показатель - - Значение -
- Фактическая установленная мощность, МВт + + Солнечные электростанции - {info.power_fact_mw.toFixed(2).replace(".", ",")} + {info.static_power_fact_solar_mw.toFixed(1).replace(".", ",")}
- Плановая установленная мощность, МВт + + Наземные ветроэлектростанции - {info.power_plan_mw.toFixed(1).replace(".", ",")} + {info.static_power_fact_onshore_mw.toFixed(1).replace(".", ",")}
- Мощность отобранных проектов, МВт + + Офшорные ветроэлектростанции - {info.power_opw_mw.toFixed(1).replace(".", ",")} + {info.static_power_fact_offshore_mw.toFixed(1).replace(".", ",")}
- Годовой объём вводов, МВт + + Всего ВИЭ (включая СЭС, ВЭС, ГЭС, БиоЭС, ГеоЭС) - {info.capacity_additions_mw.toFixed(1).replace(".", ",")} + {info.static_power_fact_res_mw.toFixed(1).replace(".", ",")}
- Производство электроэнергии, ГВт⋅ч + + Доля всей ВИЭ-генерации в балансе мощности страны, % - {info.generation_gwh.toFixed(1).replace(".", ",")} + {info.static_res_share_power.toFixed(1).replace(".", ",")}
- Доля в выработке электроэнергии, % + + Доля СЭС и ВЭС в балансе мощности страны, % - {info.res_share_generation.toFixed(1).replace(".", ",")} -
- Доля в балансе мощности, % - - {info.res_share_power.toFixed(1).replace(".", ",")} + {info.static_solar_wind_share_power.toFixed(1).replace(".", ",")}
+ +

Источник: IRENA

{info.date_actualization &&

Дата актуализации: {info.date_actualization}

}
) @@ -379,7 +390,7 @@ export default function Countries({ mapOptions, onMapOptionClick }) {
- + {mapOptions.find((option) => option.current).name} o.checked).value == "res_share_generation" || + paintFilters[0].options.find(o => o.checked).value == "res_share_power") && + section.id == "id_tech" && option.value < 7 ? + true + : false + } /> diff --git a/src/Points copy.jsx b/src/Points copy.jsx deleted file mode 100644 index bef875c..0000000 --- a/src/Points copy.jsx +++ /dev/null @@ -1,1641 +0,0 @@ -import { Fragment, useState, useRef } from "react"; -import { Dialog, Disclosure, Menu, Transition } from "@headlessui/react"; -import { XMarkIcon } from "@heroicons/react/24/outline"; -import { - ChevronDownIcon, - FunnelIcon, - MinusIcon, - PlusIcon, -} from "@heroicons/react/20/solid"; - -import Map, { Layer, Source, Popup, ScaleControl } from "react-map-gl"; -import mapstyle from "./points.json"; - -const MAPBOX_TOKEN = - "pk.eyJ1IjoiZ2hlcm1hbnQiLCJhIjoiY2wzbHR0YW1sMXB0YjNkcXd5NWpqaWpybiJ9.jyLcIcB7NLbtZzGYIJZWWg"; - -const sortOptions = [ - { name: "Россия", href: "#", current: true }, - { name: "Мир", href: "#", current: false }, -]; - -const paintedLayers = mapstyle.layers.reduce((acc, cur) => ({ ...acc, [cur.id]: cur }), {}) - -const initialFilters = [ - { - id: "tech_name", - name: "ВИЭ-технология", - options: [ - { - "value": "СЭС", - "label": "СЭС", - "checked": true - }, - { - "value": "ВЭС", - "label": "ВЭС", - "checked": true - }, - { - "value": "мГЭС", - "label": "мГЭС", - "checked": true - }, - { - "value": "Биомасса", - "label": "Биомасса", - "checked": true - }, - { - "value": "Биогаз", - "label": "Биогаз", - "checked": true - }, - { - "value": "Свалочный газ", - "label": "Свалочный газ", - "checked": true - }, - { - "value": "Отходы", - "label": "Отходы", - "checked": true - }, - { - "value": "ПЭС", - "label": "ПЭС", - "checked": true - }, - { - "value": "ГеоЭС", - "label": "ГеоЭС", - "checked": true - } - ] - }, - { - "id": "region_name", - "name": "Регион", - "options": [ - { - "value": "Республика Адыгея ", - "label": "Республика Адыгея ", - "checked": true - }, - { - "value": "Республика Алтай", - "label": "Республика Алтай", - "checked": true - }, - { - "value": "Республика Башкортостан", - "label": "Республика Башкортостан", - "checked": true - }, - { - "value": "Республика Бурятия", - "label": "Республика Бурятия", - "checked": true - }, - { - "value": "Республика Дагестан", - "label": "Республика Дагестан", - "checked": true - }, - { - "value": "Республика Ингушетия", - "label": "Республика Ингушетия", - "checked": true - }, - { - "value": "Кабардино-Балкарская Республика", - "label": "Кабардино-Балкарская Республика", - "checked": true - }, - { - "value": "Республика Калмыкия", - "label": "Республика Калмыкия", - "checked": true - }, - { - "value": "Карачаево-Черкесская Республика", - "label": "Карачаево-Черкесская Республика", - "checked": true - }, - { - "value": "Республика Карелия", - "label": "Республика Карелия", - "checked": true - }, - { - "value": "Республика Коми", - "label": "Республика Коми", - "checked": true - }, - { - "value": "Республика Крым", - "label": "Республика Крым", - "checked": true - }, - { - "value": "Республика Марий Эл", - "label": "Республика Марий Эл", - "checked": true - }, - { - "value": "Республика Мордовия", - "label": "Республика Мордовия", - "checked": true - }, - { - "value": "Республика Саха (Якутия)", - "label": "Республика Саха (Якутия)", - "checked": true - }, - { - "value": "Республика Северная Осетия – Алания", - "label": "Республика Северная Осетия – Алания", - "checked": true - }, - { - "value": "Республика Татарстан ", - "label": "Республика Татарстан ", - "checked": true - }, - { - "value": "Республика Тыва", - "label": "Республика Тыва", - "checked": true - }, - { - "value": "Удмуртская Республика", - "label": "Удмуртская Республика", - "checked": true - }, - { - "value": "Республика Хакасия", - "label": "Республика Хакасия", - "checked": true - }, - { - "value": "Чеченская Республика", - "label": "Чеченская Республика", - "checked": true - }, - { - "value": "Чувашская Республика", - "label": "Чувашская Республика", - "checked": true - }, - { - "value": "Алтайский край", - "label": "Алтайский край", - "checked": true - }, - { - "value": "Забайкальский край", - "label": "Забайкальский край", - "checked": true - }, - { - "value": "Камчатский край", - "label": "Камчатский край", - "checked": true - }, - { - "value": "Краснодарский край", - "label": "Краснодарский край", - "checked": true - }, - { - "value": "Красноярский край", - "label": "Красноярский край", - "checked": true - }, - { - "value": "Пермский край", - "label": "Пермский край", - "checked": true - }, - { - "value": "Приморский край", - "label": "Приморский край", - "checked": true - }, - { - "value": "Ставропольский край", - "label": "Ставропольский край", - "checked": true - }, - { - "value": "Хабаровский край", - "label": "Хабаровский край", - "checked": true - }, - { - "value": "Амурская область", - "label": "Амурская область", - "checked": true - }, - { - "value": "Архангельская область", - "label": "Архангельская область", - "checked": true - }, - { - "value": "Астраханская область", - "label": "Астраханская область", - "checked": true - }, - { - "value": "Белгородская область", - "label": "Белгородская область", - "checked": true - }, - { - "value": "Брянская область", - "label": "Брянская область", - "checked": true - }, - { - "value": "Владимирская область", - "label": "Владимирская область", - "checked": true - }, - { - "value": "Волгоградская область", - "label": "Волгоградская область", - "checked": true - }, - { - "value": "Вологодская область", - "label": "Вологодская область", - "checked": true - }, - { - "value": "Воронежская область", - "label": "Воронежская область", - "checked": true - }, - { - "value": "Ивановская область", - "label": "Ивановская область", - "checked": true - }, - { - "value": "Иркутская область", - "label": "Иркутская область", - "checked": true - }, - { - "value": "Калининградская область", - "label": "Калининградская область", - "checked": true - }, - { - "value": "Калужская область", - "label": "Калужская область", - "checked": true - }, - { - "value": "Кемеровская область", - "label": "Кемеровская область", - "checked": true - }, - { - "value": "Кировская область", - "label": "Кировская область", - "checked": true - }, - { - "value": "Костромская область", - "label": "Костромская область", - "checked": true - }, - { - "value": "Курганская область", - "label": "Курганская область", - "checked": true - }, - { - "value": "Курская область", - "label": "Курская область", - "checked": true - }, - { - "value": "Ленинградская область", - "label": "Ленинградская область", - "checked": true - }, - { - "value": "Липецкая область", - "label": "Липецкая область", - "checked": true - }, - { - "value": "Магаданская область", - "label": "Магаданская область", - "checked": true - }, - { - "value": "Московская область", - "label": "Московская область", - "checked": true - }, - { - "value": "Мурманская область", - "label": "Мурманская область", - "checked": true - }, - { - "value": "Нижегородская область", - "label": "Нижегородская область", - "checked": true - }, - { - "value": "Новгородская область", - "label": "Новгородская область", - "checked": true - }, - { - "value": "Новосибирская область", - "label": "Новосибирская область", - "checked": true - }, - { - "value": "Омская область", - "label": "Омская область", - "checked": true - }, - { - "value": "Оренбургская область", - "label": "Оренбургская область", - "checked": true - }, - { - "value": "Орловская область", - "label": "Орловская область", - "checked": true - }, - { - "value": "Пензенская область", - "label": "Пензенская область", - "checked": true - }, - { - "value": "Псковская область", - "label": "Псковская область", - "checked": true - }, - { - "value": "Ростовская область", - "label": "Ростовская область", - "checked": true - }, - { - "value": "Рязанская область", - "label": "Рязанская область", - "checked": true - }, - { - "value": "Самарская область", - "label": "Самарская область", - "checked": true - }, - { - "value": "Саратовская область", - "label": "Саратовская область", - "checked": true - }, - { - "value": "Сахалинская область", - "label": "Сахалинская область", - "checked": true - }, - { - "value": "Свердловская область", - "label": "Свердловская область", - "checked": true - }, - { - "value": "Смоленская область", - "label": "Смоленская область", - "checked": true - }, - { - "value": "Тамбовская область", - "label": "Тамбовская область", - "checked": true - }, - { - "value": "Тверская область", - "label": "Тверская область", - "checked": true - }, - { - "value": "Томская область", - "label": "Томская область", - "checked": true - }, - { - "value": "Тульская область", - "label": "Тульская область", - "checked": true - }, - { - "value": "Тюменская область", - "label": "Тюменская область", - "checked": true - }, - { - "value": "Ульяновская область", - "label": "Ульяновская область", - "checked": true - }, - { - "value": "Челябинская область", - "label": "Челябинская область", - "checked": true - }, - { - "value": "Ярославская область", - "label": "Ярославская область", - "checked": true - }, - { - "value": "Город Москва", - "label": "Город Москва", - "checked": true - }, - { - "value": "Город Санкт-Петербург", - "label": "Город Санкт-Петербург", - "checked": true - }, - { - "value": "Город Севастополь", - "label": "Город Севастополь", - "checked": true - }, - { - "value": "Еврейская автономная область", - "label": "Еврейская автономная область", - "checked": true - }, - { - "value": "Ненецкий автономный округ", - "label": "Ненецкий автономный округ", - "checked": true - }, - { - "value": "Ханты-Мансийский автономный округ – Югра", - "label": "Ханты-Мансийский автономный округ – Югра", - "checked": true - }, - { - "value": "Чукотский автономный округ", - "label": "Чукотский автономный округ", - "checked": true - }, - { - "value": "Ямало-Ненецкий автономный округ", - "label": "Ямало-Ненецкий автономный округ", - "checked": true - } - ] - }, - { - "id": "support_name", - "name": "Форма поддержки", - "options": [ - { - "value": "ДПМ ВИЭ 1.0 (оптовый рынок)", - "label": "ДПМ ВИЭ 1.0 (оптовый рынок)", - "checked": true - }, - { - "value": "ДПМ ВИЭ 2.0 (оптовый рынок)", - "label": "ДПМ ВИЭ 2.0 (оптовый рынок)", - "checked": true - }, - { - "value": "Розничный рынок (с поддержкой)", - "label": "Розничный рынок (с поддержкой)", - "checked": true - }, - { - "value": "Розничный рынок (без поддержки)", - "label": "Розничный рынок (без поддержки)", - "checked": true - }, - { - "value": "Оптовый рынок (без поддержки)", - "label": "Оптовый рынок (без поддержки)", - "checked": true - }, - { - "value": "Собственная генерация промышленности", - "label": "Собственная генерация промышленности", - "checked": true - }, - { - "value": "ВИЭ в изолированнных энергосистемах", - "label": "ВИЭ в изолированнных энергосистемах", - "checked": true - } - ] - }, - { - "id": "current_owner_name", - "name": "Компания-владелец", - "options": [ - { - "value": "АО \"ВетроОГК\"", - "label": "АО \"ВетроОГК\"", - "checked": true - }, - { - "value": "АО \"ВетроОГК-2\"", - "label": "АО \"ВетроОГК-2\"", - "checked": true - }, - { - "value": "АО \"Солнечный ветер\"", - "label": "АО \"Солнечный ветер\"", - "checked": true - }, - { - "value": "ООО \"Авелар Солар Технолоджи\"", - "label": "ООО \"Авелар Солар Технолоджи\"", - "checked": true - }, - { - "value": "ООО \"Лукойл-Экоэнерго\"", - "label": "ООО \"Лукойл-Экоэнерго\"", - "checked": true - }, - { - "value": "ООО \"Ветропарки ФРВ\"", - "label": "ООО \"Ветропарки ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Восьмой Ветропарк ФРВ\"", - "label": "ООО \"Восьмой Ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Второй ветропарк ФРВ\"", - "label": "ООО \"Второй ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"МГЭС Ставрополья и КЧР\" (ПАО \"РусГидро\")", - "label": "ООО \"МГЭС Ставрополья и КЧР\" (ПАО \"РусГидро\")", - "checked": true - }, - { - "value": "ООО \"НГБП\"", - "label": "ООО \"НГБП\"", - "checked": true - }, - { - "value": "ООО \"Новая энергия\"", - "label": "ООО \"Новая энергия\"", - "checked": true - }, - { - "value": "ООО \"Одиннадцатый Ветропарк ФРВ\"", - "label": "ООО \"Одиннадцатый Ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Первый Ветропарк ФРВ\"", - "label": "ООО \"Первый Ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Пятнадцатый Ветропарк ФРВ\"", - "label": "ООО \"Пятнадцатый Ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Самарская СЭС\"", - "label": "ООО \"Самарская СЭС\"", - "checked": true - }, - { - "value": "ООО \"Стар Проджектс\"", - "label": "ООО \"Стар Проджектс\"", - "checked": true - }, - { - "value": "ООО \"Седьмой ветропарк ФРВ\"", - "label": "ООО \"Седьмой ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Солар Ритейл\"", - "label": "ООО \"Солар Ритейл\"", - "checked": true - }, - { - "value": "ООО \"Солнечная Генерация\"", - "label": "ООО \"Солнечная Генерация\"", - "checked": true - }, - { - "value": "ООО \"Тераватт\"", - "label": "ООО \"Тераватт\"", - "checked": true - }, - { - "value": "ООО \"Третий Ветропарк ФРВ\"", - "label": "ООО \"Третий Ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"ФОРТУМ ЭНЕРГИЯ\"", - "label": "ООО \"ФОРТУМ ЭНЕРГИЯ\"", - "checked": true - }, - { - "value": "ООО \"Фортум-Новая Генерация 2\"", - "label": "ООО \"Фортум-Новая Генерация 2\"", - "checked": true - }, - { - "value": "ООО \"Четвёртый ветропарк ФРВ\"", - "label": "ООО \"Четвёртый ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Эко Энерджи Рус\"", - "label": "ООО \"Эко Энерджи Рус\"", - "checked": true - }, - { - "value": "ООО \"ЭнергоМИН\"", - "label": "ООО \"ЭнергоМИН\"", - "checked": true - }, - { - "value": "ООО \"Южэнергострой\"", - "label": "ООО \"Южэнергострой\"", - "checked": true - }, - { - "value": "ООО \"Юнигрин Пауэр\"", - "label": "ООО \"Юнигрин Пауэр\"", - "checked": true - }, - { - "value": "ПАО \"РусГидро\"", - "label": "ПАО \"РусГидро\"", - "checked": true - }, - { - "value": "ПАО \"ТГК-1\"", - "label": "ПАО \"ТГК-1\"", - "checked": true - }, - { - "value": "ООО \"Сан Проджектс\"", - "label": "ООО \"Сан Проджектс\"", - "checked": true - }, - { - "value": "ООО \"Санлайт энерджи\"", - "label": "ООО \"Санлайт энерджи\"", - "checked": true - }, - { - "value": "ООО \"АЛТЭН\"", - "label": "ООО \"АЛТЭН\"", - "checked": true - }, - { - "value": "ПАО \"Фортум\"", - "label": "ПАО \"Фортум\"", - "checked": true - }, - { - "value": "ООО \"Энергоэффект ДБ\"", - "label": "ООО \"Энергоэффект ДБ\"", - "checked": true - }, - { - "value": "ООО «Хевел Региональная Генерация»", - "label": "ООО «Хевел Региональная Генерация»", - "checked": true - }, - { - "value": "ООО «Курай Солар»", - "label": "ООО «Курай Солар»", - "checked": true - }, - { - "value": "ООО \"Юнигрин Регион\"", - "label": "ООО \"Юнигрин Регион\"", - "checked": true - }, - { - "value": "АО \"ЭСК Сибири\"", - "label": "АО \"ЭСК Сибири\"", - "checked": true - }, - { - "value": "ООО \"Солар Розничная Генерация-1\"", - "label": "ООО \"Солар Розничная Генерация-1\"", - "checked": true - }, - { - "value": "ООО \"Кубань Солар\"", - "label": "ООО \"Кубань Солар\"", - "checked": true - }, - { - "value": "ООО \"Возобновляемые источники энергии Инвест\"", - "label": "ООО \"Возобновляемые источники энергии Инвест\"", - "checked": true - }, - { - "value": "ООО \"Возобновляемые источники энергии\"", - "label": "ООО \"Возобновляемые источники энергии\"", - "checked": true - }, - { - "value": "ООО \"Ульяновские СЭС\"", - "label": "ООО \"Ульяновские СЭС\"", - "checked": true - }, - { - "value": "ПАО «Камчатскэнерго»", - "label": "ПАО «Камчатскэнерго»", - "checked": true - }, - { - "value": "АО «ЮЭСК» (АО «Южные электрические сети Камчатки»)", - "label": "АО «ЮЭСК» (АО «Южные электрические сети Камчатки»)", - "checked": true - }, - { - "value": "АО «КЭС им. Пискунова»", - "label": "АО «КЭС им. Пискунова»", - "checked": true - }, - { - "value": "ПАО «Россети»", - "label": "ПАО «Россети»", - "checked": true - }, - { - "value": "ПАО \"ТГК-1\"/Кольский", - "label": "ПАО \"ТГК-1\"/Кольский", - "checked": true - }, - { - "value": "МП ЗР \"Севержилкомсервис\"", - "label": "МП ЗР \"Севержилкомсервис\"", - "checked": true - }, - { - "value": "Карельское обособленное подразделение АО \"Норд Гидро\"", - "label": "Карельское обособленное подразделение АО \"Норд Гидро\"", - "checked": true - }, - { - "value": "Филиал Карельский/Каскад Сунских ГЭС", - "label": "Филиал Карельский/Каскад Сунских ГЭС", - "checked": true - }, - { - "value": "Филиал Карельский/Каскад Кемских ГЭС", - "label": "Филиал Карельский/Каскад Кемских ГЭС", - "checked": true - }, - { - "value": "АО \"Сахаэнерго\"", - "label": "АО \"Сахаэнерго\"", - "checked": true - }, - { - "value": "ООО \"Гидроэлектромонтаж\"", - "label": "ООО \"Гидроэлектромонтаж\"", - "checked": true - }, - { - "value": "ООО \"Группа ЭНЭЛТ\"", - "label": "ООО \"Группа ЭНЭЛТ\"", - "checked": true - }, - { - "value": "ООО \"КЭР\"", - "label": "ООО \"КЭР\"", - "checked": true - }, - { - "value": "ООО \"Хевел Энергосервис\"", - "label": "ООО \"Хевел Энергосервис\"", - "checked": true - }, - { - "value": "ПАО \"Якутскэнерго\"", - "label": "ПАО \"Якутскэнерго\"", - "checked": true - }, - { - "value": "Тепло-электросистемы Северо-Курильского городского округа", - "label": "Тепло-электросистемы Северо-Курильского городского округа", - "checked": true - }, - { - "value": "АО «Мобильные ГТЭС»", - "label": "АО «Мобильные ГТЭС»", - "checked": true - }, - { - "value": "ООО «ВГК»", - "label": "ООО «ВГК»", - "checked": true - }, - { - "value": "ООО «ДальЭнергоИнвест»", - "label": "ООО «ДальЭнергоИнвест»", - "checked": true - }, - { - "value": "ПАО «Сахалинэнерго»", - "label": "ПАО «Сахалинэнерго»", - "checked": true - }, - { - "value": "АО «Юграэнерго» ", - "label": "АО «Юграэнерго» ", - "checked": true - }, - { - "value": "ООО «МЭК-Инжиниринг»", - "label": "ООО «МЭК-Инжиниринг»", - "checked": true - }, - { - "value": "ООО \"АльтЭнерго\"", - "label": "ООО \"АльтЭнерго\"", - "checked": true - }, - { - "value": "ООО \"Региональная Энергетическая компания\"", - "label": "ООО \"Региональная Энергетическая компания\"", - "checked": true - }, - { - "value": "АО \"ОЭК\"", - "label": "АО \"ОЭК\"", - "checked": true - }, - { - "value": "ООО \"Акъярская СЭС\"", - "label": "ООО \"Акъярская СЭС\"", - "checked": true - }, - { - "value": "ООО «ЛУКОЙЛ-Кубаньэнерго»", - "label": "ООО «ЛУКОЙЛ-Кубаньэнерго»", - "checked": true - }, - { - "value": "ООО \"Сан Проджектс 2\"", - "label": "ООО \"Сан Проджектс 2\"", - "checked": true - }, - { - "value": "ООО \"ППК\" (Пятая проектная компания)", - "label": "ООО \"ППК\" (Пятая проектная компания)", - "checked": true - }, - { - "value": "ООО \"ШПК\" (Шестая проектная компания)", - "label": "ООО \"ШПК\" (Шестая проектная компания)", - "checked": true - }, - { - "value": "ООО \"Бугульчанская СЭС\"", - "label": "ООО \"Бугульчанская СЭС\"", - "checked": true - }, - { - "value": "ООО \"Фортум Новая генерация - 4\"", - "label": "ООО \"Фортум Новая генерация - 4\"", - "checked": true - }, - { - "value": "ООО «ВЭС «Бриз»", - "label": "ООО «ВЭС «Бриз»", - "checked": true - }, - { - "value": "ООО \"Абаканская СЭС\"", - "label": "ООО \"Абаканская СЭС\"", - "checked": true - }, - { - "value": "ООО \"Десятый ветропарк ФРВ\"", - "label": "ООО \"Десятый ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Шестой ветропарк ФРВ\"", - "label": "ООО \"Шестой ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"ЮГП Калмыкия\"", - "label": "ООО \"ЮГП Калмыкия\"", - "checked": true - }, - { - "value": "АО \"Полиметалл УК\"", - "label": "АО \"Полиметалл УК\"", - "checked": true - }, - { - "value": "ООО \"Девятый ветропарк ФРВ\"", - "label": "ООО \"Девятый ветропарк ФРВ\"", - "checked": true - }, - { - "value": "ООО \"Четырнадцатый ветропарк ФРВ\"", - "label": "ООО \"Четырнадцатый ветропарк ФРВ\"", - "checked": true - }, - { - "value": "Будет определен после строительства", - "label": "Будет определен после строительства", - "checked": true - }, - { - "value": "ООО \"Энел Рус Винд Азов\"", - "label": "ООО \"Энел Рус Винд Азов\"", - "checked": true - }, - { - "value": "ООО «Энел Рус Винд Кола»", - "label": "ООО «Энел Рус Винд Кола»", - "checked": true - }, - { - "value": "ООО \"Активити\"", - "label": "ООО \"Активити\"", - "checked": true - }, - { - "value": "ООО \"Грин Энерджи Рус\"", - "label": "ООО \"Грин Энерджи Рус\"", - "checked": true - }, - { - "value": "АО \"ЕвроСибЭнерго\"", - "label": "АО \"ЕвроСибЭнерго\"", - "checked": true - }, - { - "value": "Филиал Карельский/Каскад Выгских ГЭС", - "label": "Филиал Карельский/Каскад Выгских ГЭС", - "checked": true - }, - { - "value": "АО \"РАО ЭС Востока\"", - "label": "АО \"РАО ЭС Востока\"", - "checked": true - }, - { - "value": "ПАО \"СИБУР Холдинг\"", - "label": "ПАО \"СИБУР Холдинг\"", - "checked": true - }, - { - "value": "ПАО \"Газпромнефть\"", - "label": "ПАО \"Газпромнефть\"", - "checked": true - } - ] - }, - { - "id": "year_commissioning", - "name": "Год ввода", - "options": [ - { - "value": 1905, - "label": 1905, - "checked": true - }, - { - "value": 1920, - "label": 1920, - "checked": true - }, - { - "value": 1929, - "label": 1929, - "checked": true - }, - { - "value": 1934, - "label": 1934, - "checked": true - }, - { - "value": 1936, - "label": 1936, - "checked": true - }, - { - "value": 1937, - "label": 1937, - "checked": true - }, - { - "value": 1938, - "label": 1938, - "checked": true - }, - { - "value": 1939, - "label": 1939, - "checked": true - }, - { - "value": 1941, - "label": 1941, - "checked": true - }, - { - "value": 1948, - "label": 1948, - "checked": true - }, - { - "value": 1949, - "label": 1949, - "checked": true - }, - { - "value": 1950, - "label": 1950, - "checked": true - }, - { - "value": 1951, - "label": 1951, - "checked": true - }, - { - "value": 1952, - "label": 1952, - "checked": true - }, - { - "value": 1953, - "label": 1953, - "checked": true - }, - { - "value": 1954, - "label": 1954, - "checked": true - }, - { - "value": 1955, - "label": 1955, - "checked": true - }, - { - "value": 1956, - "label": 1956, - "checked": true - }, - { - "value": 1958, - "label": 1958, - "checked": true - }, - { - "value": 1959, - "label": 1959, - "checked": true - }, - { - "value": 1961, - "label": 1961, - "checked": true - }, - { - "value": 1962, - "label": 1962, - "checked": true - }, - { - "value": 1963, - "label": 1963, - "checked": true - }, - { - "value": 1964, - "label": 1964, - "checked": true - }, - { - "value": 1965, - "label": 1965, - "checked": true - }, - { - "value": 1967, - "label": 1967, - "checked": true - }, - { - "value": 1968, - "label": 1968, - "checked": true - }, - { - "value": 1970, - "label": 1970, - "checked": true - }, - { - "value": 1971, - "label": 1971, - "checked": true - }, - { - "value": 1975, - "label": 1975, - "checked": true - }, - { - "value": 1977, - "label": 1977, - "checked": true - }, - { - "value": 1978, - "label": 1978, - "checked": true - }, - { - "value": 1980, - "label": 1980, - "checked": true - }, - { - "value": 1987, - "label": 1987, - "checked": true - }, - { - "value": 1994, - "label": 1994, - "checked": true - }, - { - "value": 1995, - "label": 1995, - "checked": true - }, - { - "value": 1996, - "label": 1996, - "checked": true - }, - { - "value": 1998, - "label": 1998, - "checked": true - }, - { - "value": 1999, - "label": 1999, - "checked": true - }, - { - "value": 2000, - "label": 2000, - "checked": true - }, - { - "value": 2001, - "label": 2001, - "checked": true - }, - { - "value": 2002, - "label": 2002, - "checked": true - }, - { - "value": 2003, - "label": 2003, - "checked": true - }, - { - "value": 2004, - "label": 2004, - "checked": true - }, - { - "value": 2005, - "label": 2005, - "checked": true - }, - { - "value": 2006, - "label": 2006, - "checked": true - }, - { - "value": 2007, - "label": 2007, - "checked": true - }, - { - "value": 2008, - "label": 2008, - "checked": true - }, - { - "value": 2009, - "label": 2009, - "checked": true - }, - { - "value": 2010, - "label": 2010, - "checked": true - }, - { - "value": 2011, - "label": 2011, - "checked": true - }, - { - "value": 2012, - "label": 2012, - "checked": true - }, - { - "value": 2013, - "label": 2013, - "checked": true - }, - { - "value": 2014, - "label": 2014, - "checked": true - }, - { - "value": 2015, - "label": 2015, - "checked": true - }, - { - "value": 2016, - "label": 2016, - "checked": true - }, - { - "value": 2017, - "label": 2017, - "checked": true - }, - { - "value": 2018, - "label": 2018, - "checked": true - }, - { - "value": 2019, - "label": 2019, - "checked": true - }, - { - "value": 2020, - "label": 2020, - "checked": true - }, - { - "value": 2021, - "label": 2021, - "checked": true - }, - { - "value": 2022, - "label": 2022, - "checked": true - } - ] - } -] - -export default function Points() { - const mapRef = useRef(null); - - const [mobileFiltersOpen, setMobileFiltersOpen] = useState(false); - - const [popupInfo, setPopupInfo] = useState(null); - - const [filters, setFilters] = useState(initialFilters); - - const handleFilterToggle = function (event) { - const newStateFilters = filters.map((filter) => - filter.id == event.target.name - ? { - ...filter, - options: filter.options.map((option) => - option.value == event.target.defaultValue - ? { ...option, checked: !option.checked } - : option - ), - } - : filter - ); - setFilters(newStateFilters); - }; - - const applyFilters = (filtersObj) => { - const checkedFilters = ["all", ...filtersObj.map((propertyFilter) => [ - "in", - ["get", propertyFilter.id], - ["literal", propertyFilter.options.filter(option => option.checked).map(option => option.value)], - ])] - return checkedFilters - }; - - const handleClick = (event) => { - setPopupInfo(null) - if (event.features[0]) { - console.log(event.features[0].properties); - event.originalEvent.stopPropagation(); - setPopupInfo({ - lon: event.lngLat.lng, - lat: event.lngLat.lat, - properties: event.features[0].properties - }) - } - }; - - const handleMouseEnter = (event) => { - const feature = event.features[0]; - if (!feature) return; - - mapRef.current.getCanvas().style.cursor = "pointer"; - }; - - const handleMouseLeave = (event) => { - const feature = event.features[0]; - if (!feature) { - return; - } - mapRef.current.getCanvas().style.cursor = ""; - }; - - return ( -
-
-
-
-

- Возобновяемая энергетика. Объекты -

-
- -
-
- -
- {/* Layers */} -
    - {mapstyle.layers.map((layer) => ( -
    - { - mapRef.current - .getMap() - .setLayoutProperty( - event.target.id, - "visibility", - event.target.checked ? "visible" : "none" - ); - }} - /> - -
    - ))} -
- {/* Filters */} - {filters.map((section) => ( - - {({ open }) => ( - <> -

- - - {section.name} - - - {open ? ( - - -

- -
- {section.options.map((option, optionIdx) => ( -
- - -
- ))} -
-
- - )} -
- ))} - - {/* Legend */} - - {({ open }) => ( - <> -

- - - Легенда - - - {open ? ( - - -

- -
-

- Lorem ipsum, dolor sit amet consectetur adipisicing - elit. Aliquam harum fuga, ratione quae quo corrupti - iusto reprehenderit sapiente assumenda voluptatum - voluptates veritatis incidunt nisi quidem - repellendus. Ex ad explicabo eum? -

-
-
- - )} -
- {/* Metadata */} - - {({ open }) => ( - <> -

- - - Метаданные - - - {open ? ( - - -

- -
-

- Lorem ipsum, dolor sit amet consectetur adipisicing - elit. Aliquam harum fuga, ratione quae quo corrupti - iusto reprehenderit sapiente assumenda voluptatum - voluptates veritatis incidunt nisi quidem - repellendus. Ex ad explicabo eum? -

-
-
- - )} -
-
- - {/* Map itself */} -
-
- - - {popupInfo && setPopupInfo(null)} - > -

{popupInfo.properties.res_name_parc}

- {popupInfo.properties.region_name} -
} - - - - - - - -
-
-
-
-
-
-
-
- ); -} diff --git a/src/Regions.jsx b/src/Regions.jsx index 6926832..20aa203 100644 --- a/src/Regions.jsx +++ b/src/Regions.jsx @@ -173,7 +173,42 @@ const initialFilterFilters = [ "value": 2022, "label": 2022, "checked": true - } + }, + { + "value": 2023, + "label": 2023, + "checked": false + }, + { + "value": 2024, + "label": 2024, + "checked": false + }, + { + "value": 2025, + "label": 2025, + "checked": false + }, + { + "value": 2026, + "label": 2026, + "checked": false + }, + { + "value": 2027, + "label": 2027, + "checked": false + }, + { + "value": 2028, + "label": 2028, + "checked": false + }, + { + "value": 2029, + "label": 2029, + "checked": false + }, ] } ] @@ -205,7 +240,7 @@ export default function Regions({ mapOptions, onMapOptionClick }) { {info[currentParameter.value] &&
-

{currentParameter.label} в {currentYear.label} году

+

{currentParameter.label} в {currentYear.label} году

{info.power_fact_mw != null && @@ -224,7 +259,7 @@ export default function Regions({ mapOptions, onMapOptionClick }) { }
-

Совокупная установленная мощность ВИЭ по итогам {info.static_date_power} года, МВт

+

Совокупная установленная мощность ВИЭ по итогам {info.static_date_power} года, МВт

{info.static_power_fact_solar_mw != null && @@ -409,7 +444,7 @@ export default function Regions({ mapOptions, onMapOptionClick }) {
- + {mapOptions.find((option) => option.current).name} o.checked).value == "power_fact_mw" && section.id == "year" && option.value > 2022 || + paintFilters[0].options.find(o => o.checked).value == "power_plan_mw" && section.id == "year" && option.value < 2022 ? + true + : false + } /> diff --git a/src/Shop.jsx b/src/Shop.jsx deleted file mode 100644 index 056f560..0000000 --- a/src/Shop.jsx +++ /dev/null @@ -1,318 +0,0 @@ -/* - This example requires some changes to your config: - - ``` - // tailwind.config.js - module.exports = { - // ... - plugins: [ - // ... - require('@tailwindcss/forms'), - ], - } - ``` -*/ -import { Fragment, useState } from 'react' -import { Dialog, Disclosure, Menu, Transition } from '@headlessui/react' -import { XMarkIcon } from '@heroicons/react/24/outline' -import { ChevronDownIcon, FunnelIcon, MinusIcon, PlusIcon, Squares2X2Icon } from '@heroicons/react/20/solid' - -const sortOptions = [ - { name: 'Most Popular', href: '#', current: true }, - { name: 'Best Rating', href: '#', current: false }, - { name: 'Newest', href: '#', current: false }, - { name: 'Price: Low to High', href: '#', current: false }, - { name: 'Price: High to Low', href: '#', current: false }, -] -const subCategories = [ - { name: 'Totes', href: '#' }, - { name: 'Backpacks', href: '#' }, - { name: 'Travel Bags', href: '#' }, - { name: 'Hip Bags', href: '#' }, - { name: 'Laptop Sleeves', href: '#' }, -] -const filters = [ - { - id: 'color', - name: 'Color', - options: [ - { value: 'white', label: 'White', checked: false }, - { value: 'beige', label: 'Beige', checked: false }, - { value: 'blue', label: 'Blue', checked: true }, - { value: 'brown', label: 'Brown', checked: false }, - { value: 'green', label: 'Green', checked: false }, - { value: 'purple', label: 'Purple', checked: false }, - ], - }, - { - id: 'category', - name: 'Category', - options: [ - { value: 'new-arrivals', label: 'New Arrivals', checked: false }, - { value: 'sale', label: 'Sale', checked: false }, - { value: 'travel', label: 'Travel', checked: true }, - { value: 'organization', label: 'Organization', checked: false }, - { value: 'accessories', label: 'Accessories', checked: false }, - ], - }, - { - id: 'size', - name: 'Size', - options: [ - { value: '2l', label: '2L', checked: false }, - { value: '6l', label: '6L', checked: false }, - { value: '12l', label: '12L', checked: false }, - { value: '18l', label: '18L', checked: false }, - { value: '20l', label: '20L', checked: false }, - { value: '40l', label: '40L', checked: true }, - ], - }, -] - -function classNames(...classes) { - return classes.filter(Boolean).join(' ') -} - -export default function Example() { - const [mobileFiltersOpen, setMobileFiltersOpen] = useState(false) - - return ( -
-
- {/* Mobile filter dialog */} - - - -
- - -
- - -
-

Filters

- -
- - {/* Filters */} -
-

Categories

- - - {filters.map((section) => ( - - {({ open }) => ( - <> -

- - {section.name} - - {open ? ( - - -

- -
- {section.options.map((option, optionIdx) => ( -
- - -
- ))} -
-
- - )} -
- ))} - -
-
-
-
-
- -
-
-

New Arrivals

- -
- -
- - Sort - -
- - - -
- {sortOptions.map((option) => ( - - {({ active }) => ( - - {option.name} - - )} - - ))} -
-
-
-
- - - -
-
- -
-

- Products -

- -
- {/* Filters */} -
-

Categories

- - - {filters.map((section) => ( - - {({ open }) => ( - <> -

- - {section.name} - - {open ? ( - - -

- -
- {section.options.map((option, optionIdx) => ( -
- - -
- ))} -
-
- - )} -
- ))} - - - {/* Product grid */} -
- {/* Replace with your content */} -
- {/* /End replace */} -
-
-
-
-
-
- ) -} diff --git a/src/countries.json b/src/countries.json index be9c568..b3188dd 100644 --- a/src/countries.json +++ b/src/countries.json @@ -49,7 +49,13 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "power_fact_mw"], 1, 0.1 + "case", + [ + "has", + "power_fact_mw" + ], + 1, + 0.1 ], "fill-color": [ "step", @@ -58,27 +64,27 @@ "power_fact_mw" ], "#440154", - 2763, + 5000, "#482173", - 9511, + 19000, "#433E85", - 20641, + 38000, "#38598C", - 37660, + 70000, "#2D708E", - 65308, + 114000, "#25858E", - 92201, + 155000, "#1E9B8A", - 126103, + 268000, "#2BB07F", - 162654, + 385000, "#51C56A", - 217397, + 447000, "#85D54A", - 290048, + 580000, "#C2DF23", - 687382, + 858000, "#FDE725" ] } @@ -90,26 +96,42 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "power_plan_mw"], 1, 0.2 + "case", + [ + "has", + "power_plan_mw" + ], + 1, + 0.1 ], "fill-color": [ "step", [ "get", - "power_plan_mw" + "power_fact_mw" ], "#440154", - 17737, - "#443A83", - 62207, - "#31688E", - 124767, - "#21908C", - 224998, - "#35B779", - 377305, - "#8FD744", - 720320, + 5000, + "#482173", + 19000, + "#433E85", + 38000, + "#38598C", + 70000, + "#2D708E", + 114000, + "#25858E", + 155000, + "#1E9B8A", + 268000, + "#2BB07F", + 385000, + "#51C56A", + 447000, + "#85D54A", + 580000, + "#C2DF23", + 858000, "#FDE725" ] } @@ -121,7 +143,13 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "generation_gwh"], 1, 0.2 + "case", + [ + "has", + "generation_gwh" + ], + 1, + 0.1 ], "fill-color": [ "step", @@ -130,17 +158,27 @@ "generation_gwh" ], "#440154", - 27216, - "#443A83", - 126167, - "#31688E", - 320788, - "#21908C", - 589439, - "#35B779", - 939268, - "#8FD744", - 1666634, + 6000, + "#482173", + 22000, + "#433E85", + 48000, + "#38598C", + 97000, + "#2D708E", + 200000, + "#25858E", + 340000, + "#1E9B8A", + 580000, + "#2BB07F", + 803000, + "#51C56A", + 928000, + "#85D54A", + 1178000, + "#C2DF23", + 1710000, "#FDE725" ] } @@ -152,7 +190,13 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "res_share_generation"], 1, 0.2 + "case", + [ + "has", + "res_share_generation" + ], + 1, + 0.1 ], "fill-color": [ "step", @@ -161,17 +205,27 @@ "res_share_generation" ], "#440154", - 8, - "#443A83", - 21, - "#31688E", - 36, - "#21908C", - 52, - "#35B779", - 69, - "#8FD744", - 87, + 2, + "#482173", + 6, + "#433E85", + 12, + "#38598C", + 19, + "#2D708E", + 27, + "#25858E", + 37, + "#1E9B8A", + 48, + "#2BB07F", + 58, + "#51C56A", + 70, + "#85D54A", + 83, + "#C2DF23", + 94, "#FDE725" ] } @@ -183,7 +237,13 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "res_share_power"], 1, 0.2 + "case", + [ + "has", + "res_share_power" + ], + 1, + 0.1 ], "fill-color": [ "step", @@ -192,17 +252,27 @@ "res_share_power" ], "#440154", + 3, + "#482173", 9, - "#443A83", - 21, - "#31688E", - 36, - "#21908C", - 51, - "#35B779", - 67, - "#8FD744", - 86, + "#433E85", + 15, + "#38598C", + 22, + "#2D708E", + 29, + "#25858E", + 38, + "#1E9B8A", + 46, + "#2BB07F", + 54, + "#51C56A", + 64, + "#85D54A", + 75, + "#C2DF23", + 89, "#FDE725" ] } @@ -214,7 +284,13 @@ "source-layer": "countriesvalues", "paint": { "fill-opacity": [ - "case", ["has", "generation_to_population_kWh_pers"], 1, 0.2 + "case", + [ + "has", + "generation_to_population_kWh_pers" + ], + 1, + 0.1 ], "fill-color": [ "step",