From 951d333613d26f8e4ea8be1f42b46db619c29f72 Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke@nordu.net>
Date: Mon, 10 Feb 2025 11:31:29 +0100
Subject: [PATCH] ESLint linting pass

---
 compendium-frontend/src/components/CollapsibleBox.tsx       | 2 --
 compendium-frontend/src/components/ColorBadgeService.tsx    | 1 -
 compendium-frontend/src/components/DataPage.tsx             | 1 -
 compendium-frontend/src/components/NrenYearTable.tsx        | 1 -
 compendium-frontend/src/components/PillTable.tsx            | 4 ----
 compendium-frontend/src/components/ScrollableMatrix.tsx     | 3 ---
 compendium-frontend/src/components/WithLegend.tsx           | 1 -
 .../src/components/download/DownloadDataButton.tsx          | 3 ---
 compendium-frontend/src/components/global/Banner.tsx        | 1 -
 compendium-frontend/src/components/global/GeantFooter.tsx   | 2 --
 compendium-frontend/src/components/global/PageHeader.tsx    | 1 -
 compendium-frontend/src/components/global/SectionLink.tsx   | 1 -
 compendium-frontend/src/components/graphing/Filter.tsx      | 2 --
 compendium-frontend/src/components/sidebar/SideBar.tsx      | 1 -
 compendium-frontend/src/helpers/dataconversion.tsx          | 3 ---
 compendium-frontend/src/helpers/useConfig.tsx               | 1 -
 compendium-frontend/src/helpers/useData.ts                  | 2 --
 compendium-frontend/src/helpers/usePreview.ts               | 1 -
 .../src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx  | 2 --
 .../src/pages/ConnectedUsers/RemoteCampuses.tsx             | 1 -
 .../src/pages/Network/DarkFibreInstalled.tsx                | 4 ----
 compendium-frontend/src/pages/Network/DarkFibreLease.tsx    | 2 --
 compendium-frontend/src/pages/Network/IRUDuration.tsx       | 1 -
 compendium-frontend/src/pages/Network/TrafficRatio.tsx      | 1 -
 compendium-frontend/src/pages/Network/TrafficUrl.tsx        | 1 -
 compendium-frontend/src/pages/Network/TrafficVolume.tsx     | 3 ---
 compendium-frontend/src/pages/Organization/Budget.tsx       | 2 --
 .../src/pages/Organization/ParentOrganisation.tsx           | 1 -
 .../src/pages/Organization/SubOrganisation.tsx              | 1 -
 compendium-frontend/src/pages/Services/Services.tsx         | 1 -
 compendium-frontend/src/pages/Standards&Policies/Audits.tsx | 1 -
 .../src/pages/Standards&Policies/BusinessContinuity.tsx     | 1 -
 .../src/pages/Standards&Policies/CrisisManagement.tsx       | 1 -
 compendium-frontend/src/pages/Standards&Policies/Policy.tsx | 1 -
 .../src/pages/Standards&Policies/SecurityControls.tsx       | 1 -
 compendium-frontend/src/providers/ConfigProvider.tsx        | 1 -
 compendium-frontend/src/providers/ConsentProvider.tsx       | 1 -
 .../src/providers/FilterSelectionProvider.tsx               | 1 -
 compendium-frontend/src/providers/NrenProvider.tsx          | 1 -
 compendium-frontend/src/providers/PreviewProvider.tsx       | 1 -
 compendium-frontend/src/providers/SidebarProvider.tsx       | 1 -
 compendium-frontend/src/providers/UserProvider.tsx          | 2 --
 compendium-frontend/src/survey/ProgressBar.tsx              | 6 ------
 compendium-frontend/src/survey/ShowUser.tsx                 | 1 -
 compendium-frontend/src/survey/StatusButton.tsx             | 3 ---
 compendium-frontend/src/survey/SurveyComponent.tsx          | 2 --
 compendium-frontend/src/survey/SurveyContainerComponent.tsx | 1 -
 .../src/survey/SurveyNavigationComponent.tsx                | 3 ---
 .../src/survey/management/SurveyManagementComponent.tsx     | 1 -
 .../src/survey/management/UserManagementComponent.tsx       | 2 --
 compendium-frontend/src/survey/validation/validation.ts     | 3 ---
 51 files changed, 86 deletions(-)

diff --git a/compendium-frontend/src/components/CollapsibleBox.tsx b/compendium-frontend/src/components/CollapsibleBox.tsx
index d1d6fc2d..e058c165 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 7d98a1b8..0c9cbfa2 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 68e9ec37..78d8bdf9 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 0448fe5a..dcb27f5f 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 36cfbfee..8ed09861 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 0bb402ee..2fecb623 100644
--- a/compendium-frontend/src/components/ScrollableMatrix.tsx
+++ b/compendium-frontend/src/components/ScrollableMatrix.tsx
@@ -6,7 +6,6 @@ const TICK_ICON = <span>&#10004;</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 9e9bc878..d5f8cf30 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 d6938f13..e3e2efd4 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 60ea19f6..3b66ada0 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 06823b73..309c2b53 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 60fe364a..0cfee998 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 3005288e..49c851a1 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 b299303d..05e54d78 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 0463b491..4d4ff3da 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 f95179c2..3fc5e8df 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 406810c6..f8881ee8 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 e8093f58..7879a63a 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 aa1a9fb8..3394819c 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 904f4efa..0eec5c85 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 3453fd02..290737a2 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 31cc247d..3c46b0d9 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 c224d78f..bd62a845 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 6eab668e..2b5403fa 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 f1fc2169..46baf3df 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 a200cb19..8dd7d8cf 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 bfa5559c..9135843e 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 9bc7f967..7da00a2b 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 7450249e..debd2a37 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 6d8e3d14..9bf4efac 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 ec45b5bb..cce5adca 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 a731a539..afed54ff 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 417a8b79..db8c0763 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 359645ca..7e15e966 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 57f400b4..d8fc64cb 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 650a6116..4171e2ca 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 9ec43033..d7da7fc6 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 caf79512..1e24e5d6 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 41f80a2e..1ef33105 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 a7ac95d3..ffc58427 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 91e6ac59..d3e7d73b 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 02302f16..c1e36257 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 cd142c83..77037c80 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 e1b44b3d..0232a12c 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 24111805..d56a91be 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 f9fafc40..831e26fb 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 97e4cf70..051f4564 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 a63e5a9e..dbdf1c1d 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 699153d1..b76dabcd 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 241c0f0b..8f1138f9 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 60c59d36..101c73d2 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 59c60e56..e0138982 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
-- 
GitLab