From a2d92a34cb3416e4315cefc368b7e801f7de5c54 Mon Sep 17 00:00:00 2001
From: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
Date: Mon, 6 Feb 2023 19:01:33 +0200
Subject: [PATCH] Update to React 18 and react-bootstrap 2
---
Plan/react/dashboard/package.json | 6 +-
.../components/accordion/ServerAccordion.js | 2 +-
.../components/accordion/SessionAccordion.js | 2 +-
.../src/components/cards/CardHeader.js | 2 +-
.../cards/common/GeolocationsCard.js | 17 +-
.../cards/common/InsightsFor30DaysCard.js | 2 +-
.../components/cards/common/PingTableCard.js | 2 +-
.../components/cards/common/PlayerListCard.js | 2 +-
.../cards/common/PvpKillsTableCard.js | 2 +-
.../cards/common/RecentSessionsCard.js | 2 +-
.../components/cards/common/ServerPieCard.js | 2 +-
.../src/components/cards/common/TrendCard.js | 2 +-
.../components/cards/common/WorldPieCard.js | 2 +-
.../cards/network/PerformanceGraphsCard.js | 2 +-
.../cards/network/QuickViewDataCard.js | 2 +-
.../cards/network/QuickViewGraphCard.js | 2 +-
.../cards/network/ServersTableCard.js | 17 +-
.../components/cards/player/NicknamesCard.js | 2 +-
.../cards/player/PvpPveAsNumbersCard.js | 2 +-
.../components/cards/query/FilterDropdown.js | 17 +-
.../src/components/cards/query/FilterList.js | 4 +-
.../cards/query/QueryOptionsCard.js | 6 +-
.../cards/query/SessionsWithinViewCard.js | 2 +-
.../cards/query/filter/BetweenDatesFilter.js | 2 +-
.../query/filter/MultipleChoiceFilter.js | 2 +-
.../server/graphs/CurrentPlayerbaseCard.js | 2 +-
.../server/graphs/JoinAddressGraphCard.js | 2 +-
.../server/graphs/JoinAddressGroupCard.js | 2 +-
.../graphs/NetworkOnlineActivityGraphsCard.js | 2 +-
.../cards/server/graphs/OnlineActivityCard.js | 2 +-
.../server/graphs/OnlineActivityGraphsCard.js | 2 +-
.../server/graphs/PerformanceGraphsCard.js | 2 +-
.../graphs/PlayerbaseDevelopmentCard.js | 2 +-
.../tables/OnlineActivityAsNumbersCard.js | 2 +-
.../server/tables/PerformanceAsNumbersCard.js | 2 +-
.../server/tables/PlayerbaseTrendsCard.js | 2 +-
.../server/tables/PvpPveAsNumbersCard.js | 2 +-
.../server/tables/ServerWeekComparisonCard.js | 2 +-
.../server/values/ServerAsNumbersCard.js | 2 +-
.../components/extensions/ExtensionCard.js | 2 +-
.../src/components/graphs/GroupVisualizer.js | 2 +-
.../src/components/input/BasicDropdown.js | 8 +-
.../src/components/input/DateInputField.js | 2 +-
.../src/components/input/TimeInputField.js | 2 +-
.../components/modal/ColorSelectorModal.js | 2 +-
.../modal/FinalizeRegistrationModal.js | 2 +-
.../components/modal/ForgotPasswordModal.js | 2 +-
.../modal/PluginInformationModal.js | 2 +-
.../modal/VersionInformationModal.js | 2 +-
.../src/components/navigation/Header.js | 21 +-
.../src/components/navigation/Loader.js | 2 +-
.../navigation/PageNavigationItem.js | 4 +-
.../src/components/navigation/Sidebar.js | 6 +-
Plan/react/dashboard/src/index.js | 17 +-
Plan/react/dashboard/src/views/ErrorView.js | 2 +-
.../src/views/common/Geolocations.js | 2 +-
.../dashboard/src/views/layout/ErrorsPage.js | 2 +-
.../dashboard/src/views/layout/LoginPage.js | 2 +-
.../src/views/layout/RegisterPage.js | 2 +-
.../src/views/network/NetworkJoinAddresses.js | 2 +-
.../src/views/network/NetworkOverview.js | 2 +-
.../src/views/network/NetworkPerformance.js | 2 +-
.../network/NetworkPlayerbaseOverview.js | 2 +-
.../src/views/network/NetworkServers.js | 2 +-
.../src/views/network/NetworkSessions.js | 2 +-
.../src/views/player/PlayerOverview.js | 2 +-
.../src/views/player/PlayerPluginData.js | 2 +-
.../src/views/player/PlayerPvpPve.js | 2 +-
.../src/views/player/PlayerServers.js | 2 +-
.../src/views/player/PlayerSessions.js | 2 +-
.../dashboard/src/views/players/AllPlayers.js | 2 +-
.../dashboard/src/views/query/NewQueryView.js | 2 +-
.../src/views/query/QueryResultView.js | 2 +-
.../src/views/server/OnlineActivity.js | 2 +-
.../src/views/server/PlayerbaseOverview.js | 2 +-
.../src/views/server/ServerJoinAddresses.js | 2 +-
.../src/views/server/ServerOverview.js | 2 +-
.../src/views/server/ServerPerformance.js | 2 +-
.../src/views/server/ServerPlayers.js | 2 +-
.../src/views/server/ServerPluginData.js | 2 +-
.../src/views/server/ServerPvpPve.js | 2 +-
.../src/views/server/ServerSessions.js | 2 +-
.../src/views/server/ServerWidePluginData.js | 2 +-
Plan/react/dashboard/yarn.lock | 186 ++++++++++--------
84 files changed, 234 insertions(+), 219 deletions(-)
diff --git a/Plan/react/dashboard/package.json b/Plan/react/dashboard/package.json
index 76fc46dd9..620181596 100644
--- a/Plan/react/dashboard/package.json
+++ b/Plan/react/dashboard/package.json
@@ -29,9 +29,9 @@
"i18next-http-backend": "^2.1.1",
"i18next-localstorage-backend": "^4.1.0",
"masonry-layout": "^4.2.2",
- "react": "^17.0.2",
- "react-bootstrap-v5": "^1.4.0",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-bootstrap": "^2.7.0",
+ "react-dom": "^18.2.0",
"react-i18next": "^12.1.5",
"react-mcjsonchat": "^1.0.0",
"react-router-dom": "6",
diff --git a/Plan/react/dashboard/src/components/accordion/ServerAccordion.js b/Plan/react/dashboard/src/components/accordion/ServerAccordion.js
index 05fd89d57..b19a86558 100644
--- a/Plan/react/dashboard/src/components/accordion/ServerAccordion.js
+++ b/Plan/react/dashboard/src/components/accordion/ServerAccordion.js
@@ -3,7 +3,7 @@ import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCrosshairs, faGavel, faLocationArrow, faServer, faSkull} from "@fortawesome/free-solid-svg-icons";
import {faCalendarCheck, faCalendarPlus, faClock} from "@fortawesome/free-regular-svg-icons";
import Datapoint from "../Datapoint";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import WorldPie from "../graphs/WorldPie";
import Accordion from "./Accordion";
import {faSuperpowers} from "@fortawesome/free-brands-svg-icons";
diff --git a/Plan/react/dashboard/src/components/accordion/SessionAccordion.js b/Plan/react/dashboard/src/components/accordion/SessionAccordion.js
index a17ecf39d..81f76b9d1 100644
--- a/Plan/react/dashboard/src/components/accordion/SessionAccordion.js
+++ b/Plan/react/dashboard/src/components/accordion/SessionAccordion.js
@@ -3,7 +3,7 @@ import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCrosshairs, faServer, faSignal, faSkull, faUser} from "@fortawesome/free-solid-svg-icons";
import {faCalendarPlus, faClock, faMap} from "@fortawesome/free-regular-svg-icons";
import Datapoint from "../Datapoint";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import WorldPie from "../graphs/WorldPie";
import KillsTable from "../table/KillsTable";
import Accordion from "./Accordion";
diff --git a/Plan/react/dashboard/src/components/cards/CardHeader.js b/Plan/react/dashboard/src/components/cards/CardHeader.js
index 3eeedaefb..2454173aa 100644
--- a/Plan/react/dashboard/src/components/cards/CardHeader.js
+++ b/Plan/react/dashboard/src/components/cards/CardHeader.js
@@ -1,6 +1,6 @@
import React from 'react';
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {useTranslation} from "react-i18next";
const CardHeader = ({icon, color, label}) => {
diff --git a/Plan/react/dashboard/src/components/cards/common/GeolocationsCard.js b/Plan/react/dashboard/src/components/cards/common/GeolocationsCard.js
index ebca1fecb..a8d4ca020 100644
--- a/Plan/react/dashboard/src/components/cards/common/GeolocationsCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/GeolocationsCard.js
@@ -1,14 +1,11 @@
import {useTranslation} from "react-i18next";
-import {Card, Col, Dropdown, Row} from "react-bootstrap-v5";
+import {Card, Col, Dropdown, Row} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import React, {useState} from "react";
import {faExclamationTriangle, faGlobe, faLayerGroup} from "@fortawesome/free-solid-svg-icons";
import GeolocationBarGraph from "../../graphs/GeolocationBarGraph";
import GeolocationWorldMap, {ProjectionOptions} from "../../graphs/GeolocationWorldMap";
import {CardLoader} from "../../navigation/Loader";
-import DropdownToggle from "react-bootstrap-v5/lib/esm/DropdownToggle";
-import DropdownMenu from "react-bootstrap-v5/lib/esm/DropdownMenu";
-import DropdownItem from "react-bootstrap-v5/lib/esm/DropdownItem";
const ProjectionDropDown = ({projection, setProjection}) => {
const {t} = useTranslation();
@@ -18,18 +15,18 @@ const ProjectionDropDown = ({projection, setProjection}) => {
return (
-
+
{t(projection)}
-
+
-
+
{t('html.label.geoProjection.dropdown')}
{projectionOptions.map((option, i) => (
- setProjection(option)}>
+ setProjection(option)}>
{t(option)}
-
+
))}
-
+
)
}
diff --git a/Plan/react/dashboard/src/components/cards/common/InsightsFor30DaysCard.js b/Plan/react/dashboard/src/components/cards/common/InsightsFor30DaysCard.js
index 5df2778c8..7a0418143 100644
--- a/Plan/react/dashboard/src/components/cards/common/InsightsFor30DaysCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/InsightsFor30DaysCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import React from "react";
import {faLifeRing} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/cards/common/PingTableCard.js b/Plan/react/dashboard/src/components/cards/common/PingTableCard.js
index e9b3c2552..29305e39d 100644
--- a/Plan/react/dashboard/src/components/cards/common/PingTableCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/PingTableCard.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardHeader from "../CardHeader";
import {faWifi} from "@fortawesome/free-solid-svg-icons";
import PingTable from "../../table/PingTable";
diff --git a/Plan/react/dashboard/src/components/cards/common/PlayerListCard.js b/Plan/react/dashboard/src/components/cards/common/PlayerListCard.js
index 9fc9b671e..c850ea8e8 100644
--- a/Plan/react/dashboard/src/components/cards/common/PlayerListCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/PlayerListCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import React, {useEffect, useState} from "react";
import {faUsers} from "@fortawesome/free-solid-svg-icons";
diff --git a/Plan/react/dashboard/src/components/cards/common/PvpKillsTableCard.js b/Plan/react/dashboard/src/components/cards/common/PvpKillsTableCard.js
index 62af23328..1dd2eb2f7 100644
--- a/Plan/react/dashboard/src/components/cards/common/PvpKillsTableCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/PvpKillsTableCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCrosshairs} from "@fortawesome/free-solid-svg-icons";
import KillsTable from "../../table/KillsTable";
diff --git a/Plan/react/dashboard/src/components/cards/common/RecentSessionsCard.js b/Plan/react/dashboard/src/components/cards/common/RecentSessionsCard.js
index 4c6042cd2..eced43025 100644
--- a/Plan/react/dashboard/src/components/cards/common/RecentSessionsCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/RecentSessionsCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCalendar, faHandPointer} from "@fortawesome/free-regular-svg-icons";
import Scrollable from "../../Scrollable";
diff --git a/Plan/react/dashboard/src/components/cards/common/ServerPieCard.js b/Plan/react/dashboard/src/components/cards/common/ServerPieCard.js
index 250fcc9a8..8a5138c2d 100644
--- a/Plan/react/dashboard/src/components/cards/common/ServerPieCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/ServerPieCard.js
@@ -1,4 +1,4 @@
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import React from "react";
import {CardLoader} from "../../navigation/Loader";
import ServerPie from "../../graphs/ServerPie";
diff --git a/Plan/react/dashboard/src/components/cards/common/TrendCard.js b/Plan/react/dashboard/src/components/cards/common/TrendCard.js
index a39916ea3..a54c16f58 100644
--- a/Plan/react/dashboard/src/components/cards/common/TrendCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/TrendCard.js
@@ -1,4 +1,4 @@
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import Datapoint from "../../Datapoint";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faLongArrowAltRight} from "@fortawesome/free-solid-svg-icons";
diff --git a/Plan/react/dashboard/src/components/cards/common/WorldPieCard.js b/Plan/react/dashboard/src/components/cards/common/WorldPieCard.js
index 006e8e860..65246fdd3 100644
--- a/Plan/react/dashboard/src/components/cards/common/WorldPieCard.js
+++ b/Plan/react/dashboard/src/components/cards/common/WorldPieCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faClock} from "@fortawesome/free-regular-svg-icons";
import WorldPie from "../../graphs/WorldPie";
diff --git a/Plan/react/dashboard/src/components/cards/network/PerformanceGraphsCard.js b/Plan/react/dashboard/src/components/cards/network/PerformanceGraphsCard.js
index e28774a0b..aae71ce8e 100644
--- a/Plan/react/dashboard/src/components/cards/network/PerformanceGraphsCard.js
+++ b/Plan/react/dashboard/src/components/cards/network/PerformanceGraphsCard.js
@@ -9,7 +9,7 @@ import {
faTachometerAlt,
faUser
} from "@fortawesome/free-solid-svg-icons";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {useDataRequest} from "../../../hooks/dataFetchHook";
import {fetchPingGraph} from "../../../service/serverService";
import {tooltip, yAxisConfigurations} from "../../../util/graphs";
diff --git a/Plan/react/dashboard/src/components/cards/network/QuickViewDataCard.js b/Plan/react/dashboard/src/components/cards/network/QuickViewDataCard.js
index 3aad6395f..a25e023d0 100644
--- a/Plan/react/dashboard/src/components/cards/network/QuickViewDataCard.js
+++ b/Plan/react/dashboard/src/components/cards/network/QuickViewDataCard.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardHeader from "../CardHeader";
import {
faBookOpen,
diff --git a/Plan/react/dashboard/src/components/cards/network/QuickViewGraphCard.js b/Plan/react/dashboard/src/components/cards/network/QuickViewGraphCard.js
index 7706c5cda..e1c2c3bd2 100644
--- a/Plan/react/dashboard/src/components/cards/network/QuickViewGraphCard.js
+++ b/Plan/react/dashboard/src/components/cards/network/QuickViewGraphCard.js
@@ -1,6 +1,6 @@
import React from 'react';
import CardHeader from "../CardHeader";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import PlayersOnlineGraph from "../../graphs/PlayersOnlineGraph";
import {faChartArea} from "@fortawesome/free-solid-svg-icons";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/src/components/cards/network/ServersTableCard.js b/Plan/react/dashboard/src/components/cards/network/ServersTableCard.js
index 1f0807827..19be26ba8 100644
--- a/Plan/react/dashboard/src/components/cards/network/ServersTableCard.js
+++ b/Plan/react/dashboard/src/components/cards/network/ServersTableCard.js
@@ -1,12 +1,9 @@
import React, {useCallback, useState} from 'react';
-import {Card, Dropdown} from "react-bootstrap-v5";
+import {Card, Dropdown} from "react-bootstrap";
import ServersTable, {ServerSortOption} from "../../table/ServersTable";
import {faNetworkWired} from "@fortawesome/free-solid-svg-icons";
import {useTranslation} from "react-i18next";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import DropdownToggle from "react-bootstrap-v5/lib/esm/DropdownToggle";
-import DropdownMenu from "react-bootstrap-v5/lib/esm/DropdownMenu";
-import DropdownItem from "react-bootstrap-v5/lib/esm/DropdownItem";
import {CardLoader} from "../../navigation/Loader";
const SortDropDown = ({sortBy, sortReversed, setSortBy}) => {
@@ -20,18 +17,18 @@ const SortDropDown = ({sortBy, sortReversed, setSortBy}) => {
return (
-
+
{t(sortBy.label)}
-
+
-
+
{t('html.label.sortBy')}
{sortOptions.map((option, i) => (
- setSortBy(option)}>
+ setSortBy(option)}>
{t(option.label)}
-
+
))}
-
+
)
}
diff --git a/Plan/react/dashboard/src/components/cards/player/NicknamesCard.js b/Plan/react/dashboard/src/components/cards/player/NicknamesCard.js
index e5c4fe0f0..c53be82f6 100644
--- a/Plan/react/dashboard/src/components/cards/player/NicknamesCard.js
+++ b/Plan/react/dashboard/src/components/cards/player/NicknamesCard.js
@@ -1,6 +1,6 @@
import {useTranslation} from "react-i18next";
import {useTheme} from "../../../hooks/themeHook";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faServer, faSignature} from "@fortawesome/free-solid-svg-icons";
import Scrollable from "../../Scrollable";
diff --git a/Plan/react/dashboard/src/components/cards/player/PvpPveAsNumbersCard.js b/Plan/react/dashboard/src/components/cards/player/PvpPveAsNumbersCard.js
index d6916bd06..7ef8a2bbe 100644
--- a/Plan/react/dashboard/src/components/cards/player/PvpPveAsNumbersCard.js
+++ b/Plan/react/dashboard/src/components/cards/player/PvpPveAsNumbersCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCampground} from "@fortawesome/free-solid-svg-icons";
import React from "react";
diff --git a/Plan/react/dashboard/src/components/cards/query/FilterDropdown.js b/Plan/react/dashboard/src/components/cards/query/FilterDropdown.js
index e15fb2006..4fc99c205 100644
--- a/Plan/react/dashboard/src/components/cards/query/FilterDropdown.js
+++ b/Plan/react/dashboard/src/components/cards/query/FilterDropdown.js
@@ -1,9 +1,6 @@
import React from 'react';
-import DropdownToggle from "react-bootstrap-v5/lib/esm/DropdownToggle";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import DropdownMenu from "react-bootstrap-v5/lib/esm/DropdownMenu";
-import DropdownItem from "react-bootstrap-v5/lib/esm/DropdownItem";
-import {Dropdown} from "react-bootstrap-v5";
+import {Dropdown} from "react-bootstrap";
import {faPlus} from "@fortawesome/free-solid-svg-icons";
import {useTranslation} from "react-i18next";
import Scrollable from "../../Scrollable";
@@ -47,20 +44,20 @@ const FilterDropdown = ({filterOptions, filters, setFilters}) => {
return (
-
+
{t('html.query.filters.add')}
-
+
-
+
{t('html.query.filters.add')}
{filterOptions.map((option, i) => (
- addFilter(option)}>
+ addFilter(option)}>
{getReadableFilterName(option)}
-
+
))}
-
+
)
};
diff --git a/Plan/react/dashboard/src/components/cards/query/FilterList.js b/Plan/react/dashboard/src/components/cards/query/FilterList.js
index 6314276e4..bc06bb197 100644
--- a/Plan/react/dashboard/src/components/cards/query/FilterList.js
+++ b/Plan/react/dashboard/src/components/cards/query/FilterList.js
@@ -29,8 +29,8 @@ const FilterList = ({filters, setFilters, setAsInvalid, setAsValid}) => {
return (
- {filters.map((filter, i) => -
-
-
+ updateFilterOptions(i, newOptions)}
removeFilter={() => removeFilter(i)}
moveUp={() => moveUp(i)}
diff --git a/Plan/react/dashboard/src/components/cards/query/QueryOptionsCard.js b/Plan/react/dashboard/src/components/cards/query/QueryOptionsCard.js
index 040f7cdf1..70a61e54e 100644
--- a/Plan/react/dashboard/src/components/cards/query/QueryOptionsCard.js
+++ b/Plan/react/dashboard/src/components/cards/query/QueryOptionsCard.js
@@ -1,5 +1,5 @@
import React, {useCallback, useEffect, useState} from 'react';
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {useTranslation} from "react-i18next";
import {useDataRequest} from "../../../hooks/dataFetchHook";
import {fetchFilters, postQuery} from "../../../service/queryService";
@@ -61,8 +61,8 @@ const QueryOptionsCard = () => {
// View state handling
const [invalidFields, setInvalidFields] = useState([]);
- const setAsInvalid = id => setInvalidFields([...invalidFields, id]);
- const setAsValid = id => setInvalidFields(invalidFields.filter(invalid => id !== invalid));
+ const setAsInvalid = useCallback(id => setInvalidFields([...invalidFields, id]), [setInvalidFields, invalidFields]);
+ const setAsValid = useCallback(id => setInvalidFields(invalidFields.filter(invalid => id !== invalid)), [setInvalidFields, invalidFields]);
const [extremes, setExtremes] = useState(undefined);
/*eslint-disable react-hooks/exhaustive-deps */
diff --git a/Plan/react/dashboard/src/components/cards/query/SessionsWithinViewCard.js b/Plan/react/dashboard/src/components/cards/query/SessionsWithinViewCard.js
index b62263c99..48439b8bf 100644
--- a/Plan/react/dashboard/src/components/cards/query/SessionsWithinViewCard.js
+++ b/Plan/react/dashboard/src/components/cards/query/SessionsWithinViewCard.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardHeader from "../CardHeader";
import {faCalendar, faCalendarCheck, faClock} from "@fortawesome/free-regular-svg-icons";
import Datapoint from "../../Datapoint";
diff --git a/Plan/react/dashboard/src/components/cards/query/filter/BetweenDatesFilter.js b/Plan/react/dashboard/src/components/cards/query/filter/BetweenDatesFilter.js
index 2c79325dc..68759c194 100644
--- a/Plan/react/dashboard/src/components/cards/query/filter/BetweenDatesFilter.js
+++ b/Plan/react/dashboard/src/components/cards/query/filter/BetweenDatesFilter.js
@@ -2,7 +2,7 @@ import React, {useEffect, useState} from 'react';
import {useTranslation} from "react-i18next";
import DateInputField from "../../../input/DateInputField";
import TimeInputField from "../../../input/TimeInputField";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faTrashAlt} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/cards/query/filter/MultipleChoiceFilter.js b/Plan/react/dashboard/src/components/cards/query/filter/MultipleChoiceFilter.js
index 2e220317a..83b4c33a1 100644
--- a/Plan/react/dashboard/src/components/cards/query/filter/MultipleChoiceFilter.js
+++ b/Plan/react/dashboard/src/components/cards/query/filter/MultipleChoiceFilter.js
@@ -3,7 +3,7 @@ import {useTranslation} from "react-i18next";
import MultiSelect from "../../../input/MultiSelect";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faTrashAlt} from "@fortawesome/free-regular-svg-icons";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
const MultipleChoiceFilter = ({index, label, filter, removeFilter, setFilterOptions}) => {
const {t} = useTranslation();
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/CurrentPlayerbaseCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/CurrentPlayerbaseCard.js
index e5d41122e..6ca7ed012 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/CurrentPlayerbaseCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/CurrentPlayerbaseCard.js
@@ -3,7 +3,7 @@ import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchPlayerbaseDevelopmentGraph} from "../../../../service/serverService";
import {ErrorViewCard} from "../../../../views/ErrorView";
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faUsers} from "@fortawesome/free-solid-svg-icons";
import {CardLoader} from "../../../navigation/Loader";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGraphCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGraphCard.js
index 22382fc8a..f6fe624a4 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGraphCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGraphCard.js
@@ -4,7 +4,7 @@ import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchJoinAddressByDay} from "../../../../service/serverService";
import {ErrorViewCard} from "../../../../views/ErrorView";
import {CardLoader} from "../../../navigation/Loader";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faChartColumn} from "@fortawesome/free-solid-svg-icons";
import JoinAddressGraph from "../../../graphs/JoinAddressGraph";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGroupCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGroupCard.js
index 952758b01..31c9f5eed 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGroupCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/JoinAddressGroupCard.js
@@ -4,7 +4,7 @@ import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchJoinAddressPie} from "../../../../service/serverService";
import {ErrorViewCard} from "../../../../views/ErrorView";
import {CardLoader} from "../../../navigation/Loader";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faLocationArrow} from "@fortawesome/free-solid-svg-icons";
import GroupVisualizer from "../../../graphs/GroupVisualizer";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/NetworkOnlineActivityGraphsCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/NetworkOnlineActivityGraphsCard.js
index 4e14deaf5..616e17cef 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/NetworkOnlineActivityGraphsCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/NetworkOnlineActivityGraphsCard.js
@@ -1,6 +1,6 @@
import React from 'react';
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardTabs from "../../../CardTabs";
import {faChartArea} from "@fortawesome/free-solid-svg-icons";
import {useDataRequest} from "../../../../hooks/dataFetchHook";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityCard.js
index 77ecb2833..d05c08fa9 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityCard.js
@@ -3,7 +3,7 @@ import {useParams} from "react-router-dom";
import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchPlayersOnlineGraph} from "../../../../service/serverService";
import {ErrorViewCard} from "../../../../views/ErrorView";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faChartArea} from "@fortawesome/free-solid-svg-icons";
import PlayersOnlineGraph from "../../../graphs/PlayersOnlineGraph";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityGraphsCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityGraphsCard.js
index c84921da5..e4fdfecdf 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityGraphsCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/OnlineActivityGraphsCard.js
@@ -9,7 +9,7 @@ import {
import {ErrorViewBody} from "../../../../views/ErrorView";
import PunchCard from "../../../graphs/PunchCard";
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardTabs from "../../../CardTabs";
import {faBraille, faChartArea} from "@fortawesome/free-solid-svg-icons";
import {faCalendar} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/PerformanceGraphsCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/PerformanceGraphsCard.js
index d094ff15d..33d74ac5a 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/PerformanceGraphsCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/PerformanceGraphsCard.js
@@ -3,7 +3,7 @@ import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchOptimizedPerformance, fetchPingGraph} from "../../../../service/serverService";
import {ErrorViewBody} from "../../../../views/ErrorView";
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import CardTabs from "../../../CardTabs";
import {faGears, faHdd, faMap, faMicrochip, faSignal, faTachometerAlt} from "@fortawesome/free-solid-svg-icons";
import React, {useEffect, useState} from "react";
diff --git a/Plan/react/dashboard/src/components/cards/server/graphs/PlayerbaseDevelopmentCard.js b/Plan/react/dashboard/src/components/cards/server/graphs/PlayerbaseDevelopmentCard.js
index 2e1f6f229..1d47fd95f 100644
--- a/Plan/react/dashboard/src/components/cards/server/graphs/PlayerbaseDevelopmentCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/graphs/PlayerbaseDevelopmentCard.js
@@ -2,7 +2,7 @@ import {useTranslation} from "react-i18next";
import {useDataRequest} from "../../../../hooks/dataFetchHook";
import {fetchPlayerbaseDevelopmentGraph} from "../../../../service/serverService";
import {ErrorViewCard} from "../../../../views/ErrorView";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faChartLine} from "@fortawesome/free-solid-svg-icons";
import React from "react";
diff --git a/Plan/react/dashboard/src/components/cards/server/tables/OnlineActivityAsNumbersCard.js b/Plan/react/dashboard/src/components/cards/server/tables/OnlineActivityAsNumbersCard.js
index 8f60a3b03..e4e352e5e 100644
--- a/Plan/react/dashboard/src/components/cards/server/tables/OnlineActivityAsNumbersCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/tables/OnlineActivityAsNumbersCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faBookOpen} from "@fortawesome/free-solid-svg-icons";
import React from "react";
diff --git a/Plan/react/dashboard/src/components/cards/server/tables/PerformanceAsNumbersCard.js b/Plan/react/dashboard/src/components/cards/server/tables/PerformanceAsNumbersCard.js
index 5919b16e0..484ce6d3d 100644
--- a/Plan/react/dashboard/src/components/cards/server/tables/PerformanceAsNumbersCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/tables/PerformanceAsNumbersCard.js
@@ -2,7 +2,7 @@ import React from 'react';
import PerformanceAsNumbersTable from "../../../table/PerformanceAsNumbersTable";
import CardHeader from "../../CardHeader";
import {faBookOpen} from "@fortawesome/free-solid-svg-icons";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
const PerformanceAsNumbersCard = ({data}) => {
return (
diff --git a/Plan/react/dashboard/src/components/cards/server/tables/PlayerbaseTrendsCard.js b/Plan/react/dashboard/src/components/cards/server/tables/PlayerbaseTrendsCard.js
index 173676f35..57383786f 100644
--- a/Plan/react/dashboard/src/components/cards/server/tables/PlayerbaseTrendsCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/tables/PlayerbaseTrendsCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faExchangeAlt, faUsers} from "@fortawesome/free-solid-svg-icons";
import ComparisonTable from "../../../table/ComparisonTable";
diff --git a/Plan/react/dashboard/src/components/cards/server/tables/PvpPveAsNumbersCard.js b/Plan/react/dashboard/src/components/cards/server/tables/PvpPveAsNumbersCard.js
index 28200431f..a61d98c06 100644
--- a/Plan/react/dashboard/src/components/cards/server/tables/PvpPveAsNumbersCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/tables/PvpPveAsNumbersCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCampground} from "@fortawesome/free-solid-svg-icons";
import React from "react";
diff --git a/Plan/react/dashboard/src/components/cards/server/tables/ServerWeekComparisonCard.js b/Plan/react/dashboard/src/components/cards/server/tables/ServerWeekComparisonCard.js
index 3f75ec922..8fb4e1ac6 100644
--- a/Plan/react/dashboard/src/components/cards/server/tables/ServerWeekComparisonCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/tables/ServerWeekComparisonCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCrosshairs, faExchangeAlt, faSkull, faUsers} from "@fortawesome/free-solid-svg-icons";
import ComparisonTable from "../../../table/ComparisonTable";
diff --git a/Plan/react/dashboard/src/components/cards/server/values/ServerAsNumbersCard.js b/Plan/react/dashboard/src/components/cards/server/values/ServerAsNumbersCard.js
index 6f512fa48..0d378162b 100644
--- a/Plan/react/dashboard/src/components/cards/server/values/ServerAsNumbersCard.js
+++ b/Plan/react/dashboard/src/components/cards/server/values/ServerAsNumbersCard.js
@@ -1,5 +1,5 @@
import {useTranslation} from "react-i18next";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {
faBookOpen,
diff --git a/Plan/react/dashboard/src/components/extensions/ExtensionCard.js b/Plan/react/dashboard/src/components/extensions/ExtensionCard.js
index 960c24188..a5b92fb65 100644
--- a/Plan/react/dashboard/src/components/extensions/ExtensionCard.js
+++ b/Plan/react/dashboard/src/components/extensions/ExtensionCard.js
@@ -1,5 +1,5 @@
import React, {useEffect, useState} from "react";
-import {Card, Col} from "react-bootstrap-v5";
+import {Card, Col} from "react-bootstrap";
import ExtensionIcon from "./ExtensionIcon";
import Datapoint from "../Datapoint";
import Masonry from 'masonry-layout'
diff --git a/Plan/react/dashboard/src/components/graphs/GroupVisualizer.js b/Plan/react/dashboard/src/components/graphs/GroupVisualizer.js
index e3e433a4f..698390765 100644
--- a/Plan/react/dashboard/src/components/graphs/GroupVisualizer.js
+++ b/Plan/react/dashboard/src/components/graphs/GroupVisualizer.js
@@ -3,7 +3,7 @@ import GroupTable from "../table/GroupTable";
import GroupPie from "./GroupPie";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faBarChart, faChartColumn, faPieChart, faTable} from "@fortawesome/free-solid-svg-icons";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import GroupBarGraph from "./GroupBarGraph";
const options = {
diff --git a/Plan/react/dashboard/src/components/input/BasicDropdown.js b/Plan/react/dashboard/src/components/input/BasicDropdown.js
index 4174f4302..bffa8bc8e 100644
--- a/Plan/react/dashboard/src/components/input/BasicDropdown.js
+++ b/Plan/react/dashboard/src/components/input/BasicDropdown.js
@@ -1,10 +1,10 @@
import React from 'react';
-import DropdownToggle from "react-bootstrap-v5/lib/esm/DropdownToggle";
+import DropdownToggle from "react-bootstrap/lib/esm/DropdownToggle";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import DropdownMenu from "react-bootstrap-v5/lib/esm/DropdownMenu";
-import DropdownItem from "react-bootstrap-v5/lib/esm/DropdownItem";
+import DropdownMenu from "react-bootstrap/lib/esm/DropdownMenu";
+import DropdownItem from "react-bootstrap/lib/esm/DropdownItem";
import {useTranslation} from "react-i18next";
-import {Dropdown} from "react-bootstrap-v5";
+import {Dropdown} from "react-bootstrap";
export const DropDownWithOptions = ({selected, optionList, onChange, optionLabelMapper, icon, title}) => {
const {t} = useTranslation();
diff --git a/Plan/react/dashboard/src/components/input/DateInputField.js b/Plan/react/dashboard/src/components/input/DateInputField.js
index d20b311d0..f3fa0486a 100644
--- a/Plan/react/dashboard/src/components/input/DateInputField.js
+++ b/Plan/react/dashboard/src/components/input/DateInputField.js
@@ -1,5 +1,5 @@
import React, {useState} from 'react';
-import {InputGroup} from "react-bootstrap-v5";
+import {InputGroup} from "react-bootstrap";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faCalendar} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/input/TimeInputField.js b/Plan/react/dashboard/src/components/input/TimeInputField.js
index a6ae06859..6dc8e2b7f 100644
--- a/Plan/react/dashboard/src/components/input/TimeInputField.js
+++ b/Plan/react/dashboard/src/components/input/TimeInputField.js
@@ -1,5 +1,5 @@
import React, {useState} from 'react';
-import {InputGroup} from "react-bootstrap-v5";
+import {InputGroup} from "react-bootstrap";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faClock} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/modal/ColorSelectorModal.js b/Plan/react/dashboard/src/components/modal/ColorSelectorModal.js
index deb08da50..508c3c726 100644
--- a/Plan/react/dashboard/src/components/modal/ColorSelectorModal.js
+++ b/Plan/react/dashboard/src/components/modal/ColorSelectorModal.js
@@ -3,7 +3,7 @@ import {useTheme} from "../../hooks/themeHook";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCloudMoon, faPalette} from "@fortawesome/free-solid-svg-icons";
import {colorEnumToBgClass} from "../../util/colors";
-import {Modal} from "react-bootstrap-v5";
+import {Modal} from "react-bootstrap";
import {useTranslation} from "react-i18next";
const ColorSelectorButton = ({color, setColor, disabled}) =>
diff --git a/Plan/react/dashboard/src/components/modal/FinalizeRegistrationModal.js b/Plan/react/dashboard/src/components/modal/FinalizeRegistrationModal.js
index 1d1ab22ec..72e825bd1 100644
--- a/Plan/react/dashboard/src/components/modal/FinalizeRegistrationModal.js
+++ b/Plan/react/dashboard/src/components/modal/FinalizeRegistrationModal.js
@@ -1,7 +1,7 @@
import React from 'react';
import {useTranslation} from "react-i18next";
import {useMetadata} from "../../hooks/metadataHook";
-import {Modal} from "react-bootstrap-v5";
+import {Modal} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faHandPointRight} from "@fortawesome/free-regular-svg-icons";
diff --git a/Plan/react/dashboard/src/components/modal/ForgotPasswordModal.js b/Plan/react/dashboard/src/components/modal/ForgotPasswordModal.js
index 05e518293..a00bac331 100644
--- a/Plan/react/dashboard/src/components/modal/ForgotPasswordModal.js
+++ b/Plan/react/dashboard/src/components/modal/ForgotPasswordModal.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Modal} from "react-bootstrap-v5";
+import {Modal} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faHandPointRight} from "@fortawesome/free-regular-svg-icons";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/src/components/modal/PluginInformationModal.js b/Plan/react/dashboard/src/components/modal/PluginInformationModal.js
index 3f47211a6..9e21452a3 100644
--- a/Plan/react/dashboard/src/components/modal/PluginInformationModal.js
+++ b/Plan/react/dashboard/src/components/modal/PluginInformationModal.js
@@ -1,6 +1,6 @@
import React from "react";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import {Modal} from "react-bootstrap-v5";
+import {Modal} from "react-bootstrap";
import {
faBug,
faChartArea,
diff --git a/Plan/react/dashboard/src/components/modal/VersionInformationModal.js b/Plan/react/dashboard/src/components/modal/VersionInformationModal.js
index 12cd76860..33dd6df2d 100644
--- a/Plan/react/dashboard/src/components/modal/VersionInformationModal.js
+++ b/Plan/react/dashboard/src/components/modal/VersionInformationModal.js
@@ -1,6 +1,6 @@
import React from "react";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import {Modal} from "react-bootstrap-v5";
+import {Modal} from "react-bootstrap";
import {faCheckCircle, faDownload} from "@fortawesome/free-solid-svg-icons";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/src/components/navigation/Header.js b/Plan/react/dashboard/src/components/navigation/Header.js
index c431d497c..181e583f1 100644
--- a/Plan/react/dashboard/src/components/navigation/Header.js
+++ b/Plan/react/dashboard/src/components/navigation/Header.js
@@ -2,11 +2,8 @@ import {useMetadata} from "../../hooks/metadataHook";
import {useAuth} from "../../hooks/authenticationHook";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faBars, faClockRotateLeft, faCog, faDoorOpen, faPalette, faSyncAlt} from "@fortawesome/free-solid-svg-icons";
-import DropdownMenu from "react-bootstrap-v5/lib/esm/DropdownMenu";
-import DropdownItem from "react-bootstrap-v5/lib/esm/DropdownItem";
import {useTheme} from "../../hooks/themeHook";
-import {Dropdown} from "react-bootstrap-v5";
-import DropdownToggle from "react-bootstrap-v5/lib/esm/DropdownToggle";
+import {Dropdown} from "react-bootstrap";
import {localeService} from "../../service/localeService";
import {useTranslation} from "react-i18next";
import {useNavigation} from "../../hooks/navigationHook";
@@ -71,23 +68,23 @@ const Header = ({page, tab, hideUpdater}) => {
-
+
{authRequired && user ? <>
{user.username}
> : <>
>}
-
+
-
-
+
+
{t('html.label.themeSelect')}
-
- {authRequired ?
+
+ {authRequired ?
{t('html.login.logout')}
- : ''}
-
+ : ''}
+
)
diff --git a/Plan/react/dashboard/src/components/navigation/Loader.js b/Plan/react/dashboard/src/components/navigation/Loader.js
index b7ddd2528..d550bb2ff 100644
--- a/Plan/react/dashboard/src/components/navigation/Loader.js
+++ b/Plan/react/dashboard/src/components/navigation/Loader.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
export const CardLoader = () => {
return (
diff --git a/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js b/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
index f8267f415..bb704cc10 100644
--- a/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
+++ b/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
@@ -2,7 +2,7 @@ import React, {useEffect, useState} from 'react';
import {faCompass} from "@fortawesome/free-solid-svg-icons";
import {useTranslation} from "react-i18next";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
-import {InputGroup} from "react-bootstrap-v5";
+import {InputGroup} from "react-bootstrap";
import {useLocation, useNavigate} from "react-router-dom";
import {useMetadata} from "../../hooks/metadataHook";
import {useAuth} from "../../hooks/authenticationHook";
@@ -86,7 +86,7 @@ const PageNavigationItem = ({page}) => {
className="form-select form-select-sm scrollbar"
id="pageSelector"
defaultValue={currentPage ? currentPage : items[0].id}>
- {items.map((item, i) =>
+ {items.map(item =>
)}
diff --git a/Plan/react/dashboard/src/components/navigation/Sidebar.js b/Plan/react/dashboard/src/components/navigation/Sidebar.js
index c89eb9e80..d013801ab 100644
--- a/Plan/react/dashboard/src/components/navigation/Sidebar.js
+++ b/Plan/react/dashboard/src/components/navigation/Sidebar.js
@@ -10,7 +10,7 @@ import {fetchPlanVersion} from "../../service/metadataService";
import {useAuth} from "../../hooks/authenticationHook";
import {useNavigation} from "../../hooks/navigationHook";
import {useTranslation} from "react-i18next";
-import {Collapse} from "react-bootstrap-v5";
+import {Collapse} from "react-bootstrap";
import {baseAddress} from "../../service/backendConfiguration";
import PageNavigationItem from "./PageNavigationItem";
@@ -238,7 +238,9 @@ const Sidebar = ({page, items}) => {
setVersionInfo({currentVersion: "Error getting version", updateAvailable: false})
}
}
- useEffect(() => loadVersion(), []);
+ useEffect(() => {
+ loadVersion();
+ }, []);
return (
<>
diff --git a/Plan/react/dashboard/src/index.js b/Plan/react/dashboard/src/index.js
index 7eb1d25d3..6e8a7537c 100644
--- a/Plan/react/dashboard/src/index.js
+++ b/Plan/react/dashboard/src/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import ReactDOM from 'react-dom';
+import {createRoot} from "react-dom/client";
import './index.css';
import App from './App';
@@ -16,9 +16,12 @@ library.add(fab);
library.add(fas);
library.add(far);
-localeService.init().then(() => ReactDOM.render(
-
-
- ,
- document.getElementById('root')
-));
\ No newline at end of file
+localeService.init().then(() => {
+ const container = document.getElementById('root');
+ const root = createRoot(container);
+ root.render(
+
+
+
+ );
+});
\ No newline at end of file
diff --git a/Plan/react/dashboard/src/views/ErrorView.js b/Plan/react/dashboard/src/views/ErrorView.js
index f807b89df..19a91c2ad 100644
--- a/Plan/react/dashboard/src/views/ErrorView.js
+++ b/Plan/react/dashboard/src/views/ErrorView.js
@@ -1,4 +1,4 @@
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import React from "react";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faBug} from "@fortawesome/free-solid-svg-icons";
diff --git a/Plan/react/dashboard/src/views/common/Geolocations.js b/Plan/react/dashboard/src/views/common/Geolocations.js
index bea249143..a6e3a65c6 100644
--- a/Plan/react/dashboard/src/views/common/Geolocations.js
+++ b/Plan/react/dashboard/src/views/common/Geolocations.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import {ErrorViewCard} from "../ErrorView";
import GeolocationsCard from "../../components/cards/common/GeolocationsCard";
import PingTableCard from "../../components/cards/common/PingTableCard";
diff --git a/Plan/react/dashboard/src/views/layout/ErrorsPage.js b/Plan/react/dashboard/src/views/layout/ErrorsPage.js
index 5fdf8c322..49d1bc581 100644
--- a/Plan/react/dashboard/src/views/layout/ErrorsPage.js
+++ b/Plan/react/dashboard/src/views/layout/ErrorsPage.js
@@ -8,7 +8,7 @@ import {useDataRequest} from "../../hooks/dataFetchHook";
import {fetchErrorLogs} from "../../service/metadataService";
import ErrorPage from "./ErrorPage";
import ErrorsAccordion from "../../components/accordion/ErrorsAccordion";
-import {Card} from "react-bootstrap-v5";
+import {Card} from "react-bootstrap";
const ErrorsPage = () => {
const {data, loadingError} = useDataRequest(fetchErrorLogs, []);
diff --git a/Plan/react/dashboard/src/views/layout/LoginPage.js b/Plan/react/dashboard/src/views/layout/LoginPage.js
index b0e830f38..10dec63f6 100644
--- a/Plan/react/dashboard/src/views/layout/LoginPage.js
+++ b/Plan/react/dashboard/src/views/layout/LoginPage.js
@@ -1,7 +1,7 @@
import React, {useCallback, useEffect, useState} from 'react';
import logo from '../../Flaticon_circle.png'
-import {Alert, Card, Col, Row} from "react-bootstrap-v5";
+import {Alert, Card, Col, Row} from "react-bootstrap";
import {Link, useNavigate} from "react-router-dom";
import {useTranslation} from "react-i18next";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
diff --git a/Plan/react/dashboard/src/views/layout/RegisterPage.js b/Plan/react/dashboard/src/views/layout/RegisterPage.js
index 65e17b044..fd125a027 100644
--- a/Plan/react/dashboard/src/views/layout/RegisterPage.js
+++ b/Plan/react/dashboard/src/views/layout/RegisterPage.js
@@ -1,7 +1,7 @@
import React, {useCallback, useEffect, useState} from 'react';
import logo from '../../Flaticon_circle.png'
-import {Alert, Card, Col, Row} from "react-bootstrap-v5";
+import {Alert, Card, Col, Row} from "react-bootstrap";
import {Link, useNavigate} from "react-router-dom";
import {useTranslation} from "react-i18next";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
diff --git a/Plan/react/dashboard/src/views/network/NetworkJoinAddresses.js b/Plan/react/dashboard/src/views/network/NetworkJoinAddresses.js
index 14b4d2fb7..c229d2832 100644
--- a/Plan/react/dashboard/src/views/network/NetworkJoinAddresses.js
+++ b/Plan/react/dashboard/src/views/network/NetworkJoinAddresses.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import JoinAddressGroupCard from "../../components/cards/server/graphs/JoinAddressGroupCard";
import JoinAddressGraphCard from "../../components/cards/server/graphs/JoinAddressGraphCard";
import LoadIn from "../../components/animation/LoadIn";
diff --git a/Plan/react/dashboard/src/views/network/NetworkOverview.js b/Plan/react/dashboard/src/views/network/NetworkOverview.js
index 3382a5fe5..8e09b6b66 100644
--- a/Plan/react/dashboard/src/views/network/NetworkOverview.js
+++ b/Plan/react/dashboard/src/views/network/NetworkOverview.js
@@ -2,7 +2,7 @@ import React from 'react';
import {useDataRequest} from "../../hooks/dataFetchHook";
import ErrorView from "../ErrorView";
import LoadIn from "../../components/animation/LoadIn";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import ServerAsNumbersCard from "../../components/cards/server/values/ServerAsNumbersCard";
import ServerWeekComparisonCard from "../../components/cards/server/tables/ServerWeekComparisonCard";
import {fetchNetworkOverview} from "../../service/networkService";
diff --git a/Plan/react/dashboard/src/views/network/NetworkPerformance.js b/Plan/react/dashboard/src/views/network/NetworkPerformance.js
index e14a36723..4590598d5 100644
--- a/Plan/react/dashboard/src/views/network/NetworkPerformance.js
+++ b/Plan/react/dashboard/src/views/network/NetworkPerformance.js
@@ -1,6 +1,6 @@
import React, {useCallback, useEffect, useState} from 'react';
import LoadIn from "../../components/animation/LoadIn";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {useMetadata} from "../../hooks/metadataHook";
import CardHeader from "../../components/cards/CardHeader";
import {faServer} from "@fortawesome/free-solid-svg-icons";
diff --git a/Plan/react/dashboard/src/views/network/NetworkPlayerbaseOverview.js b/Plan/react/dashboard/src/views/network/NetworkPlayerbaseOverview.js
index e76fd104f..48019cfaa 100644
--- a/Plan/react/dashboard/src/views/network/NetworkPlayerbaseOverview.js
+++ b/Plan/react/dashboard/src/views/network/NetworkPlayerbaseOverview.js
@@ -1,4 +1,4 @@
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import React from "react";
import PlayerbaseDevelopmentCard from "../../components/cards/server/graphs/PlayerbaseDevelopmentCard";
import CurrentPlayerbaseCard from "../../components/cards/server/graphs/CurrentPlayerbaseCard";
diff --git a/Plan/react/dashboard/src/views/network/NetworkServers.js b/Plan/react/dashboard/src/views/network/NetworkServers.js
index b078ecd51..64588f8ba 100644
--- a/Plan/react/dashboard/src/views/network/NetworkServers.js
+++ b/Plan/react/dashboard/src/views/network/NetworkServers.js
@@ -1,5 +1,5 @@
import React, {useState} from 'react';
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import {useDataRequest} from "../../hooks/dataFetchHook";
import {fetchServersOverview} from "../../service/networkService";
import ErrorView from "../ErrorView";
diff --git a/Plan/react/dashboard/src/views/network/NetworkSessions.js b/Plan/react/dashboard/src/views/network/NetworkSessions.js
index 6405e5e69..036a400ea 100644
--- a/Plan/react/dashboard/src/views/network/NetworkSessions.js
+++ b/Plan/react/dashboard/src/views/network/NetworkSessions.js
@@ -1,4 +1,4 @@
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import React from "react";
import ServerRecentSessionsCard from "../../components/cards/server/tables/ServerRecentSessionsCard";
import SessionInsightsCard from "../../components/cards/server/insights/SessionInsightsCard";
diff --git a/Plan/react/dashboard/src/views/player/PlayerOverview.js b/Plan/react/dashboard/src/views/player/PlayerOverview.js
index ce22847ef..d837405c6 100644
--- a/Plan/react/dashboard/src/views/player/PlayerOverview.js
+++ b/Plan/react/dashboard/src/views/player/PlayerOverview.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faAddressBook, faCalendar, faCalendarCheck, faClock} from "@fortawesome/free-regular-svg-icons";
import {
diff --git a/Plan/react/dashboard/src/views/player/PlayerPluginData.js b/Plan/react/dashboard/src/views/player/PlayerPluginData.js
index c99ba58df..c73c80cf8 100644
--- a/Plan/react/dashboard/src/views/player/PlayerPluginData.js
+++ b/Plan/react/dashboard/src/views/player/PlayerPluginData.js
@@ -1,6 +1,6 @@
import React, {useEffect} from "react";
import ExtensionCard, {ExtensionCardWrapper} from "../../components/extensions/ExtensionCard";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {useParams} from "react-router-dom";
import Masonry from "masonry-layout";
import {usePlayer} from "../layout/PlayerPage";
diff --git a/Plan/react/dashboard/src/views/player/PlayerPvpPve.js b/Plan/react/dashboard/src/views/player/PlayerPvpPve.js
index c357d21d6..95b26f6b0 100644
--- a/Plan/react/dashboard/src/views/player/PlayerPvpPve.js
+++ b/Plan/react/dashboard/src/views/player/PlayerPvpPve.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faLifeRing} from "@fortawesome/free-regular-svg-icons";
import {faKhanda, faSkull} from "@fortawesome/free-solid-svg-icons";
diff --git a/Plan/react/dashboard/src/views/player/PlayerServers.js b/Plan/react/dashboard/src/views/player/PlayerServers.js
index 95b5e8c0e..551c4ec65 100644
--- a/Plan/react/dashboard/src/views/player/PlayerServers.js
+++ b/Plan/react/dashboard/src/views/player/PlayerServers.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faHandPointer} from "@fortawesome/free-regular-svg-icons";
import Scrollable from "../../components/Scrollable";
diff --git a/Plan/react/dashboard/src/views/player/PlayerSessions.js b/Plan/react/dashboard/src/views/player/PlayerSessions.js
index 5a6248c67..91180cb80 100644
--- a/Plan/react/dashboard/src/views/player/PlayerSessions.js
+++ b/Plan/react/dashboard/src/views/player/PlayerSessions.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {FontAwesomeIcon as Fa} from "@fortawesome/react-fontawesome";
import {faCalendarAlt} from "@fortawesome/free-regular-svg-icons";
import PlayerSessionCalendar from "../../components/calendar/PlayerSessionCalendar";
diff --git a/Plan/react/dashboard/src/views/players/AllPlayers.js b/Plan/react/dashboard/src/views/players/AllPlayers.js
index 753faeb71..ae2ac0114 100644
--- a/Plan/react/dashboard/src/views/players/AllPlayers.js
+++ b/Plan/react/dashboard/src/views/players/AllPlayers.js
@@ -2,7 +2,7 @@ import React from 'react';
import {useDataRequest} from "../../hooks/dataFetchHook";
import {fetchPlayers} from "../../service/serverService";
import ErrorView from "../ErrorView";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import PlayerListCard from "../../components/cards/common/PlayerListCard";
import LoadIn from "../../components/animation/LoadIn";
import {CardLoader} from "../../components/navigation/Loader";
diff --git a/Plan/react/dashboard/src/views/query/NewQueryView.js b/Plan/react/dashboard/src/views/query/NewQueryView.js
index 9c8d540ae..9f869cc8f 100644
--- a/Plan/react/dashboard/src/views/query/NewQueryView.js
+++ b/Plan/react/dashboard/src/views/query/NewQueryView.js
@@ -1,6 +1,6 @@
import React from 'react';
import LoadIn from "../../components/animation/LoadIn";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import QueryOptionsCard from "../../components/cards/query/QueryOptionsCard";
import QueryPath from "../../components/alert/QueryPath";
diff --git a/Plan/react/dashboard/src/views/query/QueryResultView.js b/Plan/react/dashboard/src/views/query/QueryResultView.js
index 47c39ca65..183889ef3 100644
--- a/Plan/react/dashboard/src/views/query/QueryResultView.js
+++ b/Plan/react/dashboard/src/views/query/QueryResultView.js
@@ -1,6 +1,6 @@
import React, {useCallback, useEffect} from 'react';
import LoadIn from "../../components/animation/LoadIn";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import QueryPath from "../../components/alert/QueryPath";
import {useQueryResultContext} from "../../hooks/queryResultContext";
import {useNavigate} from "react-router-dom";
diff --git a/Plan/react/dashboard/src/views/server/OnlineActivity.js b/Plan/react/dashboard/src/views/server/OnlineActivity.js
index c2d632e10..0dfca9d2a 100644
--- a/Plan/react/dashboard/src/views/server/OnlineActivity.js
+++ b/Plan/react/dashboard/src/views/server/OnlineActivity.js
@@ -1,5 +1,5 @@
import React from "react";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import OnlineActivityGraphsCard from "../../components/cards/server/graphs/OnlineActivityGraphsCard";
import OnlineActivityAsNumbersCard from "../../components/cards/server/tables/OnlineActivityAsNumbersCard";
import {useParams} from "react-router-dom";
diff --git a/Plan/react/dashboard/src/views/server/PlayerbaseOverview.js b/Plan/react/dashboard/src/views/server/PlayerbaseOverview.js
index 6d5729c2f..83731980d 100644
--- a/Plan/react/dashboard/src/views/server/PlayerbaseOverview.js
+++ b/Plan/react/dashboard/src/views/server/PlayerbaseOverview.js
@@ -1,4 +1,4 @@
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import React from "react";
import PlayerbaseDevelopmentCard from "../../components/cards/server/graphs/PlayerbaseDevelopmentCard";
import CurrentPlayerbaseCard from "../../components/cards/server/graphs/CurrentPlayerbaseCard";
diff --git a/Plan/react/dashboard/src/views/server/ServerJoinAddresses.js b/Plan/react/dashboard/src/views/server/ServerJoinAddresses.js
index 770baf63e..316c5443f 100644
--- a/Plan/react/dashboard/src/views/server/ServerJoinAddresses.js
+++ b/Plan/react/dashboard/src/views/server/ServerJoinAddresses.js
@@ -1,5 +1,5 @@
import React from 'react';
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import JoinAddressGroupCard from "../../components/cards/server/graphs/JoinAddressGroupCard";
import JoinAddressGraphCard from "../../components/cards/server/graphs/JoinAddressGraphCard";
import {useParams} from "react-router-dom";
diff --git a/Plan/react/dashboard/src/views/server/ServerOverview.js b/Plan/react/dashboard/src/views/server/ServerOverview.js
index 5cf8df260..8f6b44a5a 100644
--- a/Plan/react/dashboard/src/views/server/ServerOverview.js
+++ b/Plan/react/dashboard/src/views/server/ServerOverview.js
@@ -1,6 +1,6 @@
import React from "react";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import {faExclamationCircle, faPowerOff, faTachometerAlt, faUser, faUsers} from "@fortawesome/free-solid-svg-icons";
import Datapoint from "../../components/Datapoint";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/src/views/server/ServerPerformance.js b/Plan/react/dashboard/src/views/server/ServerPerformance.js
index 0bbd85902..065b29d97 100644
--- a/Plan/react/dashboard/src/views/server/ServerPerformance.js
+++ b/Plan/react/dashboard/src/views/server/ServerPerformance.js
@@ -1,6 +1,6 @@
import React from 'react';
import LoadIn from "../../components/animation/LoadIn";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import {useParams} from "react-router-dom";
import {useDataRequest} from "../../hooks/dataFetchHook";
import {fetchPerformanceOverview} from "../../service/serverService";
diff --git a/Plan/react/dashboard/src/views/server/ServerPlayers.js b/Plan/react/dashboard/src/views/server/ServerPlayers.js
index e5ffd3a63..930f1f61b 100644
--- a/Plan/react/dashboard/src/views/server/ServerPlayers.js
+++ b/Plan/react/dashboard/src/views/server/ServerPlayers.js
@@ -3,7 +3,7 @@ import {useDataRequest} from "../../hooks/dataFetchHook";
import {useParams} from "react-router-dom";
import {fetchPlayers} from "../../service/serverService";
import ErrorView from "../ErrorView";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import PlayerListCard from "../../components/cards/common/PlayerListCard";
import LoadIn from "../../components/animation/LoadIn";
diff --git a/Plan/react/dashboard/src/views/server/ServerPluginData.js b/Plan/react/dashboard/src/views/server/ServerPluginData.js
index 383967b34..114dda8d3 100644
--- a/Plan/react/dashboard/src/views/server/ServerPluginData.js
+++ b/Plan/react/dashboard/src/views/server/ServerPluginData.js
@@ -1,7 +1,7 @@
import React, {useEffect} from 'react';
import Masonry from "masonry-layout";
import LoadIn from "../../components/animation/LoadIn";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import ExtensionCard, {ExtensionCardWrapper} from "../../components/extensions/ExtensionCard";
import Loader from "../../components/navigation/Loader";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/src/views/server/ServerPvpPve.js b/Plan/react/dashboard/src/views/server/ServerPvpPve.js
index d6b3665b4..34ba39d52 100644
--- a/Plan/react/dashboard/src/views/server/ServerPvpPve.js
+++ b/Plan/react/dashboard/src/views/server/ServerPvpPve.js
@@ -1,6 +1,6 @@
import React from "react";
import PvpPveAsNumbersCard from "../../components/cards/server/tables/PvpPveAsNumbersCard";
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import PvpKillsTableCard from "../../components/cards/common/PvpKillsTableCard";
import PvpPveInsightsCard from "../../components/cards/server/insights/PvpPveInsightsCard";
import {useParams} from "react-router-dom";
diff --git a/Plan/react/dashboard/src/views/server/ServerSessions.js b/Plan/react/dashboard/src/views/server/ServerSessions.js
index 35381019e..5fd9ed6d6 100644
--- a/Plan/react/dashboard/src/views/server/ServerSessions.js
+++ b/Plan/react/dashboard/src/views/server/ServerSessions.js
@@ -1,4 +1,4 @@
-import {Col, Row} from "react-bootstrap-v5";
+import {Col, Row} from "react-bootstrap";
import React from "react";
import ServerWorldPieCard from "../../components/cards/server/graphs/ServerWorldPieCard";
import ServerRecentSessionsCard from "../../components/cards/server/tables/ServerRecentSessionsCard";
diff --git a/Plan/react/dashboard/src/views/server/ServerWidePluginData.js b/Plan/react/dashboard/src/views/server/ServerWidePluginData.js
index 132cf620d..6f79b0ef8 100644
--- a/Plan/react/dashboard/src/views/server/ServerWidePluginData.js
+++ b/Plan/react/dashboard/src/views/server/ServerWidePluginData.js
@@ -1,7 +1,7 @@
import React, {useEffect, useState} from 'react';
import ErrorView from "../ErrorView";
import LoadIn from "../../components/animation/LoadIn";
-import {Card, Col, Row} from "react-bootstrap-v5";
+import {Card, Col, Row} from "react-bootstrap";
import ExtensionCard from "../../components/extensions/ExtensionCard";
import {useParams} from "react-router-dom";
import {useTranslation} from "react-i18next";
diff --git a/Plan/react/dashboard/yarn.lock b/Plan/react/dashboard/yarn.lock
index 40c0c6278..e913e9d7a 100644
--- a/Plan/react/dashboard/yarn.lock
+++ b/Plan/react/dashboard/yarn.lock
@@ -1022,13 +1022,20 @@
core-js-pure "^3.20.2"
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.20.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3"
integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7":
+ version "7.20.13"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b"
+ integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/template@^7.16.7", "@babel/template@^7.3.3":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
@@ -1520,28 +1527,45 @@
schema-utils "^3.0.0"
source-map "^0.7.3"
-"@popperjs/core@^2.5.3":
- version "2.11.5"
- resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64"
- integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==
+"@popperjs/core@^2.11.6":
+ version "2.11.6"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
+ integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
+
+"@react-aria/ssr@^3.4.1":
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.4.1.tgz#79e8bb621487e8f52890c917d3c734f448ba95e7"
+ integrity sha512-NmhoilMDyIfQiOSdQgxpVH2tC2u85Y0mVijtBNbI9kcDYLEiW/r6vKYVKtkyU+C4qobXhGMPfZ70PTc0lysSVA==
+ dependencies:
+ "@swc/helpers" "^0.4.14"
"@remix-run/router@1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.3.0.tgz#b6ee542c7f087b73b3d8215b9bf799f648be71cb"
integrity sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA==
-"@restart/context@^2.1.4":
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/@restart/context/-/context-2.1.4.tgz#a99d87c299a34c28bd85bb489cb07bfd23149c02"
- integrity sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==
-
-"@restart/hooks@^0.3.21", "@restart/hooks@^0.3.25":
- version "0.3.27"
- resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.3.27.tgz#91f356d66d4699a8cd8b3d008402708b6a9dc505"
- integrity sha512-s984xV/EapUIfkjlf8wz9weP2O9TNKR96C68FfMEy2bE69+H4cNv3RD4Mf97lW7Htt7PjZrYTjSC8f3SB9VCXw==
+"@restart/hooks@^0.4.6", "@restart/hooks@^0.4.7":
+ version "0.4.8"
+ resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.8.tgz#67ada92e36527956865ab9b1ddfb87d37aa1db42"
+ integrity sha512-Ivvp1FZ0Lja80iUTYAhbzy+stxwO7FbPHP95ypCtIh0wyOLiayQywXhVJ2ZYP5S1AjW2GmKHeRU4UglMwTG2sA==
dependencies:
dequal "^2.0.2"
+"@restart/ui@^1.4.1":
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/@restart/ui/-/ui-1.5.4.tgz#2537e1b7495f7ed4257dae3676c8d2b91e664e03"
+ integrity sha512-ziNtXY2PrjXrRUfR1D/ry1v1i5IF+kfMcH9d1kIcU2lOELfmDsVb+fzbyEDz3yKvKuqkphTunVDuLdYRJ0YsAg==
+ dependencies:
+ "@babel/runtime" "^7.20.7"
+ "@popperjs/core" "^2.11.6"
+ "@react-aria/ssr" "^3.4.1"
+ "@restart/hooks" "^0.4.7"
+ "@types/warning" "^3.0.0"
+ dequal "^2.0.3"
+ dom-helpers "^5.2.0"
+ uncontrollable "^7.2.1"
+ warning "^4.0.3"
+
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -1711,6 +1735,13 @@
"@svgr/plugin-svgo" "^5.5.0"
loader-utils "^2.0.0"
+"@swc/helpers@^0.4.14":
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74"
+ integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==
+ dependencies:
+ tslib "^2.4.0"
+
"@testing-library/dom@^8.0.0":
version "8.13.0"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.13.0.tgz#bc00bdd64c7d8b40841e27a70211399ad3af46f5"
@@ -1817,13 +1848,6 @@
dependencies:
"@types/node" "*"
-"@types/classnames@^2.2.10":
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd"
- integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==
- dependencies:
- classnames "*"
-
"@types/connect-history-api-fallback@^1.3.5":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae"
@@ -1926,11 +1950,6 @@
dependencies:
"@types/node" "*"
-"@types/invariant@^2.2.33":
- version "2.2.35"
- resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.35.tgz#cd3ebf581a6557452735688d8daba6cf0bd5a3be"
- integrity sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==
-
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
@@ -1988,7 +2007,7 @@
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759"
integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==
-"@types/prop-types@*", "@types/prop-types@^15.7.3":
+"@types/prop-types@*":
version "15.7.5"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
@@ -2025,10 +2044,10 @@
hoist-non-react-statics "^3.3.0"
redux "^4.0.0"
-"@types/react-transition-group@^4.4.0":
- version "4.4.4"
- resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e"
- integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==
+"@types/react-transition-group@^4.4.4":
+ version "4.4.5"
+ resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416"
+ integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==
dependencies:
"@types/react" "*"
@@ -2041,15 +2060,6 @@
"@types/scheduler" "*"
csstype "^3.0.2"
-"@types/react@^16.9.35":
- version "16.14.25"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.25.tgz#d003f712c7563fdef5a87327f1892825af375608"
- integrity sha512-cXRVHd7vBT5v1is72mmvmsg9stZrbJO04DJqFeh3Yj2tVKO6vmxg5BI+ybI6Ls7ROXRG3aFbZj9x0WA3ZAoDQw==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
"@types/react@^17":
version "17.0.44"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7"
@@ -3116,7 +3126,7 @@ cjs-module-lexer@^1.0.0:
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
-classnames@*, classnames@^2.2.6, classnames@^2.3.1:
+classnames@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
@@ -3712,6 +3722,11 @@ dequal@^2.0.2:
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d"
integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==
+dequal@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
+ integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
desandro-matches-selector@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz#717beed4dc13e7d8f3762f707a6d58a6774218e1"
@@ -3809,7 +3824,7 @@ dom-converter@^0.2.0:
dependencies:
utila "~0.4"
-dom-helpers@^5.0.1, dom-helpers@^5.1.2, dom-helpers@^5.2.0:
+dom-helpers@^5.0.1, dom-helpers@^5.2.0, dom-helpers@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
@@ -7644,28 +7659,22 @@ react-app-polyfill@^3.0.0:
regenerator-runtime "^0.13.9"
whatwg-fetch "^3.6.2"
-react-bootstrap-v5@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/react-bootstrap-v5/-/react-bootstrap-v5-1.4.0.tgz#be8694dc14000725065f58b909c4ea8f542e5711"
- integrity sha512-AsPE19bacvLNXdTVqDLspM+K5SOa4XBgT6SFesUiC5JnYGqVmspIgYSgu8SwcSaiGgrkFtd9v9XLSqf0l9YvEA==
+react-bootstrap@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-2.7.0.tgz#4a8f0311bccac477dc925366763c536f46e4393b"
+ integrity sha512-Jcrn6aUuRVBeSB6dzKODKZU1TONOdhAxu0IDm4Sv74SJUm98dMdhSotF2SNvFEADANoR+stV+7TK6SNX1wWu5w==
dependencies:
- "@babel/runtime" "^7.4.2"
- "@restart/context" "^2.1.4"
- "@restart/hooks" "^0.3.21"
- "@types/classnames" "^2.2.10"
- "@types/invariant" "^2.2.33"
- "@types/prop-types" "^15.7.3"
- "@types/react" "^16.9.35"
- "@types/react-transition-group" "^4.4.0"
- "@types/warning" "^3.0.0"
- classnames "^2.2.6"
- dom-helpers "^5.1.2"
+ "@babel/runtime" "^7.17.2"
+ "@restart/hooks" "^0.4.6"
+ "@restart/ui" "^1.4.1"
+ "@types/react-transition-group" "^4.4.4"
+ classnames "^2.3.1"
+ dom-helpers "^5.2.1"
invariant "^2.2.4"
- prop-types "^15.7.2"
+ prop-types "^15.8.1"
prop-types-extra "^1.1.0"
- react-overlays "^4.1.0"
- react-transition-group "^4.4.1"
- uncontrollable "^7.0.0"
+ react-transition-group "^4.4.2"
+ uncontrollable "^7.2.1"
warning "^4.0.3"
react-copy-to-clipboard@5.1.0:
@@ -7714,7 +7723,7 @@ react-dev-utils@^12.0.1:
strip-ansi "^6.0.1"
text-table "^0.2.0"
-react-dom@=17.0.2, react-dom@^17.0.2:
+react-dom@=17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
@@ -7723,6 +7732,14 @@ react-dom@=17.0.2, react-dom@^17.0.2:
object-assign "^4.1.1"
scheduler "^0.20.2"
+react-dom@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
+ integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
+ dependencies:
+ loose-envify "^1.1.0"
+ scheduler "^0.23.0"
+
react-error-overlay@^6.0.11:
version "6.0.11"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
@@ -7773,20 +7790,6 @@ react-mcjsonchat@^1.0.0:
resolved "https://registry.yarnpkg.com/react-mcjsonchat/-/react-mcjsonchat-1.0.0.tgz#6a0c748b074c06a2d64a66db76e5fb2036c48a9a"
integrity sha512-H/OYi1iRYFG2Bntj1EYWfTxOaWtIopHy6ILoaXtD3OFONK7kQnp0lXFf6sw1G3BU0DL7s8NL4+AmMCer/A5eIQ==
-react-overlays@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-4.1.1.tgz#0060107cbe1c5171a744ccda3fbf0556d064bc5f"
- integrity sha512-WtJifh081e6M24KnvTQoNjQEpz7HoLxqt8TwZM7LOYIkYJ8i/Ly1Xi7RVte87ZVnmqQ4PFaFiNHZhSINPSpdBQ==
- dependencies:
- "@babel/runtime" "^7.12.1"
- "@popperjs/core" "^2.5.3"
- "@restart/hooks" "^0.3.25"
- "@types/warning" "^3.0.0"
- dom-helpers "^5.2.0"
- prop-types "^15.7.2"
- uncontrollable "^7.0.0"
- warning "^4.0.3"
-
react-redux@^7.2.4:
version "7.2.8"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.8.tgz#a894068315e65de5b1b68899f9c6ee0923dd28de"
@@ -7885,17 +7888,17 @@ react-syntax-highlighter@^15.5.0:
prismjs "^1.27.0"
refractor "^3.6.0"
-react-transition-group@^4.4.1:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
- integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
+react-transition-group@^4.4.2:
+ version "4.4.5"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
+ integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
dependencies:
"@babel/runtime" "^7.5.5"
dom-helpers "^5.0.1"
loose-envify "^1.4.0"
prop-types "^15.6.2"
-react@=17.0.2, react@^17.0.2:
+react@=17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
@@ -7903,6 +7906,13 @@ react@=17.0.2, react@^17.0.2:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+react@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
+ integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
+ dependencies:
+ loose-envify "^1.1.0"
+
readable-stream@^2.0.1:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
@@ -8256,6 +8266,13 @@ scheduler@^0.20.2:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+scheduler@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
+ integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
+ dependencies:
+ loose-envify "^1.1.0"
+
schema-utils@2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
@@ -9091,6 +9108,11 @@ tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+tslib@^2.4.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
+
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -9157,7 +9179,7 @@ unbox-primitive@^1.0.1:
has-symbols "^1.0.2"
which-boxed-primitive "^1.0.2"
-uncontrollable@^7.0.0:
+uncontrollable@^7.2.1:
version "7.2.1"
resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.2.1.tgz#1fa70ba0c57a14d5f78905d533cf63916dc75738"
integrity sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==