diff --git a/pom.xml b/pom.xml
index d0d3f2a..4bc888a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,6 +148,28 @@
+
+ exec-maven-plugin
+ org.codehaus.mojo
+
+
+ npm build the vue app
+ generate-resources
+
+ exec
+
+
+ src/frontend
+ npm
+
+ run
+ build
+
+
+
+
+
+
com.microsoft.azure
azure-container-apps-maven-plugin
diff --git a/src/frontend/src/assets/flags/AD.svg b/src/frontend/assets/flags/AD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AD.svg
rename to src/frontend/assets/flags/AD.svg
diff --git a/src/frontend/src/assets/flags/AE.svg b/src/frontend/assets/flags/AE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AE.svg
rename to src/frontend/assets/flags/AE.svg
diff --git a/src/frontend/src/assets/flags/AF.svg b/src/frontend/assets/flags/AF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AF.svg
rename to src/frontend/assets/flags/AF.svg
diff --git a/src/frontend/src/assets/flags/AG.svg b/src/frontend/assets/flags/AG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AG.svg
rename to src/frontend/assets/flags/AG.svg
diff --git a/src/frontend/src/assets/flags/AI.svg b/src/frontend/assets/flags/AI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AI.svg
rename to src/frontend/assets/flags/AI.svg
diff --git a/src/frontend/src/assets/flags/AL.svg b/src/frontend/assets/flags/AL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AL.svg
rename to src/frontend/assets/flags/AL.svg
diff --git a/src/frontend/src/assets/flags/AM.svg b/src/frontend/assets/flags/AM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AM.svg
rename to src/frontend/assets/flags/AM.svg
diff --git a/src/frontend/src/assets/flags/AO.svg b/src/frontend/assets/flags/AO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AO.svg
rename to src/frontend/assets/flags/AO.svg
diff --git a/src/frontend/src/assets/flags/AQ.svg b/src/frontend/assets/flags/AQ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AQ.svg
rename to src/frontend/assets/flags/AQ.svg
diff --git a/src/frontend/src/assets/flags/AR.svg b/src/frontend/assets/flags/AR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AR.svg
rename to src/frontend/assets/flags/AR.svg
diff --git a/src/frontend/src/assets/flags/AS.svg b/src/frontend/assets/flags/AS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AS.svg
rename to src/frontend/assets/flags/AS.svg
diff --git a/src/frontend/src/assets/flags/AT.svg b/src/frontend/assets/flags/AT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AT.svg
rename to src/frontend/assets/flags/AT.svg
diff --git a/src/frontend/src/assets/flags/AU.svg b/src/frontend/assets/flags/AU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AU.svg
rename to src/frontend/assets/flags/AU.svg
diff --git a/src/frontend/src/assets/flags/AW.svg b/src/frontend/assets/flags/AW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AW.svg
rename to src/frontend/assets/flags/AW.svg
diff --git a/src/frontend/src/assets/flags/AX.svg b/src/frontend/assets/flags/AX.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AX.svg
rename to src/frontend/assets/flags/AX.svg
diff --git a/src/frontend/src/assets/flags/AZ.svg b/src/frontend/assets/flags/AZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/AZ.svg
rename to src/frontend/assets/flags/AZ.svg
diff --git a/src/frontend/src/assets/flags/BA.svg b/src/frontend/assets/flags/BA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BA.svg
rename to src/frontend/assets/flags/BA.svg
diff --git a/src/frontend/src/assets/flags/BB.svg b/src/frontend/assets/flags/BB.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BB.svg
rename to src/frontend/assets/flags/BB.svg
diff --git a/src/frontend/src/assets/flags/BD.svg b/src/frontend/assets/flags/BD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BD.svg
rename to src/frontend/assets/flags/BD.svg
diff --git a/src/frontend/src/assets/flags/BE.svg b/src/frontend/assets/flags/BE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BE.svg
rename to src/frontend/assets/flags/BE.svg
diff --git a/src/frontend/src/assets/flags/BF.svg b/src/frontend/assets/flags/BF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BF.svg
rename to src/frontend/assets/flags/BF.svg
diff --git a/src/frontend/src/assets/flags/BG.svg b/src/frontend/assets/flags/BG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BG.svg
rename to src/frontend/assets/flags/BG.svg
diff --git a/src/frontend/src/assets/flags/BH.svg b/src/frontend/assets/flags/BH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BH.svg
rename to src/frontend/assets/flags/BH.svg
diff --git a/src/frontend/src/assets/flags/BI.svg b/src/frontend/assets/flags/BI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BI.svg
rename to src/frontend/assets/flags/BI.svg
diff --git a/src/frontend/src/assets/flags/BJ.svg b/src/frontend/assets/flags/BJ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BJ.svg
rename to src/frontend/assets/flags/BJ.svg
diff --git a/src/frontend/src/assets/flags/BL.svg b/src/frontend/assets/flags/BL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BL.svg
rename to src/frontend/assets/flags/BL.svg
diff --git a/src/frontend/src/assets/flags/BM.svg b/src/frontend/assets/flags/BM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BM.svg
rename to src/frontend/assets/flags/BM.svg
diff --git a/src/frontend/src/assets/flags/BN.svg b/src/frontend/assets/flags/BN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BN.svg
rename to src/frontend/assets/flags/BN.svg
diff --git a/src/frontend/src/assets/flags/BO.svg b/src/frontend/assets/flags/BO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BO.svg
rename to src/frontend/assets/flags/BO.svg
diff --git a/src/frontend/src/assets/flags/BQ-BO.svg b/src/frontend/assets/flags/BQ-BO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BQ-BO.svg
rename to src/frontend/assets/flags/BQ-BO.svg
diff --git a/src/frontend/src/assets/flags/BQ-SA.svg b/src/frontend/assets/flags/BQ-SA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BQ-SA.svg
rename to src/frontend/assets/flags/BQ-SA.svg
diff --git a/src/frontend/src/assets/flags/BQ-SE.svg b/src/frontend/assets/flags/BQ-SE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BQ-SE.svg
rename to src/frontend/assets/flags/BQ-SE.svg
diff --git a/src/frontend/src/assets/flags/BQ.svg b/src/frontend/assets/flags/BQ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BQ.svg
rename to src/frontend/assets/flags/BQ.svg
diff --git a/src/frontend/src/assets/flags/BR.svg b/src/frontend/assets/flags/BR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BR.svg
rename to src/frontend/assets/flags/BR.svg
diff --git a/src/frontend/src/assets/flags/BS.svg b/src/frontend/assets/flags/BS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BS.svg
rename to src/frontend/assets/flags/BS.svg
diff --git a/src/frontend/src/assets/flags/BT.svg b/src/frontend/assets/flags/BT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BT.svg
rename to src/frontend/assets/flags/BT.svg
diff --git a/src/frontend/src/assets/flags/BV.svg b/src/frontend/assets/flags/BV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BV.svg
rename to src/frontend/assets/flags/BV.svg
diff --git a/src/frontend/src/assets/flags/BW.svg b/src/frontend/assets/flags/BW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BW.svg
rename to src/frontend/assets/flags/BW.svg
diff --git a/src/frontend/src/assets/flags/BY.svg b/src/frontend/assets/flags/BY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BY.svg
rename to src/frontend/assets/flags/BY.svg
diff --git a/src/frontend/src/assets/flags/BZ.svg b/src/frontend/assets/flags/BZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/BZ.svg
rename to src/frontend/assets/flags/BZ.svg
diff --git a/src/frontend/src/assets/flags/CA.svg b/src/frontend/assets/flags/CA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CA.svg
rename to src/frontend/assets/flags/CA.svg
diff --git a/src/frontend/src/assets/flags/CC.svg b/src/frontend/assets/flags/CC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CC.svg
rename to src/frontend/assets/flags/CC.svg
diff --git a/src/frontend/src/assets/flags/CD.svg b/src/frontend/assets/flags/CD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CD.svg
rename to src/frontend/assets/flags/CD.svg
diff --git a/src/frontend/src/assets/flags/CF.svg b/src/frontend/assets/flags/CF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CF.svg
rename to src/frontend/assets/flags/CF.svg
diff --git a/src/frontend/src/assets/flags/CG.svg b/src/frontend/assets/flags/CG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CG.svg
rename to src/frontend/assets/flags/CG.svg
diff --git a/src/frontend/src/assets/flags/CH.svg b/src/frontend/assets/flags/CH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CH.svg
rename to src/frontend/assets/flags/CH.svg
diff --git a/src/frontend/src/assets/flags/CI.svg b/src/frontend/assets/flags/CI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CI.svg
rename to src/frontend/assets/flags/CI.svg
diff --git a/src/frontend/src/assets/flags/CK.svg b/src/frontend/assets/flags/CK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CK.svg
rename to src/frontend/assets/flags/CK.svg
diff --git a/src/frontend/src/assets/flags/CL.svg b/src/frontend/assets/flags/CL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CL.svg
rename to src/frontend/assets/flags/CL.svg
diff --git a/src/frontend/src/assets/flags/CM.svg b/src/frontend/assets/flags/CM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CM.svg
rename to src/frontend/assets/flags/CM.svg
diff --git a/src/frontend/src/assets/flags/CN.svg b/src/frontend/assets/flags/CN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CN.svg
rename to src/frontend/assets/flags/CN.svg
diff --git a/src/frontend/src/assets/flags/CO.svg b/src/frontend/assets/flags/CO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CO.svg
rename to src/frontend/assets/flags/CO.svg
diff --git a/src/frontend/src/assets/flags/CR.svg b/src/frontend/assets/flags/CR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CR.svg
rename to src/frontend/assets/flags/CR.svg
diff --git a/src/frontend/src/assets/flags/CU.svg b/src/frontend/assets/flags/CU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CU.svg
rename to src/frontend/assets/flags/CU.svg
diff --git a/src/frontend/src/assets/flags/CV.svg b/src/frontend/assets/flags/CV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CV.svg
rename to src/frontend/assets/flags/CV.svg
diff --git a/src/frontend/src/assets/flags/CW.svg b/src/frontend/assets/flags/CW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CW.svg
rename to src/frontend/assets/flags/CW.svg
diff --git a/src/frontend/src/assets/flags/CX.svg b/src/frontend/assets/flags/CX.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CX.svg
rename to src/frontend/assets/flags/CX.svg
diff --git a/src/frontend/src/assets/flags/CY.svg b/src/frontend/assets/flags/CY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CY.svg
rename to src/frontend/assets/flags/CY.svg
diff --git a/src/frontend/src/assets/flags/CZ.svg b/src/frontend/assets/flags/CZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/CZ.svg
rename to src/frontend/assets/flags/CZ.svg
diff --git a/src/frontend/src/assets/flags/DE.svg b/src/frontend/assets/flags/DE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DE.svg
rename to src/frontend/assets/flags/DE.svg
diff --git a/src/frontend/src/assets/flags/DJ.svg b/src/frontend/assets/flags/DJ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DJ.svg
rename to src/frontend/assets/flags/DJ.svg
diff --git a/src/frontend/src/assets/flags/DK.svg b/src/frontend/assets/flags/DK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DK.svg
rename to src/frontend/assets/flags/DK.svg
diff --git a/src/frontend/src/assets/flags/DM.svg b/src/frontend/assets/flags/DM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DM.svg
rename to src/frontend/assets/flags/DM.svg
diff --git a/src/frontend/src/assets/flags/DO.svg b/src/frontend/assets/flags/DO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DO.svg
rename to src/frontend/assets/flags/DO.svg
diff --git a/src/frontend/src/assets/flags/DZ.svg b/src/frontend/assets/flags/DZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/DZ.svg
rename to src/frontend/assets/flags/DZ.svg
diff --git a/src/frontend/src/assets/flags/EC.svg b/src/frontend/assets/flags/EC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/EC.svg
rename to src/frontend/assets/flags/EC.svg
diff --git a/src/frontend/src/assets/flags/EE.svg b/src/frontend/assets/flags/EE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/EE.svg
rename to src/frontend/assets/flags/EE.svg
diff --git a/src/frontend/src/assets/flags/EG.svg b/src/frontend/assets/flags/EG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/EG.svg
rename to src/frontend/assets/flags/EG.svg
diff --git a/src/frontend/src/assets/flags/EH.svg b/src/frontend/assets/flags/EH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/EH.svg
rename to src/frontend/assets/flags/EH.svg
diff --git a/src/frontend/src/assets/flags/ER.svg b/src/frontend/assets/flags/ER.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ER.svg
rename to src/frontend/assets/flags/ER.svg
diff --git a/src/frontend/src/assets/flags/ES.svg b/src/frontend/assets/flags/ES.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ES.svg
rename to src/frontend/assets/flags/ES.svg
diff --git a/src/frontend/src/assets/flags/ET.svg b/src/frontend/assets/flags/ET.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ET.svg
rename to src/frontend/assets/flags/ET.svg
diff --git a/src/frontend/src/assets/flags/FI.svg b/src/frontend/assets/flags/FI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FI.svg
rename to src/frontend/assets/flags/FI.svg
diff --git a/src/frontend/src/assets/flags/FJ.svg b/src/frontend/assets/flags/FJ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FJ.svg
rename to src/frontend/assets/flags/FJ.svg
diff --git a/src/frontend/src/assets/flags/FK.svg b/src/frontend/assets/flags/FK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FK.svg
rename to src/frontend/assets/flags/FK.svg
diff --git a/src/frontend/src/assets/flags/FM.svg b/src/frontend/assets/flags/FM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FM.svg
rename to src/frontend/assets/flags/FM.svg
diff --git a/src/frontend/src/assets/flags/FO.svg b/src/frontend/assets/flags/FO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FO.svg
rename to src/frontend/assets/flags/FO.svg
diff --git a/src/frontend/src/assets/flags/FR.svg b/src/frontend/assets/flags/FR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/FR.svg
rename to src/frontend/assets/flags/FR.svg
diff --git a/src/frontend/src/assets/flags/GA.svg b/src/frontend/assets/flags/GA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GA.svg
rename to src/frontend/assets/flags/GA.svg
diff --git a/src/frontend/src/assets/flags/GB-NIR.svg b/src/frontend/assets/flags/GB-NIR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GB-NIR.svg
rename to src/frontend/assets/flags/GB-NIR.svg
diff --git a/src/frontend/src/assets/flags/GB-SCT.svg b/src/frontend/assets/flags/GB-SCT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GB-SCT.svg
rename to src/frontend/assets/flags/GB-SCT.svg
diff --git a/src/frontend/src/assets/flags/GB-UKM.svg b/src/frontend/assets/flags/GB-UKM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GB-UKM.svg
rename to src/frontend/assets/flags/GB-UKM.svg
diff --git a/src/frontend/src/assets/flags/GB-WLS.svg b/src/frontend/assets/flags/GB-WLS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GB-WLS.svg
rename to src/frontend/assets/flags/GB-WLS.svg
diff --git a/src/frontend/src/assets/flags/GB.svg b/src/frontend/assets/flags/GB.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GB.svg
rename to src/frontend/assets/flags/GB.svg
diff --git a/src/frontend/src/assets/flags/GD.svg b/src/frontend/assets/flags/GD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GD.svg
rename to src/frontend/assets/flags/GD.svg
diff --git a/src/frontend/src/assets/flags/GE.svg b/src/frontend/assets/flags/GE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GE.svg
rename to src/frontend/assets/flags/GE.svg
diff --git a/src/frontend/src/assets/flags/GF.svg b/src/frontend/assets/flags/GF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GF.svg
rename to src/frontend/assets/flags/GF.svg
diff --git a/src/frontend/src/assets/flags/GG.svg b/src/frontend/assets/flags/GG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GG.svg
rename to src/frontend/assets/flags/GG.svg
diff --git a/src/frontend/src/assets/flags/GH.svg b/src/frontend/assets/flags/GH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GH.svg
rename to src/frontend/assets/flags/GH.svg
diff --git a/src/frontend/src/assets/flags/GI.svg b/src/frontend/assets/flags/GI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GI.svg
rename to src/frontend/assets/flags/GI.svg
diff --git a/src/frontend/src/assets/flags/GL.svg b/src/frontend/assets/flags/GL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GL.svg
rename to src/frontend/assets/flags/GL.svg
diff --git a/src/frontend/src/assets/flags/GM.svg b/src/frontend/assets/flags/GM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GM.svg
rename to src/frontend/assets/flags/GM.svg
diff --git a/src/frontend/src/assets/flags/GN.svg b/src/frontend/assets/flags/GN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GN.svg
rename to src/frontend/assets/flags/GN.svg
diff --git a/src/frontend/src/assets/flags/GP.svg b/src/frontend/assets/flags/GP.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GP.svg
rename to src/frontend/assets/flags/GP.svg
diff --git a/src/frontend/src/assets/flags/GQ.svg b/src/frontend/assets/flags/GQ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GQ.svg
rename to src/frontend/assets/flags/GQ.svg
diff --git a/src/frontend/src/assets/flags/GR.svg b/src/frontend/assets/flags/GR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GR.svg
rename to src/frontend/assets/flags/GR.svg
diff --git a/src/frontend/src/assets/flags/GS.svg b/src/frontend/assets/flags/GS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GS.svg
rename to src/frontend/assets/flags/GS.svg
diff --git a/src/frontend/src/assets/flags/GT.svg b/src/frontend/assets/flags/GT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GT.svg
rename to src/frontend/assets/flags/GT.svg
diff --git a/src/frontend/src/assets/flags/GU.svg b/src/frontend/assets/flags/GU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GU.svg
rename to src/frontend/assets/flags/GU.svg
diff --git a/src/frontend/src/assets/flags/GW.svg b/src/frontend/assets/flags/GW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GW.svg
rename to src/frontend/assets/flags/GW.svg
diff --git a/src/frontend/src/assets/flags/GY.svg b/src/frontend/assets/flags/GY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/GY.svg
rename to src/frontend/assets/flags/GY.svg
diff --git a/src/frontend/src/assets/flags/HK.svg b/src/frontend/assets/flags/HK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HK.svg
rename to src/frontend/assets/flags/HK.svg
diff --git a/src/frontend/src/assets/flags/HM.svg b/src/frontend/assets/flags/HM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HM.svg
rename to src/frontend/assets/flags/HM.svg
diff --git a/src/frontend/src/assets/flags/HN.svg b/src/frontend/assets/flags/HN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HN.svg
rename to src/frontend/assets/flags/HN.svg
diff --git a/src/frontend/src/assets/flags/HR.svg b/src/frontend/assets/flags/HR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HR.svg
rename to src/frontend/assets/flags/HR.svg
diff --git a/src/frontend/src/assets/flags/HT.svg b/src/frontend/assets/flags/HT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HT.svg
rename to src/frontend/assets/flags/HT.svg
diff --git a/src/frontend/src/assets/flags/HU.svg b/src/frontend/assets/flags/HU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/HU.svg
rename to src/frontend/assets/flags/HU.svg
diff --git a/src/frontend/src/assets/flags/ID.svg b/src/frontend/assets/flags/ID.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ID.svg
rename to src/frontend/assets/flags/ID.svg
diff --git a/src/frontend/src/assets/flags/IE.svg b/src/frontend/assets/flags/IE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IE.svg
rename to src/frontend/assets/flags/IE.svg
diff --git a/src/frontend/src/assets/flags/IL.svg b/src/frontend/assets/flags/IL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IL.svg
rename to src/frontend/assets/flags/IL.svg
diff --git a/src/frontend/src/assets/flags/IM.svg b/src/frontend/assets/flags/IM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IM.svg
rename to src/frontend/assets/flags/IM.svg
diff --git a/src/frontend/src/assets/flags/IN.svg b/src/frontend/assets/flags/IN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IN.svg
rename to src/frontend/assets/flags/IN.svg
diff --git a/src/frontend/src/assets/flags/IO.svg b/src/frontend/assets/flags/IO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IO.svg
rename to src/frontend/assets/flags/IO.svg
diff --git a/src/frontend/src/assets/flags/IQ.svg b/src/frontend/assets/flags/IQ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IQ.svg
rename to src/frontend/assets/flags/IQ.svg
diff --git a/src/frontend/src/assets/flags/IR.svg b/src/frontend/assets/flags/IR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IR.svg
rename to src/frontend/assets/flags/IR.svg
diff --git a/src/frontend/src/assets/flags/IS.svg b/src/frontend/assets/flags/IS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IS.svg
rename to src/frontend/assets/flags/IS.svg
diff --git a/src/frontend/src/assets/flags/IT.svg b/src/frontend/assets/flags/IT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/IT.svg
rename to src/frontend/assets/flags/IT.svg
diff --git a/src/frontend/src/assets/flags/JE.svg b/src/frontend/assets/flags/JE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/JE.svg
rename to src/frontend/assets/flags/JE.svg
diff --git a/src/frontend/src/assets/flags/JM.svg b/src/frontend/assets/flags/JM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/JM.svg
rename to src/frontend/assets/flags/JM.svg
diff --git a/src/frontend/src/assets/flags/JO.svg b/src/frontend/assets/flags/JO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/JO.svg
rename to src/frontend/assets/flags/JO.svg
diff --git a/src/frontend/src/assets/flags/JP.svg b/src/frontend/assets/flags/JP.svg
similarity index 100%
rename from src/frontend/src/assets/flags/JP.svg
rename to src/frontend/assets/flags/JP.svg
diff --git a/src/frontend/src/assets/flags/KE.svg b/src/frontend/assets/flags/KE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KE.svg
rename to src/frontend/assets/flags/KE.svg
diff --git a/src/frontend/src/assets/flags/KG.svg b/src/frontend/assets/flags/KG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KG.svg
rename to src/frontend/assets/flags/KG.svg
diff --git a/src/frontend/src/assets/flags/KH.svg b/src/frontend/assets/flags/KH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KH.svg
rename to src/frontend/assets/flags/KH.svg
diff --git a/src/frontend/src/assets/flags/KI.svg b/src/frontend/assets/flags/KI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KI.svg
rename to src/frontend/assets/flags/KI.svg
diff --git a/src/frontend/src/assets/flags/KM.svg b/src/frontend/assets/flags/KM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KM.svg
rename to src/frontend/assets/flags/KM.svg
diff --git a/src/frontend/src/assets/flags/KN.svg b/src/frontend/assets/flags/KN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KN.svg
rename to src/frontend/assets/flags/KN.svg
diff --git a/src/frontend/src/assets/flags/KP.svg b/src/frontend/assets/flags/KP.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KP.svg
rename to src/frontend/assets/flags/KP.svg
diff --git a/src/frontend/src/assets/flags/KR.svg b/src/frontend/assets/flags/KR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KR.svg
rename to src/frontend/assets/flags/KR.svg
diff --git a/src/frontend/src/assets/flags/KW.svg b/src/frontend/assets/flags/KW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KW.svg
rename to src/frontend/assets/flags/KW.svg
diff --git a/src/frontend/src/assets/flags/KY.svg b/src/frontend/assets/flags/KY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KY.svg
rename to src/frontend/assets/flags/KY.svg
diff --git a/src/frontend/src/assets/flags/KZ.svg b/src/frontend/assets/flags/KZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/KZ.svg
rename to src/frontend/assets/flags/KZ.svg
diff --git a/src/frontend/src/assets/flags/LA.svg b/src/frontend/assets/flags/LA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LA.svg
rename to src/frontend/assets/flags/LA.svg
diff --git a/src/frontend/src/assets/flags/LB.svg b/src/frontend/assets/flags/LB.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LB.svg
rename to src/frontend/assets/flags/LB.svg
diff --git a/src/frontend/src/assets/flags/LC.svg b/src/frontend/assets/flags/LC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LC.svg
rename to src/frontend/assets/flags/LC.svg
diff --git a/src/frontend/src/assets/flags/LI.svg b/src/frontend/assets/flags/LI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LI.svg
rename to src/frontend/assets/flags/LI.svg
diff --git a/src/frontend/src/assets/flags/LK.svg b/src/frontend/assets/flags/LK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LK.svg
rename to src/frontend/assets/flags/LK.svg
diff --git a/src/frontend/src/assets/flags/LR.svg b/src/frontend/assets/flags/LR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LR.svg
rename to src/frontend/assets/flags/LR.svg
diff --git a/src/frontend/src/assets/flags/LS.svg b/src/frontend/assets/flags/LS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LS.svg
rename to src/frontend/assets/flags/LS.svg
diff --git a/src/frontend/src/assets/flags/LT.svg b/src/frontend/assets/flags/LT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LT.svg
rename to src/frontend/assets/flags/LT.svg
diff --git a/src/frontend/src/assets/flags/LU.svg b/src/frontend/assets/flags/LU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LU.svg
rename to src/frontend/assets/flags/LU.svg
diff --git a/src/frontend/src/assets/flags/LV.svg b/src/frontend/assets/flags/LV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LV.svg
rename to src/frontend/assets/flags/LV.svg
diff --git a/src/frontend/src/assets/flags/LY.svg b/src/frontend/assets/flags/LY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/LY.svg
rename to src/frontend/assets/flags/LY.svg
diff --git a/src/frontend/src/assets/flags/MA.svg b/src/frontend/assets/flags/MA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MA.svg
rename to src/frontend/assets/flags/MA.svg
diff --git a/src/frontend/src/assets/flags/MC.svg b/src/frontend/assets/flags/MC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MC.svg
rename to src/frontend/assets/flags/MC.svg
diff --git a/src/frontend/src/assets/flags/MD.svg b/src/frontend/assets/flags/MD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MD.svg
rename to src/frontend/assets/flags/MD.svg
diff --git a/src/frontend/src/assets/flags/ME.svg b/src/frontend/assets/flags/ME.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ME.svg
rename to src/frontend/assets/flags/ME.svg
diff --git a/src/frontend/src/assets/flags/MF.svg b/src/frontend/assets/flags/MF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MF.svg
rename to src/frontend/assets/flags/MF.svg
diff --git a/src/frontend/src/assets/flags/MG.svg b/src/frontend/assets/flags/MG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MG.svg
rename to src/frontend/assets/flags/MG.svg
diff --git a/src/frontend/src/assets/flags/MH.svg b/src/frontend/assets/flags/MH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MH.svg
rename to src/frontend/assets/flags/MH.svg
diff --git a/src/frontend/src/assets/flags/MK.svg b/src/frontend/assets/flags/MK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MK.svg
rename to src/frontend/assets/flags/MK.svg
diff --git a/src/frontend/src/assets/flags/ML.svg b/src/frontend/assets/flags/ML.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ML.svg
rename to src/frontend/assets/flags/ML.svg
diff --git a/src/frontend/src/assets/flags/MM.svg b/src/frontend/assets/flags/MM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MM.svg
rename to src/frontend/assets/flags/MM.svg
diff --git a/src/frontend/src/assets/flags/MN.svg b/src/frontend/assets/flags/MN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MN.svg
rename to src/frontend/assets/flags/MN.svg
diff --git a/src/frontend/src/assets/flags/MO.svg b/src/frontend/assets/flags/MO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MO.svg
rename to src/frontend/assets/flags/MO.svg
diff --git a/src/frontend/src/assets/flags/MP.svg b/src/frontend/assets/flags/MP.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MP.svg
rename to src/frontend/assets/flags/MP.svg
diff --git a/src/frontend/src/assets/flags/MQ.svg b/src/frontend/assets/flags/MQ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MQ.svg
rename to src/frontend/assets/flags/MQ.svg
diff --git a/src/frontend/src/assets/flags/MR.svg b/src/frontend/assets/flags/MR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MR.svg
rename to src/frontend/assets/flags/MR.svg
diff --git a/src/frontend/src/assets/flags/MS.svg b/src/frontend/assets/flags/MS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MS.svg
rename to src/frontend/assets/flags/MS.svg
diff --git a/src/frontend/src/assets/flags/MT.svg b/src/frontend/assets/flags/MT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MT.svg
rename to src/frontend/assets/flags/MT.svg
diff --git a/src/frontend/src/assets/flags/MU.svg b/src/frontend/assets/flags/MU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MU.svg
rename to src/frontend/assets/flags/MU.svg
diff --git a/src/frontend/src/assets/flags/MV.svg b/src/frontend/assets/flags/MV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MV.svg
rename to src/frontend/assets/flags/MV.svg
diff --git a/src/frontend/src/assets/flags/MW.svg b/src/frontend/assets/flags/MW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MW.svg
rename to src/frontend/assets/flags/MW.svg
diff --git a/src/frontend/src/assets/flags/MX.svg b/src/frontend/assets/flags/MX.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MX.svg
rename to src/frontend/assets/flags/MX.svg
diff --git a/src/frontend/src/assets/flags/MY.svg b/src/frontend/assets/flags/MY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MY.svg
rename to src/frontend/assets/flags/MY.svg
diff --git a/src/frontend/src/assets/flags/MZ.svg b/src/frontend/assets/flags/MZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/MZ.svg
rename to src/frontend/assets/flags/MZ.svg
diff --git a/src/frontend/src/assets/flags/NA.svg b/src/frontend/assets/flags/NA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NA.svg
rename to src/frontend/assets/flags/NA.svg
diff --git a/src/frontend/src/assets/flags/NC.svg b/src/frontend/assets/flags/NC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NC.svg
rename to src/frontend/assets/flags/NC.svg
diff --git a/src/frontend/src/assets/flags/NE.svg b/src/frontend/assets/flags/NE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NE.svg
rename to src/frontend/assets/flags/NE.svg
diff --git a/src/frontend/src/assets/flags/NF.svg b/src/frontend/assets/flags/NF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NF.svg
rename to src/frontend/assets/flags/NF.svg
diff --git a/src/frontend/src/assets/flags/NG.svg b/src/frontend/assets/flags/NG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NG.svg
rename to src/frontend/assets/flags/NG.svg
diff --git a/src/frontend/src/assets/flags/NI.svg b/src/frontend/assets/flags/NI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NI.svg
rename to src/frontend/assets/flags/NI.svg
diff --git a/src/frontend/src/assets/flags/NL.svg b/src/frontend/assets/flags/NL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NL.svg
rename to src/frontend/assets/flags/NL.svg
diff --git a/src/frontend/src/assets/flags/NO.svg b/src/frontend/assets/flags/NO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NO.svg
rename to src/frontend/assets/flags/NO.svg
diff --git a/src/frontend/src/assets/flags/NP.svg b/src/frontend/assets/flags/NP.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NP.svg
rename to src/frontend/assets/flags/NP.svg
diff --git a/src/frontend/src/assets/flags/NR.svg b/src/frontend/assets/flags/NR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NR.svg
rename to src/frontend/assets/flags/NR.svg
diff --git a/src/frontend/src/assets/flags/NU.svg b/src/frontend/assets/flags/NU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NU.svg
rename to src/frontend/assets/flags/NU.svg
diff --git a/src/frontend/src/assets/flags/NZ.svg b/src/frontend/assets/flags/NZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/NZ.svg
rename to src/frontend/assets/flags/NZ.svg
diff --git a/src/frontend/src/assets/flags/OM.svg b/src/frontend/assets/flags/OM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/OM.svg
rename to src/frontend/assets/flags/OM.svg
diff --git a/src/frontend/src/assets/flags/PA.svg b/src/frontend/assets/flags/PA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PA.svg
rename to src/frontend/assets/flags/PA.svg
diff --git a/src/frontend/src/assets/flags/PE.svg b/src/frontend/assets/flags/PE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PE.svg
rename to src/frontend/assets/flags/PE.svg
diff --git a/src/frontend/src/assets/flags/PF.svg b/src/frontend/assets/flags/PF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PF.svg
rename to src/frontend/assets/flags/PF.svg
diff --git a/src/frontend/src/assets/flags/PG.svg b/src/frontend/assets/flags/PG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PG.svg
rename to src/frontend/assets/flags/PG.svg
diff --git a/src/frontend/src/assets/flags/PH.svg b/src/frontend/assets/flags/PH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PH.svg
rename to src/frontend/assets/flags/PH.svg
diff --git a/src/frontend/src/assets/flags/PK.svg b/src/frontend/assets/flags/PK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PK.svg
rename to src/frontend/assets/flags/PK.svg
diff --git a/src/frontend/src/assets/flags/PL.svg b/src/frontend/assets/flags/PL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PL.svg
rename to src/frontend/assets/flags/PL.svg
diff --git a/src/frontend/src/assets/flags/PM.svg b/src/frontend/assets/flags/PM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PM.svg
rename to src/frontend/assets/flags/PM.svg
diff --git a/src/frontend/src/assets/flags/PN.svg b/src/frontend/assets/flags/PN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PN.svg
rename to src/frontend/assets/flags/PN.svg
diff --git a/src/frontend/src/assets/flags/PR.svg b/src/frontend/assets/flags/PR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PR.svg
rename to src/frontend/assets/flags/PR.svg
diff --git a/src/frontend/src/assets/flags/PS.svg b/src/frontend/assets/flags/PS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PS.svg
rename to src/frontend/assets/flags/PS.svg
diff --git a/src/frontend/src/assets/flags/PT.svg b/src/frontend/assets/flags/PT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PT.svg
rename to src/frontend/assets/flags/PT.svg
diff --git a/src/frontend/src/assets/flags/PW.svg b/src/frontend/assets/flags/PW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PW.svg
rename to src/frontend/assets/flags/PW.svg
diff --git a/src/frontend/src/assets/flags/PY.svg b/src/frontend/assets/flags/PY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/PY.svg
rename to src/frontend/assets/flags/PY.svg
diff --git a/src/frontend/src/assets/flags/QA.svg b/src/frontend/assets/flags/QA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/QA.svg
rename to src/frontend/assets/flags/QA.svg
diff --git a/src/frontend/src/assets/flags/RE.svg b/src/frontend/assets/flags/RE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/RE.svg
rename to src/frontend/assets/flags/RE.svg
diff --git a/src/frontend/src/assets/flags/RO.svg b/src/frontend/assets/flags/RO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/RO.svg
rename to src/frontend/assets/flags/RO.svg
diff --git a/src/frontend/src/assets/flags/RS.svg b/src/frontend/assets/flags/RS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/RS.svg
rename to src/frontend/assets/flags/RS.svg
diff --git a/src/frontend/src/assets/flags/RU.svg b/src/frontend/assets/flags/RU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/RU.svg
rename to src/frontend/assets/flags/RU.svg
diff --git a/src/frontend/src/assets/flags/RW.svg b/src/frontend/assets/flags/RW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/RW.svg
rename to src/frontend/assets/flags/RW.svg
diff --git a/src/frontend/src/assets/flags/SA.svg b/src/frontend/assets/flags/SA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SA.svg
rename to src/frontend/assets/flags/SA.svg
diff --git a/src/frontend/src/assets/flags/SB.svg b/src/frontend/assets/flags/SB.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SB.svg
rename to src/frontend/assets/flags/SB.svg
diff --git a/src/frontend/src/assets/flags/SC.svg b/src/frontend/assets/flags/SC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SC.svg
rename to src/frontend/assets/flags/SC.svg
diff --git a/src/frontend/src/assets/flags/SD.svg b/src/frontend/assets/flags/SD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SD.svg
rename to src/frontend/assets/flags/SD.svg
diff --git a/src/frontend/src/assets/flags/SE.svg b/src/frontend/assets/flags/SE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SE.svg
rename to src/frontend/assets/flags/SE.svg
diff --git a/src/frontend/src/assets/flags/SG.svg b/src/frontend/assets/flags/SG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SG.svg
rename to src/frontend/assets/flags/SG.svg
diff --git a/src/frontend/src/assets/flags/SH.svg b/src/frontend/assets/flags/SH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SH.svg
rename to src/frontend/assets/flags/SH.svg
diff --git a/src/frontend/src/assets/flags/SI.svg b/src/frontend/assets/flags/SI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SI.svg
rename to src/frontend/assets/flags/SI.svg
diff --git a/src/frontend/src/assets/flags/SJ.svg b/src/frontend/assets/flags/SJ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SJ.svg
rename to src/frontend/assets/flags/SJ.svg
diff --git a/src/frontend/src/assets/flags/SK.svg b/src/frontend/assets/flags/SK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SK.svg
rename to src/frontend/assets/flags/SK.svg
diff --git a/src/frontend/src/assets/flags/SL.svg b/src/frontend/assets/flags/SL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SL.svg
rename to src/frontend/assets/flags/SL.svg
diff --git a/src/frontend/src/assets/flags/SM.svg b/src/frontend/assets/flags/SM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SM.svg
rename to src/frontend/assets/flags/SM.svg
diff --git a/src/frontend/src/assets/flags/SN.svg b/src/frontend/assets/flags/SN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SN.svg
rename to src/frontend/assets/flags/SN.svg
diff --git a/src/frontend/src/assets/flags/SO.svg b/src/frontend/assets/flags/SO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SO.svg
rename to src/frontend/assets/flags/SO.svg
diff --git a/src/frontend/src/assets/flags/SR.svg b/src/frontend/assets/flags/SR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SR.svg
rename to src/frontend/assets/flags/SR.svg
diff --git a/src/frontend/src/assets/flags/SS.svg b/src/frontend/assets/flags/SS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SS.svg
rename to src/frontend/assets/flags/SS.svg
diff --git a/src/frontend/src/assets/flags/ST.svg b/src/frontend/assets/flags/ST.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ST.svg
rename to src/frontend/assets/flags/ST.svg
diff --git a/src/frontend/src/assets/flags/SV.svg b/src/frontend/assets/flags/SV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SV.svg
rename to src/frontend/assets/flags/SV.svg
diff --git a/src/frontend/src/assets/flags/SX.svg b/src/frontend/assets/flags/SX.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SX.svg
rename to src/frontend/assets/flags/SX.svg
diff --git a/src/frontend/src/assets/flags/SY.svg b/src/frontend/assets/flags/SY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SY.svg
rename to src/frontend/assets/flags/SY.svg
diff --git a/src/frontend/src/assets/flags/SZ.svg b/src/frontend/assets/flags/SZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/SZ.svg
rename to src/frontend/assets/flags/SZ.svg
diff --git a/src/frontend/src/assets/flags/TC.svg b/src/frontend/assets/flags/TC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TC.svg
rename to src/frontend/assets/flags/TC.svg
diff --git a/src/frontend/src/assets/flags/TD.svg b/src/frontend/assets/flags/TD.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TD.svg
rename to src/frontend/assets/flags/TD.svg
diff --git a/src/frontend/src/assets/flags/TF.svg b/src/frontend/assets/flags/TF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TF.svg
rename to src/frontend/assets/flags/TF.svg
diff --git a/src/frontend/src/assets/flags/TG.svg b/src/frontend/assets/flags/TG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TG.svg
rename to src/frontend/assets/flags/TG.svg
diff --git a/src/frontend/src/assets/flags/TH.svg b/src/frontend/assets/flags/TH.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TH.svg
rename to src/frontend/assets/flags/TH.svg
diff --git a/src/frontend/src/assets/flags/TJ.svg b/src/frontend/assets/flags/TJ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TJ.svg
rename to src/frontend/assets/flags/TJ.svg
diff --git a/src/frontend/src/assets/flags/TK.svg b/src/frontend/assets/flags/TK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TK.svg
rename to src/frontend/assets/flags/TK.svg
diff --git a/src/frontend/src/assets/flags/TL.svg b/src/frontend/assets/flags/TL.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TL.svg
rename to src/frontend/assets/flags/TL.svg
diff --git a/src/frontend/src/assets/flags/TM.svg b/src/frontend/assets/flags/TM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TM.svg
rename to src/frontend/assets/flags/TM.svg
diff --git a/src/frontend/src/assets/flags/TN.svg b/src/frontend/assets/flags/TN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TN.svg
rename to src/frontend/assets/flags/TN.svg
diff --git a/src/frontend/src/assets/flags/TO.svg b/src/frontend/assets/flags/TO.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TO.svg
rename to src/frontend/assets/flags/TO.svg
diff --git a/src/frontend/src/assets/flags/TR.svg b/src/frontend/assets/flags/TR.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TR.svg
rename to src/frontend/assets/flags/TR.svg
diff --git a/src/frontend/src/assets/flags/TT.svg b/src/frontend/assets/flags/TT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TT.svg
rename to src/frontend/assets/flags/TT.svg
diff --git a/src/frontend/src/assets/flags/TV.svg b/src/frontend/assets/flags/TV.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TV.svg
rename to src/frontend/assets/flags/TV.svg
diff --git a/src/frontend/src/assets/flags/TW.svg b/src/frontend/assets/flags/TW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TW.svg
rename to src/frontend/assets/flags/TW.svg
diff --git a/src/frontend/src/assets/flags/TZ.svg b/src/frontend/assets/flags/TZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/TZ.svg
rename to src/frontend/assets/flags/TZ.svg
diff --git a/src/frontend/src/assets/flags/UA.svg b/src/frontend/assets/flags/UA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/UA.svg
rename to src/frontend/assets/flags/UA.svg
diff --git a/src/frontend/src/assets/flags/UG.svg b/src/frontend/assets/flags/UG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/UG.svg
rename to src/frontend/assets/flags/UG.svg
diff --git a/src/frontend/src/assets/flags/UM.svg b/src/frontend/assets/flags/UM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/UM.svg
rename to src/frontend/assets/flags/UM.svg
diff --git a/src/frontend/src/assets/flags/US.svg b/src/frontend/assets/flags/US.svg
similarity index 100%
rename from src/frontend/src/assets/flags/US.svg
rename to src/frontend/assets/flags/US.svg
diff --git a/src/frontend/src/assets/flags/UY.svg b/src/frontend/assets/flags/UY.svg
similarity index 100%
rename from src/frontend/src/assets/flags/UY.svg
rename to src/frontend/assets/flags/UY.svg
diff --git a/src/frontend/src/assets/flags/UZ.svg b/src/frontend/assets/flags/UZ.svg
similarity index 100%
rename from src/frontend/src/assets/flags/UZ.svg
rename to src/frontend/assets/flags/UZ.svg
diff --git a/src/frontend/src/assets/flags/VA.svg b/src/frontend/assets/flags/VA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VA.svg
rename to src/frontend/assets/flags/VA.svg
diff --git a/src/frontend/src/assets/flags/VC.svg b/src/frontend/assets/flags/VC.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VC.svg
rename to src/frontend/assets/flags/VC.svg
diff --git a/src/frontend/src/assets/flags/VE.svg b/src/frontend/assets/flags/VE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VE.svg
rename to src/frontend/assets/flags/VE.svg
diff --git a/src/frontend/src/assets/flags/VG.svg b/src/frontend/assets/flags/VG.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VG.svg
rename to src/frontend/assets/flags/VG.svg
diff --git a/src/frontend/src/assets/flags/VI.svg b/src/frontend/assets/flags/VI.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VI.svg
rename to src/frontend/assets/flags/VI.svg
diff --git a/src/frontend/src/assets/flags/VN.svg b/src/frontend/assets/flags/VN.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VN.svg
rename to src/frontend/assets/flags/VN.svg
diff --git a/src/frontend/src/assets/flags/VU.svg b/src/frontend/assets/flags/VU.svg
similarity index 100%
rename from src/frontend/src/assets/flags/VU.svg
rename to src/frontend/assets/flags/VU.svg
diff --git a/src/frontend/src/assets/flags/WF.svg b/src/frontend/assets/flags/WF.svg
similarity index 100%
rename from src/frontend/src/assets/flags/WF.svg
rename to src/frontend/assets/flags/WF.svg
diff --git a/src/frontend/src/assets/flags/WS.svg b/src/frontend/assets/flags/WS.svg
similarity index 100%
rename from src/frontend/src/assets/flags/WS.svg
rename to src/frontend/assets/flags/WS.svg
diff --git a/src/frontend/src/assets/flags/XK.svg b/src/frontend/assets/flags/XK.svg
similarity index 100%
rename from src/frontend/src/assets/flags/XK.svg
rename to src/frontend/assets/flags/XK.svg
diff --git a/src/frontend/src/assets/flags/YE.svg b/src/frontend/assets/flags/YE.svg
similarity index 100%
rename from src/frontend/src/assets/flags/YE.svg
rename to src/frontend/assets/flags/YE.svg
diff --git a/src/frontend/src/assets/flags/YT.svg b/src/frontend/assets/flags/YT.svg
similarity index 100%
rename from src/frontend/src/assets/flags/YT.svg
rename to src/frontend/assets/flags/YT.svg
diff --git a/src/frontend/src/assets/flags/ZA.svg b/src/frontend/assets/flags/ZA.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ZA.svg
rename to src/frontend/assets/flags/ZA.svg
diff --git a/src/frontend/src/assets/flags/ZM.svg b/src/frontend/assets/flags/ZM.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ZM.svg
rename to src/frontend/assets/flags/ZM.svg
diff --git a/src/frontend/src/assets/flags/ZW.svg b/src/frontend/assets/flags/ZW.svg
similarity index 100%
rename from src/frontend/src/assets/flags/ZW.svg
rename to src/frontend/assets/flags/ZW.svg
diff --git a/src/frontend/src/assets/logo.svg b/src/frontend/assets/logo.svg
similarity index 100%
rename from src/frontend/src/assets/logo.svg
rename to src/frontend/assets/logo.svg
diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json
index 1880b8e..687924b 100644
--- a/src/frontend/package-lock.json
+++ b/src/frontend/package-lock.json
@@ -13,6 +13,7 @@
"chart.js": "^4.5.0",
"loglevel": "^1.9.2",
"pinia": "^3.0.3",
+ "vite-plugin-static-copy": "^3.1.3",
"vue": "^3.5.18",
"vue-chartjs": "^5.3.2",
"vue-router": "^4.5.1"
@@ -71,6 +72,7 @@
"integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
@@ -502,7 +504,6 @@
"cpu": [
"ppc64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -519,7 +520,6 @@
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -536,7 +536,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -553,7 +552,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -570,7 +568,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -587,7 +584,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -604,7 +600,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -621,7 +616,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -638,7 +632,6 @@
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -655,7 +648,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -672,7 +664,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -689,7 +680,6 @@
"cpu": [
"loong64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -706,7 +696,6 @@
"cpu": [
"mips64el"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -723,7 +712,6 @@
"cpu": [
"ppc64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -740,7 +728,6 @@
"cpu": [
"riscv64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -757,7 +744,6 @@
"cpu": [
"s390x"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -774,7 +760,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -791,7 +776,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -808,7 +792,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -825,7 +808,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -842,7 +824,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -859,7 +840,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -876,7 +856,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -893,7 +872,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -910,7 +888,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -927,7 +904,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1014,7 +990,6 @@
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1028,7 +1003,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1042,7 +1016,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1056,7 +1029,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1070,7 +1042,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1084,7 +1055,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1098,7 +1068,6 @@
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1112,7 +1081,6 @@
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1126,7 +1094,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1140,7 +1107,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1154,7 +1120,6 @@
"cpu": [
"loong64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1168,7 +1133,6 @@
"cpu": [
"ppc64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1182,7 +1146,6 @@
"cpu": [
"riscv64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1196,7 +1159,6 @@
"cpu": [
"riscv64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1210,7 +1172,6 @@
"cpu": [
"s390x"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1224,7 +1185,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1238,7 +1198,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1252,7 +1211,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1266,7 +1224,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1280,7 +1237,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1294,7 +1250,6 @@
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1325,7 +1280,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/web-bluetooth": {
@@ -1648,6 +1602,43 @@
"node": ">=14"
}
},
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/birpc": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/birpc/-/birpc-2.5.0.tgz",
@@ -1657,6 +1648,18 @@
"url": "https://github.com/sponsors/antfu"
}
},
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/browserslist": {
"version": "4.25.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz",
@@ -1677,6 +1680,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"caniuse-lite": "^1.0.30001737",
"electron-to-chromium": "^1.5.211",
@@ -1732,6 +1736,7 @@
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz",
"integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@kurkle/color": "^0.3.0"
},
@@ -1739,6 +1744,30 @@
"pnpm": ">=8"
}
},
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
@@ -1876,7 +1905,6 @@
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
"integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
- "dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -1961,7 +1989,6 @@
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=12.0.0"
@@ -1991,11 +2018,36 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
@@ -2033,6 +2085,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "license": "ISC"
+ },
"node_modules/hookable": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
@@ -2049,6 +2119,18 @@
"node": ">=18.18.0"
}
},
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-docker": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
@@ -2065,6 +2147,27 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-inside-container": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -2084,6 +2187,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
@@ -2191,6 +2303,18 @@
"node": ">=6"
}
},
+ "node_modules/jsonfile": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
+ "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
"node_modules/kolorist": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz",
@@ -2278,6 +2402,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/npm-run-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
@@ -2334,6 +2467,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/p-map": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
+ "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/parse-ms": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
@@ -2380,7 +2525,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -2454,6 +2598,30 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readdirp/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/rfdc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
@@ -2464,7 +2632,6 @@
"version": "4.50.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.0.tgz",
"integrity": "sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.8"
@@ -2619,14 +2786,13 @@
}
},
"node_modules/tinyglobby": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
- "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
- "dev": true,
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"license": "MIT",
"dependencies": {
- "fdir": "^6.4.4",
- "picomatch": "^4.0.2"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
"node": ">=12.0.0"
@@ -2635,6 +2801,18 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
"node_modules/totalist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
@@ -2658,6 +2836,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/unplugin-utils": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.0.tgz",
@@ -2710,8 +2897,8 @@
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.4.tgz",
"integrity": "sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw==",
- "dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@@ -2850,6 +3037,25 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/vite-plugin-static-copy": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-3.1.3.tgz",
+ "integrity": "sha512-U47jgyoJfrvreF87u2udU6dHIXbHhdgGZ7wSEqn6nVHKDOMdRoB2uVc6iqxbEzENN5JvX6djE5cBhQZ2MMBclA==",
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": "^3.6.0",
+ "fs-extra": "^11.3.2",
+ "p-map": "^7.0.3",
+ "picocolors": "^1.1.1",
+ "tinyglobby": "^0.2.15"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
"node_modules/vite-plugin-vue-devtools": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.1.tgz",
@@ -2924,6 +3130,7 @@
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.21.tgz",
"integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@vue/compiler-dom": "3.5.21",
"@vue/compiler-sfc": "3.5.21",
diff --git a/src/frontend/package.json b/src/frontend/package.json
index d8f95d1..f6d0659 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -17,6 +17,7 @@
"chart.js": "^4.5.0",
"loglevel": "^1.9.2",
"pinia": "^3.0.3",
+ "vite-plugin-static-copy": "^3.1.3",
"vue": "^3.5.18",
"vue-chartjs": "^5.3.2",
"vue-router": "^4.5.1"
diff --git a/src/frontend/src/components/UI/Flag.vue b/src/frontend/src/components/UI/Flag.vue
index 8efffd6..7d284a6 100644
--- a/src/frontend/src/components/UI/Flag.vue
+++ b/src/frontend/src/components/UI/Flag.vue
@@ -29,7 +29,7 @@ export default {
name: "Flag",
computed: {
path() {
- return `/src/assets/flags/${this.iso}.svg`;
+ return `/assets/flags/${this.iso}.svg`;
},
flagSizeClass() {
return `flag-${this.size}`;
diff --git a/src/frontend/src/components/layout/TheHeader.vue b/src/frontend/src/components/layout/TheHeader.vue
index 198bb93..02000f1 100644
--- a/src/frontend/src/components/layout/TheHeader.vue
+++ b/src/frontend/src/components/layout/TheHeader.vue
@@ -1,6 +1,6 @@
-
+