diff --git a/compendium-frontend/src/components/CollapsibleBox.tsx b/compendium-frontend/src/components/CollapsibleBox.tsx index d1d6fc2da43c3c458e036cf92e9e9ceaa55ed93a..e058c165fab4f5cb7663ddecd476a2aa49fef696 100644 --- a/compendium-frontend/src/components/CollapsibleBox.tsx +++ b/compendium-frontend/src/components/CollapsibleBox.tsx @@ -32,8 +32,6 @@ const CollapsibleBox: React.FC<CollapsibleBoxProps> = ({ title, children, startC </Col> </Row> - - <div className={`collapsible-content${isCollapsed ? ' collapsed' : ''}`}> {children} </div> diff --git a/compendium-frontend/src/components/ColorBadgeService.tsx b/compendium-frontend/src/components/ColorBadgeService.tsx index 7d98a1b8242fdf581e157a81d3b12dc92b78a095..0c9cbfa247bcb88417f817102f388f1a0af6fabb 100644 --- a/compendium-frontend/src/components/ColorBadgeService.tsx +++ b/compendium-frontend/src/components/ColorBadgeService.tsx @@ -1,6 +1,5 @@ import { BiCheck } from 'react-icons/bi'; - function ColorBadgeService({ year, active, serviceInfo, tickServiceIndex, current }) { let tooltip_text = "No additional information available"; diff --git a/compendium-frontend/src/components/DataPage.tsx b/compendium-frontend/src/components/DataPage.tsx index 68e9ec376130ee58549f392fa72988e14ffddcd4..78d8bdf99777ccc80ca334594892da46e8445f2c 100644 --- a/compendium-frontend/src/components/DataPage.tsx +++ b/compendium-frontend/src/components/DataPage.tsx @@ -17,7 +17,6 @@ import useMatomo from "../matomo/UseMatomo"; import { PreviewContext } from "@/providers/PreviewProvider"; import { NrenAndYearDatapoint } from "../Schema"; - ChartJS.defaults.font.size = 16; ChartJS.defaults.font.family = 'Open Sans'; ChartJS.defaults.font.weight = 700; diff --git a/compendium-frontend/src/components/NrenYearTable.tsx b/compendium-frontend/src/components/NrenYearTable.tsx index 0448fe5ab8932cbadb7c600fe3b2531df42350a8..dcb27f5f063e58c7051cda4c76de5861b77eeedc 100644 --- a/compendium-frontend/src/components/NrenYearTable.tsx +++ b/compendium-frontend/src/components/NrenYearTable.tsx @@ -30,7 +30,6 @@ function getUrlOrString(keysAreURLs, style, index, key, value: string) { } - function getJSXFromData(data: Map<string, Map<number, { [key: string]: string }>>, { dottedBorder = false, noDots = false, keysAreURLs = false, removeDecoration = false }: configProps) { return Array.from(data.entries()).map(([nren, nrenMap]) => { diff --git a/compendium-frontend/src/components/PillTable.tsx b/compendium-frontend/src/components/PillTable.tsx index 36cfbfeeab026f75c0ec9e19d2f7144d5a47f96b..8ed09861ff2954c9c063291df70e7cb57e3f125d 100644 --- a/compendium-frontend/src/components/PillTable.tsx +++ b/compendium-frontend/src/components/PillTable.tsx @@ -10,7 +10,6 @@ interface PillTableProps<T extends NrenAndYearDatapoint | { [key: string]: numbe columnLookup?: Map<string, string | null>; } - function PillTable<T extends NrenAndYearDatapoint | { [key: string]: number | string }>({ columns, dataLookup, circle = false, columnLookup = new Map() }: PillTableProps<T>) { const allCategories = Array.from(new Set(Array.from(dataLookup.values()).flatMap(columnData => Array.from(columnData.keys())))); @@ -105,6 +104,3 @@ function PillTable<T extends NrenAndYearDatapoint | { [key: string]: number | st } export default PillTable; - - - diff --git a/compendium-frontend/src/components/ScrollableMatrix.tsx b/compendium-frontend/src/components/ScrollableMatrix.tsx index 0bb402ee2efed06c6b0f3e48fd198c8cae0627a8..2fecb62347df4659fa3442e11d21753317c440a4 100644 --- a/compendium-frontend/src/components/ScrollableMatrix.tsx +++ b/compendium-frontend/src/components/ScrollableMatrix.tsx @@ -6,7 +6,6 @@ const TICK_ICON = <span>✔</span>; const CELL_SIZE = 8 - interface ScrollableMatrixProps { // dataLookup is a map of NRENs, years, and categories that maps to data for that category in that year for that NREN @@ -58,7 +57,6 @@ export function ScrollableMatrix({ dataLookup, rowInfo, categoryLookup, isTickIc </tr>) }); - const nrenYears: { [key: string]: number[] } = Array.from(dataLookup.entries()).sort( ([nrenA], [nrenB]) => nrenA.localeCompare(nrenB) ).reduce((nrenYears, [nren, nrenData]) => { @@ -123,7 +121,6 @@ export function ScrollableMatrix({ dataLookup, rowInfo, categoryLookup, isTickIc return categoryContent; }) - return <div className="matrix-border"> {categoryContainers} </div>; diff --git a/compendium-frontend/src/components/WithLegend.tsx b/compendium-frontend/src/components/WithLegend.tsx index 9e9bc87802387df2c2298f6511412408b26de45d..d5f8cf303d26c62dd134b5f2387dbf71ef741cc0 100644 --- a/compendium-frontend/src/components/WithLegend.tsx +++ b/compendium-frontend/src/components/WithLegend.tsx @@ -1,7 +1,6 @@ import React from 'react'; import ChartContainer from "./graphing/ChartContainer"; - interface InputProps { children: React.ReactNode; location?: "top" | "bottom" | "both" diff --git a/compendium-frontend/src/components/download/DownloadDataButton.tsx b/compendium-frontend/src/components/download/DownloadDataButton.tsx index d6938f1323f3b888676af7a09ed9618358ad9406..e3e2efd4c787653d7107bc4cfdee0b12d529cb36 100644 --- a/compendium-frontend/src/components/download/DownloadDataButton.tsx +++ b/compendium-frontend/src/components/download/DownloadDataButton.tsx @@ -4,14 +4,12 @@ import { ExportType } from "../../helpers/constants"; import { FaDownload } from 'react-icons/fa'; import { NrenAndYearDatapoint } from '../../Schema'; - interface DownloadProps { data: NrenAndYearDatapoint[]; filename: string; exportType: ExportType; } - function createCSVRows(jsonData: NrenAndYearDatapoint[], header: string[]): string[] { return jsonData.map(obj => { return header.map(fieldName => { @@ -31,7 +29,6 @@ function createCSVRows(jsonData: NrenAndYearDatapoint[], header: string[]): stri }); } - function convertToCSV(jsonData: NrenAndYearDatapoint[]): string { if (!jsonData.length) return ""; diff --git a/compendium-frontend/src/components/global/Banner.tsx b/compendium-frontend/src/components/global/Banner.tsx index 60ea19f6f513fae77e5a91c810602c07d73822ed..3b66ada09dce347c3a8658dfbe784c02f35f36eb 100644 --- a/compendium-frontend/src/components/global/Banner.tsx +++ b/compendium-frontend/src/components/global/Banner.tsx @@ -2,7 +2,6 @@ import { ReactElement } from "react"; import { Container, Row } from "react-bootstrap"; import SectionDataLogo from "../../images/home_data_icon.svg"; - interface inputProps { type: string, children: ReactElement diff --git a/compendium-frontend/src/components/global/GeantFooter.tsx b/compendium-frontend/src/components/global/GeantFooter.tsx index 06823b731794cebb5dec39f63ea642cba4756e44..309c2b5375be452e06a0a182e8d4720c925d3ac6 100644 --- a/compendium-frontend/src/components/global/GeantFooter.tsx +++ b/compendium-frontend/src/components/global/GeantFooter.tsx @@ -3,8 +3,6 @@ import { Container, Row, Col } from "react-bootstrap"; import GeantLogo from "../../images/geant_logo_colored.svg"; import EULogo from "../../images/eu_logo.png"; - - function GeantFooter(): ReactElement { return <footer className="page-footer pt-3"> <Container> diff --git a/compendium-frontend/src/components/global/PageHeader.tsx b/compendium-frontend/src/components/global/PageHeader.tsx index 60fe364a596601bc3afa6e900fda7ea82aa95f16..0cfee99868e4d16726f3d8bf065246fab87af50f 100644 --- a/compendium-frontend/src/components/global/PageHeader.tsx +++ b/compendium-frontend/src/components/global/PageHeader.tsx @@ -4,7 +4,6 @@ import { Link } from "react-router-dom"; import SectionLink from "./SectionLink"; - interface inputProps { type: string } diff --git a/compendium-frontend/src/components/global/SectionLink.tsx b/compendium-frontend/src/components/global/SectionLink.tsx index 3005288e903f4514c6f580fcdc7550e9376fab53..49c851a1984ed7864ba6dd3bdf4ae54327363978 100644 --- a/compendium-frontend/src/components/global/SectionLink.tsx +++ b/compendium-frontend/src/components/global/SectionLink.tsx @@ -14,7 +14,6 @@ function SectionLink({ section }: inputProps): ReactElement { <span style={{ float: "right" }}>{section}</span> </span> - </div> <img src={SectionDataLogo} style={{ maxWidth: "4rem" }} alt="Compendium Data logo" /> diff --git a/compendium-frontend/src/components/graphing/Filter.tsx b/compendium-frontend/src/components/graphing/Filter.tsx index b299303de08b8179e2cdcd751b5caa117474fd06..05e54d78b799037a3afba297442088493ef8c10c 100644 --- a/compendium-frontend/src/components/graphing/Filter.tsx +++ b/compendium-frontend/src/components/graphing/Filter.tsx @@ -4,8 +4,6 @@ import Form from 'react-bootstrap/Form'; import { FilterSelection, Nren } from "../../Schema"; import { NrenContext } from "../../providers/NrenProvider"; - - interface inputProps { filterOptions: { availableNrens: Nren[], availableYears: number[] } filterSelection: FilterSelection diff --git a/compendium-frontend/src/components/sidebar/SideBar.tsx b/compendium-frontend/src/components/sidebar/SideBar.tsx index 0463b491f8cc1115c0efe42b0f99ccfb2be02cc0..4d4ff3da71143476a54aafecb26bef407b5efee3 100644 --- a/compendium-frontend/src/components/sidebar/SideBar.tsx +++ b/compendium-frontend/src/components/sidebar/SideBar.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react'; // import { sidebarContext } from "../helpers/sidebarProvider"; import { AiOutlineClose, AiOutlinePlus } from 'react-icons/ai'; - interface Props { children: React.ReactNode; survey?: boolean; diff --git a/compendium-frontend/src/helpers/dataconversion.tsx b/compendium-frontend/src/helpers/dataconversion.tsx index f95179c2daf3a744b2a70c340007e62544a39a71..3fc5e8df7318b03db50798089cd51c73c14fba51 100644 --- a/compendium-frontend/src/helpers/dataconversion.tsx +++ b/compendium-frontend/src/helpers/dataconversion.tsx @@ -104,7 +104,6 @@ export function createDataLookupList<T extends NrenAndYearDatapoint>(entries: T[ return map; } - export function createDataLookup<T extends NrenAndYearDatapoint>(entries: T[]) { const map = new Map<string, Map<number, T>>(); entries.forEach(datapoint => { @@ -527,7 +526,6 @@ export const createNRENStaffDataset = (data: NrenStaff[], roles: boolean, select return dataset; } - export const createTrafficRatioDataset = (data: TrafficRatio[], selectedYear: number) => { const categories = [ @@ -610,7 +608,6 @@ export const createTrafficRatioDataset = (data: TrafficRatio[], selectedYear: nu return dataset; } - export const createNRENStaffDatasetAbsolute = (data: NrenStaff[], selectedYears: number[]) => { const categories = [ diff --git a/compendium-frontend/src/helpers/useConfig.tsx b/compendium-frontend/src/helpers/useConfig.tsx index 406810c69d6750654a3068cfb24c5b9bd3f59581..f8881ee85bcd3b49a2f335b8a5828617655fd2e7 100644 --- a/compendium-frontend/src/helpers/useConfig.tsx +++ b/compendium-frontend/src/helpers/useConfig.tsx @@ -1,7 +1,6 @@ import { useContext } from "react"; import { configContext, BaseConfig } from "../providers/ConfigProvider"; - export function useConfig<T extends BaseConfig>(key: string): Record<string, T> & { setConfig: (value: T, timeout?: Date) => void } { diff --git a/compendium-frontend/src/helpers/useData.ts b/compendium-frontend/src/helpers/useData.ts index e8093f58600d16b51b5869375767b184e075b79f..7879a63a411e9c1baaf006c80f01e2d0448e7e6b 100644 --- a/compendium-frontend/src/helpers/useData.ts +++ b/compendium-frontend/src/helpers/useData.ts @@ -2,7 +2,6 @@ import { useEffect, useMemo, useState } from "react"; import { Nren, NrenAndYearDatapoint } from "../Schema"; import { usePreview } from "./usePreview"; - function getYearsAndNrens(sourceData: NrenAndYearDatapoint[]) { const years = new Set<number>(); const nrenMap = new Map<string, Nren>(); @@ -13,7 +12,6 @@ function getYearsAndNrens(sourceData: NrenAndYearDatapoint[]) { return { years: years, nrens: nrenMap }; } - export function useData<T extends NrenAndYearDatapoint>(url, setFilterSelection, validityCheck: (data: T) => boolean = () => true) { const [data, setData] = useState<T[]>([]); diff --git a/compendium-frontend/src/helpers/usePreview.ts b/compendium-frontend/src/helpers/usePreview.ts index aa1a9fb82f73c53062d58c8e7c4a75535320c784..3394819cb174b28beb8a0181ced928675d2eabc3 100644 --- a/compendium-frontend/src/helpers/usePreview.ts +++ b/compendium-frontend/src/helpers/usePreview.ts @@ -3,7 +3,6 @@ import { PreviewContext } from "../providers/PreviewProvider"; import { useSearchParams } from "react-router-dom"; import { userContext } from "../providers/UserProvider"; - export function usePreview() { const { preview, setPreview } = useContext(PreviewContext); const { user } = useContext(userContext); diff --git a/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx b/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx index 904f4efa83af9f8203cb8c55e93c1e24dd6e78f9..0eec5c8535552e85486bf6bc2b89e52584064775 100644 --- a/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx +++ b/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx @@ -10,8 +10,6 @@ import { useData } from "../../helpers/useData"; import ChartContainer from '../../components/graphing/ChartContainer'; import NrenYearTable from '../../components/NrenYearTable'; - - function ConnectedInstitutionsURLsPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, nrens } = useData<URLDatapoint>('/api/institution-urls', setFilterSelection); diff --git a/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx b/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx index 3453fd023d73a3aa2792368c36534271acb257f2..290737a205f172aad37d2ec24fe8f5a9f13a04a4 100644 --- a/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx +++ b/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx @@ -10,7 +10,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import MulticolumnNrenYearTable from '../../components/MulticolumnNrenYearTable'; - function RemoteCampusesPage() { const field = 'remote_campus_connectivity'; const validityCheck = (data: RemoteCampuses) => !!data[field]; diff --git a/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx b/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx index 31cc247d0938020a829d520430cd4bbb6793404b..3c46b0d91053a2765fb7025cf74dec31ceaebfcc 100644 --- a/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx +++ b/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx @@ -1,7 +1,6 @@ import { ReactElement, useContext } from 'react'; import { Line } from 'react-chartjs-2'; - import { Chart as ChartJS, CategoryScale, @@ -23,7 +22,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; - ChartJS.register( CategoryScale, LinearScale, @@ -34,14 +32,12 @@ ChartJS.register( Legend ); - function DarkFibreInstalledPage(): ReactElement { const field = 'fibre_length_in_country' const validityCheck = (data: DarkFibreInstalled) => data[field] != null const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, nrens } = useData<DarkFibreInstalled>('/api/dark-fibre-installed', setFilterSelection, validityCheck); - const selectedData = data.filter(data => filterSelection.selectedNrens.includes(data.nren) && validityCheck(data) // we only allow filtering nrens for this page ); diff --git a/compendium-frontend/src/pages/Network/DarkFibreLease.tsx b/compendium-frontend/src/pages/Network/DarkFibreLease.tsx index c224d78ffc23dfe4162656254b76eea9393652db..bd62a845fb2065c3a1aa2b2e1621bb7e4e30d5c5 100644 --- a/compendium-frontend/src/pages/Network/DarkFibreLease.tsx +++ b/compendium-frontend/src/pages/Network/DarkFibreLease.tsx @@ -21,7 +21,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; - ChartJS.register( CategoryScale, LinearScale, @@ -42,7 +41,6 @@ function DarkFibreLeasePage({ national }: Props): ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, nrens } = useData<DarkFibreLease>('/api/dark-fibre-lease', setFilterSelection, validityCheck); - const selectedData = data.filter(data => filterSelection.selectedNrens.includes(data.nren) && validityCheck(data) // we only allow filtering nrens for this page ); diff --git a/compendium-frontend/src/pages/Network/IRUDuration.tsx b/compendium-frontend/src/pages/Network/IRUDuration.tsx index 6eab668e91ff5c3dfc04e783a3f1c0a64c4f7c11..2b5403fafc5ac9e21beca7ef7100f8855a906c57 100644 --- a/compendium-frontend/src/pages/Network/IRUDuration.tsx +++ b/compendium-frontend/src/pages/Network/IRUDuration.tsx @@ -1,7 +1,6 @@ import { ReactElement, useContext } from 'react'; import { Line } from 'react-chartjs-2'; - import { Chart as ChartJS, CategoryScale, diff --git a/compendium-frontend/src/pages/Network/TrafficRatio.tsx b/compendium-frontend/src/pages/Network/TrafficRatio.tsx index f1fc2169ba2d37f1d68dca849c1b0f7e4d6eb047..46baf3dfb473c5e29d6eaa1b69a9ecaa975c4f95 100644 --- a/compendium-frontend/src/pages/Network/TrafficRatio.tsx +++ b/compendium-frontend/src/pages/Network/TrafficRatio.tsx @@ -126,7 +126,6 @@ function TrafficRatioPage() { const title = "Types of traffic in NREN networks (Commodity v. Research & Education)" const description = "The graph shows the ratio of commodity versus research and education traffic in NREN networks" - const filename = "types_of_traffic_in_nren_networks"; return ( <DataPage title={title} diff --git a/compendium-frontend/src/pages/Network/TrafficUrl.tsx b/compendium-frontend/src/pages/Network/TrafficUrl.tsx index a200cb19a05d64b116f22ad1f1584829aaf8e11d..8dd7d8cf568d6a1241d72fd48e001f156e6b4c66 100644 --- a/compendium-frontend/src/pages/Network/TrafficUrl.tsx +++ b/compendium-frontend/src/pages/Network/TrafficUrl.tsx @@ -29,7 +29,6 @@ function TrafficUrlPage(): React.ReactElement { } }) - const filterNode = <Filter filterOptions={{ availableYears: [], availableNrens: [...nrens.values()] }} filterSelection={filterSelection} diff --git a/compendium-frontend/src/pages/Network/TrafficVolume.tsx b/compendium-frontend/src/pages/Network/TrafficVolume.tsx index bfa5559cf867223fc61f37506d4e3dd5c2e4ff02..9135843e326fff8d552c63de3d0764e6776646ff 100644 --- a/compendium-frontend/src/pages/Network/TrafficVolume.tsx +++ b/compendium-frontend/src/pages/Network/TrafficVolume.tsx @@ -22,7 +22,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; - ChartJS.register( CategoryScale, LinearScale, @@ -33,7 +32,6 @@ ChartJS.register( Legend ); - function TrafficVolumePage(): ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -48,7 +46,6 @@ function TrafficVolumePage(): ReactElement { const fromExternalTrafficVolumeData = createLineChartDataset(selectedData, 'from_external'); const toExternalTrafficVolumeData = createLineChartDataset(selectedData, 'to_external'); - const options = getLineChartOptions({ title: 'Traffic Volume in PB', tooltipUnit: 'PB', valueTransform(value) { // show in PB instead diff --git a/compendium-frontend/src/pages/Organization/Budget.tsx b/compendium-frontend/src/pages/Organization/Budget.tsx index 9bc7f9671b7bd179b9ef565d4607d6cf8e161205..7da00a2bd546b8046df7f24d3bc00c4ab74d9292 100644 --- a/compendium-frontend/src/pages/Organization/Budget.tsx +++ b/compendium-frontend/src/pages/Organization/Budget.tsx @@ -1,7 +1,6 @@ import { ReactElement, useContext } from 'react'; import { Line } from 'react-chartjs-2'; - import { Chart as ChartJS, CategoryScale, @@ -33,7 +32,6 @@ ChartJS.register( Legend ); - function BudgetPage(): ReactElement { const field = 'budget'; diff --git a/compendium-frontend/src/pages/Organization/ParentOrganisation.tsx b/compendium-frontend/src/pages/Organization/ParentOrganisation.tsx index 7450249ec2f163d87a58812083eaa788434546fb..debd2a373c4606ad070fc15efd58da73c8a94ca9 100644 --- a/compendium-frontend/src/pages/Organization/ParentOrganisation.tsx +++ b/compendium-frontend/src/pages/Organization/ParentOrganisation.tsx @@ -9,7 +9,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import NrenYearTable from '../../components/NrenYearTable'; - function ParentOrganisationPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data: organisationData, years, nrens } = useData<Organisation>('/api/parent-organizations', setFilterSelection); diff --git a/compendium-frontend/src/pages/Organization/SubOrganisation.tsx b/compendium-frontend/src/pages/Organization/SubOrganisation.tsx index 6d8e3d149830eda2e566dc49a5f9ccacd03134e1..9bf4efacd3b9b7a8bbac01e04397c6c9bc504981 100644 --- a/compendium-frontend/src/pages/Organization/SubOrganisation.tsx +++ b/compendium-frontend/src/pages/Organization/SubOrganisation.tsx @@ -10,7 +10,6 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import NrenYearTable from '../../components/NrenYearTable'; - function SubOrganisationPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, years, nrens } = useData<Organisation>('/api/sub-organizations', setFilterSelection); diff --git a/compendium-frontend/src/pages/Services/Services.tsx b/compendium-frontend/src/pages/Services/Services.tsx index ec45b5bb132f53a4efb97c3dbe33afc948bf8b26..cce5adca86d956f0bfba8aaf33d946fc5e359eec 100644 --- a/compendium-frontend/src/pages/Services/Services.tsx +++ b/compendium-frontend/src/pages/Services/Services.tsx @@ -21,7 +21,6 @@ CategoryFriendlyNames[ServiceCategory.multimedia] = "multimedia"; CategoryFriendlyNames[ServiceCategory.storage_and_hosting] = "storage and hosting"; CategoryFriendlyNames[ServiceCategory.professional_services] = "professional"; - interface inputProps { category: ServiceCategory } diff --git a/compendium-frontend/src/pages/Standards&Policies/Audits.tsx b/compendium-frontend/src/pages/Standards&Policies/Audits.tsx index a731a539dd16368f91e22e9e5054674330bc490b..afed54ffa5a45680631303ae04a3139d38b4490a 100644 --- a/compendium-frontend/src/pages/Standards&Policies/Audits.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/Audits.tsx @@ -15,7 +15,6 @@ function AuditsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, years, nrens } = useData<Standards>('/api/standards', setFilterSelection, validityCheck); - const selectedData = data.filter(data => filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren) && data[dataField] !== null ); diff --git a/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx b/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx index 417a8b797dfeb6baed26a97c1fdd7c407fe322a3..db8c07632245f027c4f67b0fdbeea7dd9c2e9bc4 100644 --- a/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx @@ -15,7 +15,6 @@ function BusinessContinuityPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, years, nrens } = useData<Standards>('/api/standards', setFilterSelection, validityCheck); - const selectedData = data.filter(data => filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren) && data[dataField] !== null ); diff --git a/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx b/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx index 359645ca14fdf0bed6e12b1ae7e428126e20f3ea..7e15e966c0071c09a0a4d5b789e9b642a87469dd 100644 --- a/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx @@ -17,7 +17,6 @@ function CrisisManagementPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, years, nrens } = useData<Standards>('/api/standards', setFilterSelection, validityCheck); - const selectedData = data.filter(data => filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren) && validityCheck(data) ); diff --git a/compendium-frontend/src/pages/Standards&Policies/Policy.tsx b/compendium-frontend/src/pages/Standards&Policies/Policy.tsx index 57f400b4f698ac83080c80c0c44cc35959dfdb3d..d8fc64cbedec06bd1795cc2c7cdf7ccbfc9c04d1 100644 --- a/compendium-frontend/src/pages/Standards&Policies/Policy.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/Policy.tsx @@ -10,7 +10,6 @@ import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import NrenYearTable from '../../components/NrenYearTable'; - function PolicyPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data: fetchedData, nrens } = useData<Policy>('/api/policy', setFilterSelection); diff --git a/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx b/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx index 650a6116e008d4675f9537e212c0bd7bc6c8a5c5..4171e2ca2f79131aab2b1c72635d6b584759a34a 100644 --- a/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx @@ -13,7 +13,6 @@ function SecurityControlsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); const { data, years, nrens } = useData<SecurityControls>('/api/security-controls', setFilterSelection); - const selectedData = data.filter(data => filterSelection.selectedYears.includes(data.year) && filterSelection.selectedNrens.includes(data.nren) ); diff --git a/compendium-frontend/src/providers/ConfigProvider.tsx b/compendium-frontend/src/providers/ConfigProvider.tsx index 9ec43033026fe608fc09bbe569e805b950dbff59..d7da7fc693614eaab9313dc3bc5f47722f231710 100644 --- a/compendium-frontend/src/providers/ConfigProvider.tsx +++ b/compendium-frontend/src/providers/ConfigProvider.tsx @@ -1,6 +1,5 @@ import React, { createContext, useState } from 'react'; - const getConfigFromLocalStorage = () => { const storedConfig = JSON.parse(localStorage.getItem('config') ?? "{}"); diff --git a/compendium-frontend/src/providers/ConsentProvider.tsx b/compendium-frontend/src/providers/ConsentProvider.tsx index caf79512e9e1950ad8b3e836fc2f64f2ef33d479..1e24e5d6e891ef0551f5d27fa89e7b5e9cf4976c 100644 --- a/compendium-frontend/src/providers/ConsentProvider.tsx +++ b/compendium-frontend/src/providers/ConsentProvider.tsx @@ -12,7 +12,6 @@ const consentContext = createContext<{ setConsent: () => { } }); - const ConsentProvider: React.FC<Props> = ({ children }) => { const getConsent = () => { diff --git a/compendium-frontend/src/providers/FilterSelectionProvider.tsx b/compendium-frontend/src/providers/FilterSelectionProvider.tsx index 41f80a2e3b6afe74ad359853150dd2953ae74327..1ef33105bfeb97f8ef5c7aa37eda8fcb6d97e532 100644 --- a/compendium-frontend/src/providers/FilterSelectionProvider.tsx +++ b/compendium-frontend/src/providers/FilterSelectionProvider.tsx @@ -13,7 +13,6 @@ const FilterSelectionContext = createContext<{ setFilterSelection: () => { } }); - const FilterSelectionProvider: React.FC<Props> = ({ children }) => { const [filterSelection, setFilterSelection] = useState<FilterSelection>({ selectedYears: [], selectedNrens: [] }); diff --git a/compendium-frontend/src/providers/NrenProvider.tsx b/compendium-frontend/src/providers/NrenProvider.tsx index a7ac95d3fa58d4fd9dfb68adb81caef9811e88cc..ffc584272019fdf704366c9b16d25d7c3997de36 100644 --- a/compendium-frontend/src/providers/NrenProvider.tsx +++ b/compendium-frontend/src/providers/NrenProvider.tsx @@ -23,7 +23,6 @@ const NrenContext = createContext<{ setNrens: () => { } }); - const NrenProvider: React.FC<Props> = ({ children }) => { const [nrens, setNrens] = useState<Nren[]>([]); diff --git a/compendium-frontend/src/providers/PreviewProvider.tsx b/compendium-frontend/src/providers/PreviewProvider.tsx index 91e6ac59df6a77758311f1fc6ce3b9d1b7c57186..d3e7d73b92068796f3ebe38687368ca405805db6 100644 --- a/compendium-frontend/src/providers/PreviewProvider.tsx +++ b/compendium-frontend/src/providers/PreviewProvider.tsx @@ -12,7 +12,6 @@ const PreviewContext = createContext<{ setPreview: () => { } }); - const PreviewProvider: React.FC<Props> = ({ children }) => { const [preview, setPreview] = useState<boolean>(false); diff --git a/compendium-frontend/src/providers/SidebarProvider.tsx b/compendium-frontend/src/providers/SidebarProvider.tsx index 02302f16b61cd9d7cbfef9699da0ae03e9832b49..c1e362570449e29578aaf3afc1b1808d5aa85534 100644 --- a/compendium-frontend/src/providers/SidebarProvider.tsx +++ b/compendium-frontend/src/providers/SidebarProvider.tsx @@ -12,7 +12,6 @@ const sidebarContext = createContext<{ toggle: () => { } }); - const SidebarProvider: React.FC<Props> = ({ children }) => { const [show, setShow] = useState<boolean>(false); diff --git a/compendium-frontend/src/providers/UserProvider.tsx b/compendium-frontend/src/providers/UserProvider.tsx index cd142c83e32ae9829ccee87ad93f40812bd392c3..77037c809b1c1b1026c607be5fc58fb5a6fb7607 100644 --- a/compendium-frontend/src/providers/UserProvider.tsx +++ b/compendium-frontend/src/providers/UserProvider.tsx @@ -5,7 +5,6 @@ interface Props { children: React.ReactNode; } - async function fetchUser(): Promise<User> { const response = await fetch('/api/user/'); const user = await response.json(); @@ -24,7 +23,6 @@ const userContext = createContext<{ setUser: () => { } }); - const UserProvider: React.FC<Props> = ({ children }) => { const [user, setUser] = useState<User>(anonymousUser); diff --git a/compendium-frontend/src/survey/ProgressBar.tsx b/compendium-frontend/src/survey/ProgressBar.tsx index e1b44b3df98f919ed106347710832197435e479c..0232a12c0da82bff755a15cfcbb0decae598c997 100644 --- a/compendium-frontend/src/survey/ProgressBar.tsx +++ b/compendium-frontend/src/survey/ProgressBar.tsx @@ -8,11 +8,9 @@ interface Progress { pageTitle: string; } - function ProgressBar({ surveyModel, pageNoSetter }) { const [progress, setProgress] = useState<Progress[]>([]); - const filterCallback = (question) => { if (question.value === null || question.value === undefined || question.value === "") { return false; @@ -29,8 +27,6 @@ function ProgressBar({ surveyModel, pageNoSetter }) { return true; }; - - useEffect(() => { const calculateProgress = (survey) => { if (survey && survey.pages) { @@ -44,7 +40,6 @@ function ProgressBar({ surveyModel, pageNoSetter }) { const unansweredCount = questionCount - answeredCount; const completionPercentage = answeredCount / questionCount; - progressArray.push({ completionPercentage: completionPercentage * 100, unansweredPercentage: (unansweredCount / questionCount) * 100, @@ -63,7 +58,6 @@ function ProgressBar({ surveyModel, pageNoSetter }) { calculateProgress(surveyModel); }, [surveyModel]); - const progressBarStyle: React.CSSProperties = { height: "0.5rem", transition: "width 0.3s ease", diff --git a/compendium-frontend/src/survey/ShowUser.tsx b/compendium-frontend/src/survey/ShowUser.tsx index 24111805ba1f4d99638a04ecc2505fae03f6df1c..d56a91be7d7064ccc54fea208c4e744401dadf88 100644 --- a/compendium-frontend/src/survey/ShowUser.tsx +++ b/compendium-frontend/src/survey/ShowUser.tsx @@ -18,7 +18,6 @@ async function fetchUser(): Promise<User> { } } - function ShowUser() { const [user, setUser] = useState<User | null>(null); diff --git a/compendium-frontend/src/survey/StatusButton.tsx b/compendium-frontend/src/survey/StatusButton.tsx index f9fafc40d789731ad03d3c8aa59e70a60a84c07d..831e26fb50d4273de3488a41723d2d50883e87d9 100644 --- a/compendium-frontend/src/survey/StatusButton.tsx +++ b/compendium-frontend/src/survey/StatusButton.tsx @@ -1,8 +1,5 @@ -import React from "react"; import { IoIosCheckmarkCircle, IoIosCheckmarkCircleOutline, IoIosCloseCircle, IoIosCloseCircleOutline } from "react-icons/io"; - - interface StatusButtonProps { status: string; } diff --git a/compendium-frontend/src/survey/SurveyComponent.tsx b/compendium-frontend/src/survey/SurveyComponent.tsx index 97e4cf7098091b7fe1120874025df94367c97db9..051f45648accabd0056ef10242c894e4ed5e8bd3 100644 --- a/compendium-frontend/src/survey/SurveyComponent.tsx +++ b/compendium-frontend/src/survey/SurveyComponent.tsx @@ -3,7 +3,6 @@ import { Question } from "survey-core"; import { Survey } from "survey-react-ui"; import { VerificationStatus } from './Schema'; - function customDescriptionCallback(_, options) { // get the customDescription for matrix rows and set it in the title // attribute so that it shows up as a hover popup @@ -144,7 +143,6 @@ function setVerifyButton(question: Question, state: VerificationStatus, surveyMo } } - function SurveyComponent({ surveyModel }) { const alwaysSetVerify = useCallback((_, options) => { diff --git a/compendium-frontend/src/survey/SurveyContainerComponent.tsx b/compendium-frontend/src/survey/SurveyContainerComponent.tsx index a63e5a9ea4105ef4b17bc63e2c122bda2f6c1131..dbdf1c1dc83915aeb8520bb1bce66de987c62ee3 100644 --- a/compendium-frontend/src/survey/SurveyContainerComponent.tsx +++ b/compendium-frontend/src/survey/SurveyContainerComponent.tsx @@ -101,7 +101,6 @@ function SurveyContainerComponent({ loadFrom }) { FunctionFactory.Instance.register("validateWebsiteUrl", oldValidateWebsiteUrl); } - const { trackPageView } = useMatomo(); const beforeUnloadListener = useCallback((event) => { diff --git a/compendium-frontend/src/survey/SurveyNavigationComponent.tsx b/compendium-frontend/src/survey/SurveyNavigationComponent.tsx index 699153d14a7e6211b260e40d0c96bde3d6e83361..b76dabcdf7aa49a20aa39c4c518d46c6f4afd837 100644 --- a/compendium-frontend/src/survey/SurveyNavigationComponent.tsx +++ b/compendium-frontend/src/survey/SurveyNavigationComponent.tsx @@ -3,7 +3,6 @@ import ProgressBar from './ProgressBar'; import { Container, Row } from "react-bootstrap"; import { userContext } from "../providers/UserProvider"; - function SurveyNavigationComponent({ surveyModel, surveyActions, year, nren, children, onPageChange }) { // We use some state variables that are directly derived from the surveyModel to // ensure React rerenders properly. It would honestly be just as easy to remove the state @@ -50,7 +49,6 @@ function SurveyNavigationComponent({ surveyModel, surveyActions, year, nren, chi ); }; - const saveAndStopEdit = 'Save and stop editing'; const save = 'Save progress'; const startEditing = 'Start editing'; @@ -76,7 +74,6 @@ function SurveyNavigationComponent({ surveyModel, surveyActions, year, nren, chi <Row className="survey-content"> <h2><span className="survey-title">{year} Compendium Survey </span><span className="survey-title-nren"> {nren} </span><span> - {responseStatus}</span></h2> - <div style={{ marginTop: '1rem', textAlign: 'justify' }}> <p> To get started, click “{startEditing}” to end read-only mode. Different people from your NREN (Compendium administrators) can contribute to the survey if needed, but agreement should be reached internally before completing the survey as the administration team will treat responses as a single source of truth from the NREN. diff --git a/compendium-frontend/src/survey/management/SurveyManagementComponent.tsx b/compendium-frontend/src/survey/management/SurveyManagementComponent.tsx index 241c0f0b0302b0a17684c8a096572f268eb2d30f..8f1138f96e4558839b76d7deb00e498e82c2b34a 100644 --- a/compendium-frontend/src/survey/management/SurveyManagementComponent.tsx +++ b/compendium-frontend/src/survey/management/SurveyManagementComponent.tsx @@ -57,7 +57,6 @@ function ApiCallButton({ text, helpText, onClick, enabled }) { ); } - function SurveyManagementComponent() { const [surveys, setSurveys] = useState<Survey[]>([]); const surveyStatusUpdating = useRef(false); diff --git a/compendium-frontend/src/survey/management/UserManagementComponent.tsx b/compendium-frontend/src/survey/management/UserManagementComponent.tsx index 60c59d36065757065340caf4aa2509e147b36728..101c73d23205596deb7dd3c522b77c87365b9d3f 100644 --- a/compendium-frontend/src/survey/management/UserManagementComponent.tsx +++ b/compendium-frontend/src/survey/management/UserManagementComponent.tsx @@ -8,7 +8,6 @@ import SurveySidebar from "./SurveySidebar"; import { FaCheck } from "react-icons/fa"; import { debounce } from "lodash"; - async function fetchUsers(): Promise<User[]> { try { const response = await fetch("/api/user/list"); @@ -210,7 +209,6 @@ function UserManagementComponent() { } } - const columns = ["ID", "Active", "Role", "Email", "Full Name", "OIDC Sub", "NREN", "Actions"] const sortFunctions = { [columns[1]]: sortByActive, diff --git a/compendium-frontend/src/survey/validation/validation.ts b/compendium-frontend/src/survey/validation/validation.ts index 59c60e564f0ec442cb57e6f84ab48b28a2e6a627..e0138982678715e62b816bb868d6eb6432192531 100644 --- a/compendium-frontend/src/survey/validation/validation.ts +++ b/compendium-frontend/src/survey/validation/validation.ts @@ -11,15 +11,12 @@ function validateWebsiteUrl(value, nonEmpty = false) { if (!value.includes(":/")) { value = "https://" + value; } - const url = new URL(value); return !!url } catch { return false; } } - - export const validationFunctions = { validateWebsiteUrl, } \ No newline at end of file