diff --git a/.gitignore b/.gitignore index ca77e71239..0625ef950f 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ doc/api/ # FVM Version Cache .fvm/ + +# VS Code +.vscode/ diff --git a/assets/images/fide-fed/AFG.png b/assets/images/fide-fed/AFG.png new file mode 100644 index 0000000000..c8a7005e40 Binary files /dev/null and b/assets/images/fide-fed/AFG.png differ diff --git a/assets/images/fide-fed/AHO.png b/assets/images/fide-fed/AHO.png new file mode 100644 index 0000000000..819b66da07 Binary files /dev/null and b/assets/images/fide-fed/AHO.png differ diff --git a/assets/images/fide-fed/ALB.png b/assets/images/fide-fed/ALB.png new file mode 100644 index 0000000000..c7be70dc01 Binary files /dev/null and b/assets/images/fide-fed/ALB.png differ diff --git a/assets/images/fide-fed/ALG.png b/assets/images/fide-fed/ALG.png new file mode 100644 index 0000000000..9adce557cc Binary files /dev/null and b/assets/images/fide-fed/ALG.png differ diff --git a/assets/images/fide-fed/AND.png b/assets/images/fide-fed/AND.png new file mode 100644 index 0000000000..fd2f7d4804 Binary files /dev/null and b/assets/images/fide-fed/AND.png differ diff --git a/assets/images/fide-fed/ANG.png b/assets/images/fide-fed/ANG.png new file mode 100644 index 0000000000..3ed31cb922 Binary files /dev/null and b/assets/images/fide-fed/ANG.png differ diff --git a/assets/images/fide-fed/ANT.png b/assets/images/fide-fed/ANT.png new file mode 100644 index 0000000000..3c26640b7d Binary files /dev/null and b/assets/images/fide-fed/ANT.png differ diff --git a/assets/images/fide-fed/ARG.png b/assets/images/fide-fed/ARG.png new file mode 100644 index 0000000000..fe9e946829 Binary files /dev/null and b/assets/images/fide-fed/ARG.png differ diff --git a/assets/images/fide-fed/ARM.png b/assets/images/fide-fed/ARM.png new file mode 100644 index 0000000000..a08aefafd7 Binary files /dev/null and b/assets/images/fide-fed/ARM.png differ diff --git a/assets/images/fide-fed/ARU.png b/assets/images/fide-fed/ARU.png new file mode 100644 index 0000000000..fd8df3a8d4 Binary files /dev/null and b/assets/images/fide-fed/ARU.png differ diff --git a/assets/images/fide-fed/AUS.png b/assets/images/fide-fed/AUS.png new file mode 100644 index 0000000000..c5ab755e48 Binary files /dev/null and b/assets/images/fide-fed/AUS.png differ diff --git a/assets/images/fide-fed/AUT.png b/assets/images/fide-fed/AUT.png new file mode 100644 index 0000000000..b84713cea5 Binary files /dev/null and b/assets/images/fide-fed/AUT.png differ diff --git a/assets/images/fide-fed/AZE.png b/assets/images/fide-fed/AZE.png new file mode 100644 index 0000000000..1cc78ac19c Binary files /dev/null and b/assets/images/fide-fed/AZE.png differ diff --git a/assets/images/fide-fed/BAH.png b/assets/images/fide-fed/BAH.png new file mode 100644 index 0000000000..431ca8acfb Binary files /dev/null and b/assets/images/fide-fed/BAH.png differ diff --git a/assets/images/fide-fed/BAN.png b/assets/images/fide-fed/BAN.png new file mode 100644 index 0000000000..d11ce55900 Binary files /dev/null and b/assets/images/fide-fed/BAN.png differ diff --git a/assets/images/fide-fed/BAR.png b/assets/images/fide-fed/BAR.png new file mode 100644 index 0000000000..e7f0df4882 Binary files /dev/null and b/assets/images/fide-fed/BAR.png differ diff --git a/assets/images/fide-fed/BDI.png b/assets/images/fide-fed/BDI.png new file mode 100644 index 0000000000..0411b99d14 Binary files /dev/null and b/assets/images/fide-fed/BDI.png differ diff --git a/assets/images/fide-fed/BEL.png b/assets/images/fide-fed/BEL.png new file mode 100644 index 0000000000..80422e766a Binary files /dev/null and b/assets/images/fide-fed/BEL.png differ diff --git a/assets/images/fide-fed/BER.png b/assets/images/fide-fed/BER.png new file mode 100644 index 0000000000..4f05b1dbfe Binary files /dev/null and b/assets/images/fide-fed/BER.png differ diff --git a/assets/images/fide-fed/BHU.png b/assets/images/fide-fed/BHU.png new file mode 100644 index 0000000000..be5f4acfa2 Binary files /dev/null and b/assets/images/fide-fed/BHU.png differ diff --git a/assets/images/fide-fed/BIH.png b/assets/images/fide-fed/BIH.png new file mode 100644 index 0000000000..92b805db9a Binary files /dev/null and b/assets/images/fide-fed/BIH.png differ diff --git a/assets/images/fide-fed/BIZ.png b/assets/images/fide-fed/BIZ.png new file mode 100644 index 0000000000..000bf146a4 Binary files /dev/null and b/assets/images/fide-fed/BIZ.png differ diff --git a/assets/images/fide-fed/BLR.png b/assets/images/fide-fed/BLR.png new file mode 100644 index 0000000000..cc87102a65 Binary files /dev/null and b/assets/images/fide-fed/BLR.png differ diff --git a/assets/images/fide-fed/BOL.png b/assets/images/fide-fed/BOL.png new file mode 100644 index 0000000000..6335fab640 Binary files /dev/null and b/assets/images/fide-fed/BOL.png differ diff --git a/assets/images/fide-fed/BOT.png b/assets/images/fide-fed/BOT.png new file mode 100644 index 0000000000..05eead0171 Binary files /dev/null and b/assets/images/fide-fed/BOT.png differ diff --git a/assets/images/fide-fed/BRA.png b/assets/images/fide-fed/BRA.png new file mode 100644 index 0000000000..3fdab925af Binary files /dev/null and b/assets/images/fide-fed/BRA.png differ diff --git a/assets/images/fide-fed/BRN.png b/assets/images/fide-fed/BRN.png new file mode 100644 index 0000000000..680c53237c Binary files /dev/null and b/assets/images/fide-fed/BRN.png differ diff --git a/assets/images/fide-fed/BRU.png b/assets/images/fide-fed/BRU.png new file mode 100644 index 0000000000..88a5cec650 Binary files /dev/null and b/assets/images/fide-fed/BRU.png differ diff --git a/assets/images/fide-fed/BUL.png b/assets/images/fide-fed/BUL.png new file mode 100644 index 0000000000..b8af81b6d7 Binary files /dev/null and b/assets/images/fide-fed/BUL.png differ diff --git a/assets/images/fide-fed/BUR.png b/assets/images/fide-fed/BUR.png new file mode 100644 index 0000000000..90835deec9 Binary files /dev/null and b/assets/images/fide-fed/BUR.png differ diff --git a/assets/images/fide-fed/CAF.png b/assets/images/fide-fed/CAF.png new file mode 100644 index 0000000000..5474902fd4 Binary files /dev/null and b/assets/images/fide-fed/CAF.png differ diff --git a/assets/images/fide-fed/CAM.png b/assets/images/fide-fed/CAM.png new file mode 100644 index 0000000000..e8f8d84187 Binary files /dev/null and b/assets/images/fide-fed/CAM.png differ diff --git a/assets/images/fide-fed/CAN.png b/assets/images/fide-fed/CAN.png new file mode 100644 index 0000000000..376801d059 Binary files /dev/null and b/assets/images/fide-fed/CAN.png differ diff --git a/assets/images/fide-fed/CAY.png b/assets/images/fide-fed/CAY.png new file mode 100644 index 0000000000..89612f0cff Binary files /dev/null and b/assets/images/fide-fed/CAY.png differ diff --git a/assets/images/fide-fed/CHA.png b/assets/images/fide-fed/CHA.png new file mode 100644 index 0000000000..281eca2d7c Binary files /dev/null and b/assets/images/fide-fed/CHA.png differ diff --git a/assets/images/fide-fed/CHI.png b/assets/images/fide-fed/CHI.png new file mode 100644 index 0000000000..8bd17f2780 Binary files /dev/null and b/assets/images/fide-fed/CHI.png differ diff --git a/assets/images/fide-fed/CHN.png b/assets/images/fide-fed/CHN.png new file mode 100644 index 0000000000..47f623d664 Binary files /dev/null and b/assets/images/fide-fed/CHN.png differ diff --git a/assets/images/fide-fed/CIV.png b/assets/images/fide-fed/CIV.png new file mode 100644 index 0000000000..d59c2ce96e Binary files /dev/null and b/assets/images/fide-fed/CIV.png differ diff --git a/assets/images/fide-fed/CMR.png b/assets/images/fide-fed/CMR.png new file mode 100644 index 0000000000..4e44a591a7 Binary files /dev/null and b/assets/images/fide-fed/CMR.png differ diff --git a/assets/images/fide-fed/COD.png b/assets/images/fide-fed/COD.png new file mode 100644 index 0000000000..3339a170d8 Binary files /dev/null and b/assets/images/fide-fed/COD.png differ diff --git a/assets/images/fide-fed/COL.png b/assets/images/fide-fed/COL.png new file mode 100644 index 0000000000..38c890d744 Binary files /dev/null and b/assets/images/fide-fed/COL.png differ diff --git a/assets/images/fide-fed/COM.png b/assets/images/fide-fed/COM.png new file mode 100644 index 0000000000..67d9023f06 Binary files /dev/null and b/assets/images/fide-fed/COM.png differ diff --git a/assets/images/fide-fed/CPV.png b/assets/images/fide-fed/CPV.png new file mode 100644 index 0000000000..a294b11a84 Binary files /dev/null and b/assets/images/fide-fed/CPV.png differ diff --git a/assets/images/fide-fed/CRC.png b/assets/images/fide-fed/CRC.png new file mode 100644 index 0000000000..fff60173bf Binary files /dev/null and b/assets/images/fide-fed/CRC.png differ diff --git a/assets/images/fide-fed/CRO.png b/assets/images/fide-fed/CRO.png new file mode 100644 index 0000000000..faf263b2f2 Binary files /dev/null and b/assets/images/fide-fed/CRO.png differ diff --git a/assets/images/fide-fed/CUB.png b/assets/images/fide-fed/CUB.png new file mode 100644 index 0000000000..cb25d66e95 Binary files /dev/null and b/assets/images/fide-fed/CUB.png differ diff --git a/assets/images/fide-fed/CYP.png b/assets/images/fide-fed/CYP.png new file mode 100644 index 0000000000..61a28aa9c5 Binary files /dev/null and b/assets/images/fide-fed/CYP.png differ diff --git a/assets/images/fide-fed/CZE.png b/assets/images/fide-fed/CZE.png new file mode 100644 index 0000000000..42f4f7dc6b Binary files /dev/null and b/assets/images/fide-fed/CZE.png differ diff --git a/assets/images/fide-fed/DEN.png b/assets/images/fide-fed/DEN.png new file mode 100644 index 0000000000..43912e8e84 Binary files /dev/null and b/assets/images/fide-fed/DEN.png differ diff --git a/assets/images/fide-fed/DJI.png b/assets/images/fide-fed/DJI.png new file mode 100644 index 0000000000..0a29d21f2e Binary files /dev/null and b/assets/images/fide-fed/DJI.png differ diff --git a/assets/images/fide-fed/DMA.png b/assets/images/fide-fed/DMA.png new file mode 100644 index 0000000000..90a61bad31 Binary files /dev/null and b/assets/images/fide-fed/DMA.png differ diff --git a/assets/images/fide-fed/DOM.png b/assets/images/fide-fed/DOM.png new file mode 100644 index 0000000000..b2917eab7e Binary files /dev/null and b/assets/images/fide-fed/DOM.png differ diff --git a/assets/images/fide-fed/ECU.png b/assets/images/fide-fed/ECU.png new file mode 100644 index 0000000000..e3662e038b Binary files /dev/null and b/assets/images/fide-fed/ECU.png differ diff --git a/assets/images/fide-fed/EGY.png b/assets/images/fide-fed/EGY.png new file mode 100644 index 0000000000..5ad1d5dd00 Binary files /dev/null and b/assets/images/fide-fed/EGY.png differ diff --git a/assets/images/fide-fed/ENG.png b/assets/images/fide-fed/ENG.png new file mode 100644 index 0000000000..626793a3cf Binary files /dev/null and b/assets/images/fide-fed/ENG.png differ diff --git a/assets/images/fide-fed/ERI.png b/assets/images/fide-fed/ERI.png new file mode 100644 index 0000000000..04bd3de493 Binary files /dev/null and b/assets/images/fide-fed/ERI.png differ diff --git a/assets/images/fide-fed/ESA.png b/assets/images/fide-fed/ESA.png new file mode 100644 index 0000000000..84ed17a1ac Binary files /dev/null and b/assets/images/fide-fed/ESA.png differ diff --git a/assets/images/fide-fed/ESP.png b/assets/images/fide-fed/ESP.png new file mode 100644 index 0000000000..2032276732 Binary files /dev/null and b/assets/images/fide-fed/ESP.png differ diff --git a/assets/images/fide-fed/EST.png b/assets/images/fide-fed/EST.png new file mode 100644 index 0000000000..8bc918f98b Binary files /dev/null and b/assets/images/fide-fed/EST.png differ diff --git a/assets/images/fide-fed/ETH.png b/assets/images/fide-fed/ETH.png new file mode 100644 index 0000000000..56361d8041 Binary files /dev/null and b/assets/images/fide-fed/ETH.png differ diff --git a/assets/images/fide-fed/FAI.png b/assets/images/fide-fed/FAI.png new file mode 100644 index 0000000000..7dc2ac3aa2 Binary files /dev/null and b/assets/images/fide-fed/FAI.png differ diff --git a/assets/images/fide-fed/FID.png b/assets/images/fide-fed/FID.png new file mode 100644 index 0000000000..ac0a1bee02 Binary files /dev/null and b/assets/images/fide-fed/FID.png differ diff --git a/assets/images/fide-fed/FIJ.png b/assets/images/fide-fed/FIJ.png new file mode 100644 index 0000000000..738282ac2c Binary files /dev/null and b/assets/images/fide-fed/FIJ.png differ diff --git a/assets/images/fide-fed/FIN.png b/assets/images/fide-fed/FIN.png new file mode 100644 index 0000000000..ea639f4cb8 Binary files /dev/null and b/assets/images/fide-fed/FIN.png differ diff --git a/assets/images/fide-fed/FRA.png b/assets/images/fide-fed/FRA.png new file mode 100644 index 0000000000..25b3d3368c Binary files /dev/null and b/assets/images/fide-fed/FRA.png differ diff --git a/assets/images/fide-fed/GAB.png b/assets/images/fide-fed/GAB.png new file mode 100644 index 0000000000..350963bee9 Binary files /dev/null and b/assets/images/fide-fed/GAB.png differ diff --git a/assets/images/fide-fed/GAM.png b/assets/images/fide-fed/GAM.png new file mode 100644 index 0000000000..1f7eea0796 Binary files /dev/null and b/assets/images/fide-fed/GAM.png differ diff --git a/assets/images/fide-fed/GCI.png b/assets/images/fide-fed/GCI.png new file mode 100644 index 0000000000..0b7788d4b8 Binary files /dev/null and b/assets/images/fide-fed/GCI.png differ diff --git a/assets/images/fide-fed/GEO.png b/assets/images/fide-fed/GEO.png new file mode 100644 index 0000000000..ccf4c640da Binary files /dev/null and b/assets/images/fide-fed/GEO.png differ diff --git a/assets/images/fide-fed/GEQ.png b/assets/images/fide-fed/GEQ.png new file mode 100644 index 0000000000..e770ebf7b8 Binary files /dev/null and b/assets/images/fide-fed/GEQ.png differ diff --git a/assets/images/fide-fed/GER.png b/assets/images/fide-fed/GER.png new file mode 100644 index 0000000000..0f9d5a0369 Binary files /dev/null and b/assets/images/fide-fed/GER.png differ diff --git a/assets/images/fide-fed/GHA.png b/assets/images/fide-fed/GHA.png new file mode 100644 index 0000000000..fbd57bf515 Binary files /dev/null and b/assets/images/fide-fed/GHA.png differ diff --git a/assets/images/fide-fed/GRE.png b/assets/images/fide-fed/GRE.png new file mode 100644 index 0000000000..84bfae716a Binary files /dev/null and b/assets/images/fide-fed/GRE.png differ diff --git a/assets/images/fide-fed/GRN.png b/assets/images/fide-fed/GRN.png new file mode 100644 index 0000000000..f162e5b157 Binary files /dev/null and b/assets/images/fide-fed/GRN.png differ diff --git a/assets/images/fide-fed/GUA.png b/assets/images/fide-fed/GUA.png new file mode 100644 index 0000000000..9ded98238b Binary files /dev/null and b/assets/images/fide-fed/GUA.png differ diff --git a/assets/images/fide-fed/GUM.png b/assets/images/fide-fed/GUM.png new file mode 100644 index 0000000000..eebcd75fb2 Binary files /dev/null and b/assets/images/fide-fed/GUM.png differ diff --git a/assets/images/fide-fed/GUY.png b/assets/images/fide-fed/GUY.png new file mode 100644 index 0000000000..8ab03d3b97 Binary files /dev/null and b/assets/images/fide-fed/GUY.png differ diff --git a/assets/images/fide-fed/HAI.png b/assets/images/fide-fed/HAI.png new file mode 100644 index 0000000000..1ae857ea54 Binary files /dev/null and b/assets/images/fide-fed/HAI.png differ diff --git a/assets/images/fide-fed/HKG.png b/assets/images/fide-fed/HKG.png new file mode 100644 index 0000000000..8d05655c25 Binary files /dev/null and b/assets/images/fide-fed/HKG.png differ diff --git a/assets/images/fide-fed/HON.png b/assets/images/fide-fed/HON.png new file mode 100644 index 0000000000..afe4a38f9a Binary files /dev/null and b/assets/images/fide-fed/HON.png differ diff --git a/assets/images/fide-fed/HUN.png b/assets/images/fide-fed/HUN.png new file mode 100644 index 0000000000..c8d60ec6b0 Binary files /dev/null and b/assets/images/fide-fed/HUN.png differ diff --git a/assets/images/fide-fed/INA.png b/assets/images/fide-fed/INA.png new file mode 100644 index 0000000000..790d711d8d Binary files /dev/null and b/assets/images/fide-fed/INA.png differ diff --git a/assets/images/fide-fed/IND.png b/assets/images/fide-fed/IND.png new file mode 100644 index 0000000000..d5fa3a810d Binary files /dev/null and b/assets/images/fide-fed/IND.png differ diff --git a/assets/images/fide-fed/IOM.png b/assets/images/fide-fed/IOM.png new file mode 100644 index 0000000000..5aea22623f Binary files /dev/null and b/assets/images/fide-fed/IOM.png differ diff --git a/assets/images/fide-fed/IRI.png b/assets/images/fide-fed/IRI.png new file mode 100644 index 0000000000..fee14e1eda Binary files /dev/null and b/assets/images/fide-fed/IRI.png differ diff --git a/assets/images/fide-fed/IRL.png b/assets/images/fide-fed/IRL.png new file mode 100644 index 0000000000..57078f02a2 Binary files /dev/null and b/assets/images/fide-fed/IRL.png differ diff --git a/assets/images/fide-fed/IRQ.png b/assets/images/fide-fed/IRQ.png new file mode 100644 index 0000000000..53619bb3ef Binary files /dev/null and b/assets/images/fide-fed/IRQ.png differ diff --git a/assets/images/fide-fed/ISL.png b/assets/images/fide-fed/ISL.png new file mode 100644 index 0000000000..e296c3c9a7 Binary files /dev/null and b/assets/images/fide-fed/ISL.png differ diff --git a/assets/images/fide-fed/ISR.png b/assets/images/fide-fed/ISR.png new file mode 100644 index 0000000000..1fecb98023 Binary files /dev/null and b/assets/images/fide-fed/ISR.png differ diff --git a/assets/images/fide-fed/ISV.png b/assets/images/fide-fed/ISV.png new file mode 100644 index 0000000000..907703be7c Binary files /dev/null and b/assets/images/fide-fed/ISV.png differ diff --git a/assets/images/fide-fed/ITA.png b/assets/images/fide-fed/ITA.png new file mode 100644 index 0000000000..f250cb068a Binary files /dev/null and b/assets/images/fide-fed/ITA.png differ diff --git a/assets/images/fide-fed/IVB.png b/assets/images/fide-fed/IVB.png new file mode 100644 index 0000000000..ca02273a6f Binary files /dev/null and b/assets/images/fide-fed/IVB.png differ diff --git a/assets/images/fide-fed/JAM.png b/assets/images/fide-fed/JAM.png new file mode 100644 index 0000000000..ab65c2d32d Binary files /dev/null and b/assets/images/fide-fed/JAM.png differ diff --git a/assets/images/fide-fed/JCI.png b/assets/images/fide-fed/JCI.png new file mode 100644 index 0000000000..427fa1ac03 Binary files /dev/null and b/assets/images/fide-fed/JCI.png differ diff --git a/assets/images/fide-fed/JOR.png b/assets/images/fide-fed/JOR.png new file mode 100644 index 0000000000..2d54302439 Binary files /dev/null and b/assets/images/fide-fed/JOR.png differ diff --git a/assets/images/fide-fed/JPN.png b/assets/images/fide-fed/JPN.png new file mode 100644 index 0000000000..d0b941649c Binary files /dev/null and b/assets/images/fide-fed/JPN.png differ diff --git a/assets/images/fide-fed/KAZ.png b/assets/images/fide-fed/KAZ.png new file mode 100644 index 0000000000..8bce39af9f Binary files /dev/null and b/assets/images/fide-fed/KAZ.png differ diff --git a/assets/images/fide-fed/KEN.png b/assets/images/fide-fed/KEN.png new file mode 100644 index 0000000000..4ac40e7f82 Binary files /dev/null and b/assets/images/fide-fed/KEN.png differ diff --git a/assets/images/fide-fed/KGZ.png b/assets/images/fide-fed/KGZ.png new file mode 100644 index 0000000000..cde59d53ac Binary files /dev/null and b/assets/images/fide-fed/KGZ.png differ diff --git a/assets/images/fide-fed/KOR.png b/assets/images/fide-fed/KOR.png new file mode 100644 index 0000000000..52baf8dfd6 Binary files /dev/null and b/assets/images/fide-fed/KOR.png differ diff --git a/assets/images/fide-fed/KOS.png b/assets/images/fide-fed/KOS.png new file mode 100644 index 0000000000..cd8a9ca0d2 Binary files /dev/null and b/assets/images/fide-fed/KOS.png differ diff --git a/assets/images/fide-fed/KSA.png b/assets/images/fide-fed/KSA.png new file mode 100644 index 0000000000..9881dc9dbc Binary files /dev/null and b/assets/images/fide-fed/KSA.png differ diff --git a/assets/images/fide-fed/KUW.png b/assets/images/fide-fed/KUW.png new file mode 100644 index 0000000000..806d8c6282 Binary files /dev/null and b/assets/images/fide-fed/KUW.png differ diff --git a/assets/images/fide-fed/LAO.png b/assets/images/fide-fed/LAO.png new file mode 100644 index 0000000000..a17f66bce0 Binary files /dev/null and b/assets/images/fide-fed/LAO.png differ diff --git a/assets/images/fide-fed/LAT.png b/assets/images/fide-fed/LAT.png new file mode 100644 index 0000000000..5c51383708 Binary files /dev/null and b/assets/images/fide-fed/LAT.png differ diff --git a/assets/images/fide-fed/LBA.png b/assets/images/fide-fed/LBA.png new file mode 100644 index 0000000000..771b53c2fc Binary files /dev/null and b/assets/images/fide-fed/LBA.png differ diff --git a/assets/images/fide-fed/LBN.png b/assets/images/fide-fed/LBN.png new file mode 100644 index 0000000000..71fb1f6429 Binary files /dev/null and b/assets/images/fide-fed/LBN.png differ diff --git a/assets/images/fide-fed/LBR.png b/assets/images/fide-fed/LBR.png new file mode 100644 index 0000000000..367d77c2d1 Binary files /dev/null and b/assets/images/fide-fed/LBR.png differ diff --git a/assets/images/fide-fed/LCA.png b/assets/images/fide-fed/LCA.png new file mode 100644 index 0000000000..827610f5a0 Binary files /dev/null and b/assets/images/fide-fed/LCA.png differ diff --git a/assets/images/fide-fed/LES.png b/assets/images/fide-fed/LES.png new file mode 100644 index 0000000000..f04b741c34 Binary files /dev/null and b/assets/images/fide-fed/LES.png differ diff --git a/assets/images/fide-fed/LIE.png b/assets/images/fide-fed/LIE.png new file mode 100644 index 0000000000..6c82df7dea Binary files /dev/null and b/assets/images/fide-fed/LIE.png differ diff --git a/assets/images/fide-fed/LTU.png b/assets/images/fide-fed/LTU.png new file mode 100644 index 0000000000..197142273b Binary files /dev/null and b/assets/images/fide-fed/LTU.png differ diff --git a/assets/images/fide-fed/LUX.png b/assets/images/fide-fed/LUX.png new file mode 100644 index 0000000000..8e407908fa Binary files /dev/null and b/assets/images/fide-fed/LUX.png differ diff --git a/assets/images/fide-fed/MAC.png b/assets/images/fide-fed/MAC.png new file mode 100644 index 0000000000..4ab76a076d Binary files /dev/null and b/assets/images/fide-fed/MAC.png differ diff --git a/assets/images/fide-fed/MAD.png b/assets/images/fide-fed/MAD.png new file mode 100644 index 0000000000..9aecc1a2bf Binary files /dev/null and b/assets/images/fide-fed/MAD.png differ diff --git a/assets/images/fide-fed/MAR.png b/assets/images/fide-fed/MAR.png new file mode 100644 index 0000000000..d650c8813f Binary files /dev/null and b/assets/images/fide-fed/MAR.png differ diff --git a/assets/images/fide-fed/MAS.png b/assets/images/fide-fed/MAS.png new file mode 100644 index 0000000000..f50d77f267 Binary files /dev/null and b/assets/images/fide-fed/MAS.png differ diff --git a/assets/images/fide-fed/MAW.png b/assets/images/fide-fed/MAW.png new file mode 100644 index 0000000000..be07dbd289 Binary files /dev/null and b/assets/images/fide-fed/MAW.png differ diff --git a/assets/images/fide-fed/MDA.png b/assets/images/fide-fed/MDA.png new file mode 100644 index 0000000000..b14b9af682 Binary files /dev/null and b/assets/images/fide-fed/MDA.png differ diff --git a/assets/images/fide-fed/MDV.png b/assets/images/fide-fed/MDV.png new file mode 100644 index 0000000000..8b550c9929 Binary files /dev/null and b/assets/images/fide-fed/MDV.png differ diff --git a/assets/images/fide-fed/MEX.png b/assets/images/fide-fed/MEX.png new file mode 100644 index 0000000000..c8b987c9c7 Binary files /dev/null and b/assets/images/fide-fed/MEX.png differ diff --git a/assets/images/fide-fed/MGL.png b/assets/images/fide-fed/MGL.png new file mode 100644 index 0000000000..4a385c7092 Binary files /dev/null and b/assets/images/fide-fed/MGL.png differ diff --git a/assets/images/fide-fed/MKD.png b/assets/images/fide-fed/MKD.png new file mode 100644 index 0000000000..40ca5211ca Binary files /dev/null and b/assets/images/fide-fed/MKD.png differ diff --git a/assets/images/fide-fed/MLI.png b/assets/images/fide-fed/MLI.png new file mode 100644 index 0000000000..506c53f263 Binary files /dev/null and b/assets/images/fide-fed/MLI.png differ diff --git a/assets/images/fide-fed/MLT.png b/assets/images/fide-fed/MLT.png new file mode 100644 index 0000000000..59bab487a3 Binary files /dev/null and b/assets/images/fide-fed/MLT.png differ diff --git a/assets/images/fide-fed/MNC.png b/assets/images/fide-fed/MNC.png new file mode 100644 index 0000000000..0d65a7eda0 Binary files /dev/null and b/assets/images/fide-fed/MNC.png differ diff --git a/assets/images/fide-fed/MNE.png b/assets/images/fide-fed/MNE.png new file mode 100644 index 0000000000..cfbbfe52f0 Binary files /dev/null and b/assets/images/fide-fed/MNE.png differ diff --git a/assets/images/fide-fed/MOZ.png b/assets/images/fide-fed/MOZ.png new file mode 100644 index 0000000000..8690e7bbd5 Binary files /dev/null and b/assets/images/fide-fed/MOZ.png differ diff --git a/assets/images/fide-fed/MRI.png b/assets/images/fide-fed/MRI.png new file mode 100644 index 0000000000..9353d6d6b1 Binary files /dev/null and b/assets/images/fide-fed/MRI.png differ diff --git a/assets/images/fide-fed/MTN.png b/assets/images/fide-fed/MTN.png new file mode 100644 index 0000000000..1574aa6dff Binary files /dev/null and b/assets/images/fide-fed/MTN.png differ diff --git a/assets/images/fide-fed/MYA.png b/assets/images/fide-fed/MYA.png new file mode 100644 index 0000000000..4062fe3fa0 Binary files /dev/null and b/assets/images/fide-fed/MYA.png differ diff --git a/assets/images/fide-fed/NAM.png b/assets/images/fide-fed/NAM.png new file mode 100644 index 0000000000..d8bbdbae2e Binary files /dev/null and b/assets/images/fide-fed/NAM.png differ diff --git a/assets/images/fide-fed/NCA.png b/assets/images/fide-fed/NCA.png new file mode 100644 index 0000000000..86f69d554c Binary files /dev/null and b/assets/images/fide-fed/NCA.png differ diff --git a/assets/images/fide-fed/NED.png b/assets/images/fide-fed/NED.png new file mode 100644 index 0000000000..819b66da07 Binary files /dev/null and b/assets/images/fide-fed/NED.png differ diff --git a/assets/images/fide-fed/NEP.png b/assets/images/fide-fed/NEP.png new file mode 100644 index 0000000000..b5ecefb0df Binary files /dev/null and b/assets/images/fide-fed/NEP.png differ diff --git a/assets/images/fide-fed/NGR.png b/assets/images/fide-fed/NGR.png new file mode 100644 index 0000000000..663c4076ea Binary files /dev/null and b/assets/images/fide-fed/NGR.png differ diff --git a/assets/images/fide-fed/NIG.png b/assets/images/fide-fed/NIG.png new file mode 100644 index 0000000000..7a75a84a1c Binary files /dev/null and b/assets/images/fide-fed/NIG.png differ diff --git a/assets/images/fide-fed/NOR.png b/assets/images/fide-fed/NOR.png new file mode 100644 index 0000000000..bb080da527 Binary files /dev/null and b/assets/images/fide-fed/NOR.png differ diff --git a/assets/images/fide-fed/NRU.png b/assets/images/fide-fed/NRU.png new file mode 100644 index 0000000000..28551edf92 Binary files /dev/null and b/assets/images/fide-fed/NRU.png differ diff --git a/assets/images/fide-fed/NZL.png b/assets/images/fide-fed/NZL.png new file mode 100644 index 0000000000..1fdee26a96 Binary files /dev/null and b/assets/images/fide-fed/NZL.png differ diff --git a/assets/images/fide-fed/OMA.png b/assets/images/fide-fed/OMA.png new file mode 100644 index 0000000000..820936e4c8 Binary files /dev/null and b/assets/images/fide-fed/OMA.png differ diff --git a/assets/images/fide-fed/PAK.png b/assets/images/fide-fed/PAK.png new file mode 100644 index 0000000000..ae8207459d Binary files /dev/null and b/assets/images/fide-fed/PAK.png differ diff --git a/assets/images/fide-fed/PAN.png b/assets/images/fide-fed/PAN.png new file mode 100644 index 0000000000..34237dbcea Binary files /dev/null and b/assets/images/fide-fed/PAN.png differ diff --git a/assets/images/fide-fed/PAR.png b/assets/images/fide-fed/PAR.png new file mode 100644 index 0000000000..deb01d2307 Binary files /dev/null and b/assets/images/fide-fed/PAR.png differ diff --git a/assets/images/fide-fed/PER.png b/assets/images/fide-fed/PER.png new file mode 100644 index 0000000000..03561cabd4 Binary files /dev/null and b/assets/images/fide-fed/PER.png differ diff --git a/assets/images/fide-fed/PHI.png b/assets/images/fide-fed/PHI.png new file mode 100644 index 0000000000..ac36fafe49 Binary files /dev/null and b/assets/images/fide-fed/PHI.png differ diff --git a/assets/images/fide-fed/PLE.png b/assets/images/fide-fed/PLE.png new file mode 100644 index 0000000000..e37a851d92 Binary files /dev/null and b/assets/images/fide-fed/PLE.png differ diff --git a/assets/images/fide-fed/PLW.png b/assets/images/fide-fed/PLW.png new file mode 100644 index 0000000000..ec846bac45 Binary files /dev/null and b/assets/images/fide-fed/PLW.png differ diff --git a/assets/images/fide-fed/PNG.png b/assets/images/fide-fed/PNG.png new file mode 100644 index 0000000000..a648db1c6a Binary files /dev/null and b/assets/images/fide-fed/PNG.png differ diff --git a/assets/images/fide-fed/POL.png b/assets/images/fide-fed/POL.png new file mode 100644 index 0000000000..28fa067209 Binary files /dev/null and b/assets/images/fide-fed/POL.png differ diff --git a/assets/images/fide-fed/POR.png b/assets/images/fide-fed/POR.png new file mode 100644 index 0000000000..8235d2946d Binary files /dev/null and b/assets/images/fide-fed/POR.png differ diff --git a/assets/images/fide-fed/PUR.png b/assets/images/fide-fed/PUR.png new file mode 100644 index 0000000000..c8c1091452 Binary files /dev/null and b/assets/images/fide-fed/PUR.png differ diff --git a/assets/images/fide-fed/QAT.png b/assets/images/fide-fed/QAT.png new file mode 100644 index 0000000000..dd7e17b824 Binary files /dev/null and b/assets/images/fide-fed/QAT.png differ diff --git a/assets/images/fide-fed/ROU.png b/assets/images/fide-fed/ROU.png new file mode 100644 index 0000000000..2c3c838a4b Binary files /dev/null and b/assets/images/fide-fed/ROU.png differ diff --git a/assets/images/fide-fed/RSA.png b/assets/images/fide-fed/RSA.png new file mode 100644 index 0000000000..953fb87de2 Binary files /dev/null and b/assets/images/fide-fed/RSA.png differ diff --git a/assets/images/fide-fed/RUS.png b/assets/images/fide-fed/RUS.png new file mode 100644 index 0000000000..cc87102a65 Binary files /dev/null and b/assets/images/fide-fed/RUS.png differ diff --git a/assets/images/fide-fed/RWA.png b/assets/images/fide-fed/RWA.png new file mode 100644 index 0000000000..4c58e5a707 Binary files /dev/null and b/assets/images/fide-fed/RWA.png differ diff --git a/assets/images/fide-fed/SCO.png b/assets/images/fide-fed/SCO.png new file mode 100644 index 0000000000..5905f8dad6 Binary files /dev/null and b/assets/images/fide-fed/SCO.png differ diff --git a/assets/images/fide-fed/SEN.png b/assets/images/fide-fed/SEN.png new file mode 100644 index 0000000000..5e45af0a43 Binary files /dev/null and b/assets/images/fide-fed/SEN.png differ diff --git a/assets/images/fide-fed/SEY.png b/assets/images/fide-fed/SEY.png new file mode 100644 index 0000000000..17c2bd9796 Binary files /dev/null and b/assets/images/fide-fed/SEY.png differ diff --git a/assets/images/fide-fed/SGP.png b/assets/images/fide-fed/SGP.png new file mode 100644 index 0000000000..7d7c4f9ce8 Binary files /dev/null and b/assets/images/fide-fed/SGP.png differ diff --git a/assets/images/fide-fed/SKN.png b/assets/images/fide-fed/SKN.png new file mode 100644 index 0000000000..db7a3cd1e9 Binary files /dev/null and b/assets/images/fide-fed/SKN.png differ diff --git a/assets/images/fide-fed/SLE.png b/assets/images/fide-fed/SLE.png new file mode 100644 index 0000000000..7692087a3c Binary files /dev/null and b/assets/images/fide-fed/SLE.png differ diff --git a/assets/images/fide-fed/SLO.png b/assets/images/fide-fed/SLO.png new file mode 100644 index 0000000000..69fdb42037 Binary files /dev/null and b/assets/images/fide-fed/SLO.png differ diff --git a/assets/images/fide-fed/SMR.png b/assets/images/fide-fed/SMR.png new file mode 100644 index 0000000000..415e146b1c Binary files /dev/null and b/assets/images/fide-fed/SMR.png differ diff --git a/assets/images/fide-fed/SOL.png b/assets/images/fide-fed/SOL.png new file mode 100644 index 0000000000..37f4060108 Binary files /dev/null and b/assets/images/fide-fed/SOL.png differ diff --git a/assets/images/fide-fed/SOM.png b/assets/images/fide-fed/SOM.png new file mode 100644 index 0000000000..2b20f43788 Binary files /dev/null and b/assets/images/fide-fed/SOM.png differ diff --git a/assets/images/fide-fed/SRB.png b/assets/images/fide-fed/SRB.png new file mode 100644 index 0000000000..f1d2c04880 Binary files /dev/null and b/assets/images/fide-fed/SRB.png differ diff --git a/assets/images/fide-fed/SRI.png b/assets/images/fide-fed/SRI.png new file mode 100644 index 0000000000..f0c2f01b19 Binary files /dev/null and b/assets/images/fide-fed/SRI.png differ diff --git a/assets/images/fide-fed/SSD.png b/assets/images/fide-fed/SSD.png new file mode 100644 index 0000000000..eca75c1e95 Binary files /dev/null and b/assets/images/fide-fed/SSD.png differ diff --git a/assets/images/fide-fed/STP.png b/assets/images/fide-fed/STP.png new file mode 100644 index 0000000000..cb486a32cc Binary files /dev/null and b/assets/images/fide-fed/STP.png differ diff --git a/assets/images/fide-fed/SUD.png b/assets/images/fide-fed/SUD.png new file mode 100644 index 0000000000..e96ab263c8 Binary files /dev/null and b/assets/images/fide-fed/SUD.png differ diff --git a/assets/images/fide-fed/SUI.png b/assets/images/fide-fed/SUI.png new file mode 100644 index 0000000000..8b4265c95e Binary files /dev/null and b/assets/images/fide-fed/SUI.png differ diff --git a/assets/images/fide-fed/SUR.png b/assets/images/fide-fed/SUR.png new file mode 100644 index 0000000000..4efce2c1f7 Binary files /dev/null and b/assets/images/fide-fed/SUR.png differ diff --git a/assets/images/fide-fed/SVK.png b/assets/images/fide-fed/SVK.png new file mode 100644 index 0000000000..3d7b9d771f Binary files /dev/null and b/assets/images/fide-fed/SVK.png differ diff --git a/assets/images/fide-fed/SWE.png b/assets/images/fide-fed/SWE.png new file mode 100644 index 0000000000..e026d02144 Binary files /dev/null and b/assets/images/fide-fed/SWE.png differ diff --git a/assets/images/fide-fed/SWZ.png b/assets/images/fide-fed/SWZ.png new file mode 100644 index 0000000000..e904908f1b Binary files /dev/null and b/assets/images/fide-fed/SWZ.png differ diff --git a/assets/images/fide-fed/SYR.png b/assets/images/fide-fed/SYR.png new file mode 100644 index 0000000000..1a47478db8 Binary files /dev/null and b/assets/images/fide-fed/SYR.png differ diff --git a/assets/images/fide-fed/TAN.png b/assets/images/fide-fed/TAN.png new file mode 100644 index 0000000000..f499c27b3a Binary files /dev/null and b/assets/images/fide-fed/TAN.png differ diff --git a/assets/images/fide-fed/THA.png b/assets/images/fide-fed/THA.png new file mode 100644 index 0000000000..3a41ad8cc1 Binary files /dev/null and b/assets/images/fide-fed/THA.png differ diff --git a/assets/images/fide-fed/TJK.png b/assets/images/fide-fed/TJK.png new file mode 100644 index 0000000000..85e66b9f9b Binary files /dev/null and b/assets/images/fide-fed/TJK.png differ diff --git a/assets/images/fide-fed/TKM.png b/assets/images/fide-fed/TKM.png new file mode 100644 index 0000000000..d5fac31c09 Binary files /dev/null and b/assets/images/fide-fed/TKM.png differ diff --git a/assets/images/fide-fed/TLS.png b/assets/images/fide-fed/TLS.png new file mode 100644 index 0000000000..e8e5af7230 Binary files /dev/null and b/assets/images/fide-fed/TLS.png differ diff --git a/assets/images/fide-fed/TOG.png b/assets/images/fide-fed/TOG.png new file mode 100644 index 0000000000..ef9cec3776 Binary files /dev/null and b/assets/images/fide-fed/TOG.png differ diff --git a/assets/images/fide-fed/TPE.png b/assets/images/fide-fed/TPE.png new file mode 100644 index 0000000000..9817a50880 Binary files /dev/null and b/assets/images/fide-fed/TPE.png differ diff --git a/assets/images/fide-fed/TTO.png b/assets/images/fide-fed/TTO.png new file mode 100644 index 0000000000..238ec77a30 Binary files /dev/null and b/assets/images/fide-fed/TTO.png differ diff --git a/assets/images/fide-fed/TUN.png b/assets/images/fide-fed/TUN.png new file mode 100644 index 0000000000..20106f784b Binary files /dev/null and b/assets/images/fide-fed/TUN.png differ diff --git a/assets/images/fide-fed/TUR.png b/assets/images/fide-fed/TUR.png new file mode 100644 index 0000000000..3f2682ae15 Binary files /dev/null and b/assets/images/fide-fed/TUR.png differ diff --git a/assets/images/fide-fed/UAE.png b/assets/images/fide-fed/UAE.png new file mode 100644 index 0000000000..8d26494e69 Binary files /dev/null and b/assets/images/fide-fed/UAE.png differ diff --git a/assets/images/fide-fed/UGA.png b/assets/images/fide-fed/UGA.png new file mode 100644 index 0000000000..940f75a1fa Binary files /dev/null and b/assets/images/fide-fed/UGA.png differ diff --git a/assets/images/fide-fed/UKR.png b/assets/images/fide-fed/UKR.png new file mode 100644 index 0000000000..760aacd407 Binary files /dev/null and b/assets/images/fide-fed/UKR.png differ diff --git a/assets/images/fide-fed/URU.png b/assets/images/fide-fed/URU.png new file mode 100644 index 0000000000..afcc53bd98 Binary files /dev/null and b/assets/images/fide-fed/URU.png differ diff --git a/assets/images/fide-fed/USA.png b/assets/images/fide-fed/USA.png new file mode 100644 index 0000000000..46180fe902 Binary files /dev/null and b/assets/images/fide-fed/USA.png differ diff --git a/assets/images/fide-fed/UZB.png b/assets/images/fide-fed/UZB.png new file mode 100644 index 0000000000..3abeee4c08 Binary files /dev/null and b/assets/images/fide-fed/UZB.png differ diff --git a/assets/images/fide-fed/VAN.png b/assets/images/fide-fed/VAN.png new file mode 100644 index 0000000000..1f730b4b03 Binary files /dev/null and b/assets/images/fide-fed/VAN.png differ diff --git a/assets/images/fide-fed/VEN.png b/assets/images/fide-fed/VEN.png new file mode 100644 index 0000000000..4dfe9aa593 Binary files /dev/null and b/assets/images/fide-fed/VEN.png differ diff --git a/assets/images/fide-fed/VIE.png b/assets/images/fide-fed/VIE.png new file mode 100644 index 0000000000..35bc7967d6 Binary files /dev/null and b/assets/images/fide-fed/VIE.png differ diff --git a/assets/images/fide-fed/VIN.png b/assets/images/fide-fed/VIN.png new file mode 100644 index 0000000000..f445943b1a Binary files /dev/null and b/assets/images/fide-fed/VIN.png differ diff --git a/assets/images/fide-fed/W.png b/assets/images/fide-fed/W.png new file mode 100644 index 0000000000..cc87102a65 Binary files /dev/null and b/assets/images/fide-fed/W.png differ diff --git a/assets/images/fide-fed/WLS.png b/assets/images/fide-fed/WLS.png new file mode 100644 index 0000000000..01848f9c5b Binary files /dev/null and b/assets/images/fide-fed/WLS.png differ diff --git a/assets/images/fide-fed/YEM.png b/assets/images/fide-fed/YEM.png new file mode 100644 index 0000000000..a3584aaddb Binary files /dev/null and b/assets/images/fide-fed/YEM.png differ diff --git a/assets/images/fide-fed/ZAM.png b/assets/images/fide-fed/ZAM.png new file mode 100644 index 0000000000..98334b17b4 Binary files /dev/null and b/assets/images/fide-fed/ZAM.png differ diff --git a/assets/images/fide-fed/ZIM.png b/assets/images/fide-fed/ZIM.png new file mode 100644 index 0000000000..89d14f9d41 Binary files /dev/null and b/assets/images/fide-fed/ZIM.png differ diff --git a/lib/src/utils/lichess_assets.dart b/lib/src/utils/lichess_assets.dart index a77fde17c0..a2f43bb50c 100644 --- a/lib/src/utils/lichess_assets.dart +++ b/lib/src/utils/lichess_assets.dart @@ -7,7 +7,3 @@ String lichessFlagSrc(String country) { String lichessFlairSrc(String flair) { return '$kLichessCDNHost/assets/flair/img/$flair.webp'; } - -String lichessFideFedSrc(String name) { - return '$kLichessCDNHost/assets/images/fide-fed/$name.svg'; -} diff --git a/lib/src/view/account/edit_profile_screen.dart b/lib/src/view/account/edit_profile_screen.dart index d0329a0b23..1cb1c0dbe6 100644 --- a/lib/src/view/account/edit_profile_screen.dart +++ b/lib/src/view/account/edit_profile_screen.dart @@ -12,19 +12,60 @@ import 'package:lichess_mobile/src/widgets/adaptive_autocomplete.dart'; import 'package:lichess_mobile/src/widgets/adaptive_text_field.dart'; import 'package:lichess_mobile/src/widgets/buttons.dart'; import 'package:lichess_mobile/src/widgets/feedback.dart'; +import 'package:lichess_mobile/src/widgets/platform_alert_dialog.dart'; import 'package:lichess_mobile/src/widgets/platform_scaffold.dart'; import 'package:result_extensions/result_extensions.dart'; final _countries = countries.values.toList(); +final _cupertinoTextFieldDecoration = BoxDecoration( + color: CupertinoColors.tertiarySystemBackground, + border: Border.all(color: CupertinoColors.systemGrey4, width: 1), + borderRadius: BorderRadius.circular(8), +); class EditProfileScreen extends StatelessWidget { const EditProfileScreen({super.key}); + Future _showBackDialog(BuildContext context) async { + return showAdaptiveDialog( + context: context, + builder: (context) { + return PlatformAlertDialog( + title: Text(context.l10n.mobileAreYouSure), + content: const Text('Your changes will be lost.'), + actions: [ + PlatformDialogAction( + child: Text(context.l10n.cancel), + onPressed: () => Navigator.of(context).pop(false), + ), + PlatformDialogAction( + child: Text(context.l10n.ok), + onPressed: () => Navigator.of(context).pop(true), + ), + ], + ); + }, + ); + } + @override Widget build(BuildContext context) { return PlatformScaffold( appBar: PlatformAppBar(title: Text(context.l10n.editProfile)), - body: _Body(), + body: PopScope( + canPop: false, + onPopInvokedWithResult: (bool didPop, _) async { + if (didPop) { + return; + } + final NavigatorState navigator = Navigator.of(context); + final bool? shouldPop = await _showBackDialog(context); + if (shouldPop ?? false) { + navigator.pop(); + } + }, + child: _Body(), + ), ); } } @@ -38,14 +79,20 @@ class _Body extends ConsumerWidget { if (data == null) { return Center(child: Text(context.l10n.mobileMustBeLoggedIn)); } - return Padding( - padding: Styles.bodyPadding, - child: ListView( - children: [ - Text(context.l10n.allInformationIsPublicAndOptional), - const SizedBox(height: 16), - _EditProfileForm(data), - ], + return GestureDetector( + onTap: () => FocusScope.of(context).unfocus(), + child: Padding( + padding: Styles.bodyPadding.copyWith(top: 0, bottom: 0), + child: ListView( + keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag, + children: [ + SizedBox(height: Styles.bodyPadding.top), + Text(context.l10n.allInformationIsPublicAndOptional), + const SizedBox(height: 16), + _EditProfileForm(data), + SizedBox(height: Styles.bodyPadding.bottom), + ], + ), ), ); }, @@ -82,30 +129,24 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { 'links': null, }; - final _cupertinoTextFieldDecoration = BoxDecoration( - color: CupertinoColors.tertiarySystemBackground, - border: Border.all(color: CupertinoColors.systemGrey4, width: 1), - borderRadius: BorderRadius.circular(8), - ); - Future? _pendingSaveProfile; @override Widget build(BuildContext context) { final String? initialLinks = widget.user.profile?.links?.map((e) => e.url).join('\r\n'); - return Form( key: _formKey, child: Column( children: [ - _textField( + _TextField( label: context.l10n.biography, initialValue: widget.user.profile?.bio, formKey: 'bio', - controller: TextEditingController(text: widget.user.profile?.bio), + formData: _formData, description: context.l10n.biographyDescription, maxLength: 400, maxLines: 6, + textInputAction: TextInputAction.newline, ), Padding( padding: const EdgeInsets.only(bottom: 16.0), @@ -147,25 +188,26 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { }, ), ), - _textField( + _TextField( label: context.l10n.location, initialValue: widget.user.profile?.location, - controller: TextEditingController(text: widget.user.profile?.location), + formData: _formData, formKey: 'location', maxLength: 80, ), - _textField( + _TextField( label: context.l10n.realName, initialValue: widget.user.profile?.realName, formKey: 'realName', - controller: TextEditingController(text: widget.user.profile?.realName), + formData: _formData, maxLength: 20, ), - _numericField( + + _NumericField( label: context.l10n.xRating('FIDE'), initialValue: widget.user.profile?.fideRating, formKey: 'fideRating', - controller: TextEditingController(text: widget.user.profile?.fideRating?.toString()), + formData: _formData, validator: (value) { if (value != null && (value < 1400 || value > 3000)) { return 'Rating must be between 1400 and 3000'; @@ -173,11 +215,11 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { return null; }, ), - _numericField( + _NumericField( label: context.l10n.xRating('USCF'), initialValue: widget.user.profile?.uscfRating, formKey: 'uscfRating', - controller: TextEditingController(text: widget.user.profile?.uscfRating?.toString()), + formData: _formData, validator: (value) { if (value != null && (value < 100 || value > 3000)) { return 'Rating must be between 100 and 3000'; @@ -185,12 +227,11 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { return null; }, ), - _numericField( + _NumericField( label: context.l10n.xRating('ECF'), initialValue: widget.user.profile?.ecfRating, formKey: 'ecfRating', - controller: TextEditingController(text: widget.user.profile?.ecfRating?.toString()), - textInputAction: TextInputAction.done, + formData: _formData, validator: (value) { if (value != null && (value < 0 || value > 3000)) { return 'Rating must be between 0 and 3000'; @@ -198,11 +239,11 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { return null; }, ), - _textField( + _TextField( label: context.l10n.socialMediaLinks, initialValue: initialLinks, formKey: 'links', - controller: TextEditingController(text: initialLinks), + formData: _formData, maxLength: 3000, maxLines: 4, textInputAction: TextInputAction.newline, @@ -257,6 +298,7 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { context.l10n.success, type: SnackBarType.success, ); + Navigator.of(context).pop(); } }, ); @@ -271,33 +313,59 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { ), ); } +} + +class _NumericField extends StatefulWidget { + final String label; + final int? initialValue; + final String formKey; + final String? Function(int?)? validator; + final Map formData; + const _NumericField({ + required this.label, + required this.initialValue, + required this.formKey, + required this.validator, + required this.formData, + }); + + @override + State<_NumericField> createState() => __NumericFieldState(); +} + +class __NumericFieldState extends State<_NumericField> { + final _controller = TextEditingController(); + @override + void initState() { + _controller.text = widget.initialValue?.toString() ?? ''; + super.initState(); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } - Widget _textField({ - required String label, - required String? initialValue, - required String formKey, - required TextEditingController controller, - String? description, - int? maxLength, - int? maxLines, - TextInputAction textInputAction = TextInputAction.next, - }) { + @override + Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.only(bottom: 16.0), - child: FormField( - initialValue: initialValue, + child: FormField( + initialValue: widget.initialValue, onSaved: (value) { - _formData[formKey] = value; + widget.formData[widget.formKey] = value; }, - builder: (FormFieldState field) { + validator: widget.validator, + builder: (FormFieldState field) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(label, style: Styles.formLabel), + Text(widget.label, style: Styles.formLabel), const SizedBox(height: 6.0), AdaptiveTextField( - maxLength: maxLength, - maxLines: maxLines, + controller: _controller, + keyboardType: TextInputType.number, cupertinoDecoration: _cupertinoTextFieldDecoration.copyWith( border: Border.all( color: @@ -309,16 +377,11 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { ), materialDecoration: field.errorText != null ? InputDecoration(errorText: field.errorText) : null, - textInputAction: textInputAction, - controller: controller, + onChanged: (value) { - field.didChange(value.trim()); + field.didChange(int.tryParse(value)); }, ), - if (description != null) ...[ - const SizedBox(height: 6.0), - Text(description, style: Styles.formDescription), - ], if (Theme.of(context).platform == TargetPlatform.iOS && field.errorText != null) Padding( padding: const EdgeInsets.only(top: 6.0), @@ -330,31 +393,66 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { ), ); } +} + +class _TextField extends StatefulWidget { + final String label; + final String? initialValue; + final String formKey; + final String? description; + final int? maxLength; + final int? maxLines; + final Map formData; + final TextInputAction textInputAction; + const _TextField({ + required this.label, + required this.initialValue, + required this.formKey, + required this.formData, + this.description, + this.maxLength, + this.maxLines, + this.textInputAction = TextInputAction.next, + }); + + @override + State<_TextField> createState() => __TextFieldState(); +} + +class __TextFieldState extends State<_TextField> { + final _controller = TextEditingController(); + @override + void initState() { + super.initState(); + _controller.text = widget.initialValue ?? ''; + } - Widget _numericField({ - required String label, - required int? initialValue, - required String formKey, - required TextEditingController controller, - required String? Function(int?)? validator, - TextInputAction textInputAction = TextInputAction.next, - }) { + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.only(bottom: 16.0), - child: FormField( - initialValue: initialValue, + child: FormField( + initialValue: widget.initialValue, onSaved: (value) { - _formData[formKey] = value; + widget.formData[widget.formKey] = value?.trim(); }, - validator: validator, - builder: (FormFieldState field) { + + builder: (FormFieldState field) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(label, style: Styles.formLabel), + Text(widget.label, style: Styles.formLabel), const SizedBox(height: 6.0), AdaptiveTextField( - keyboardType: TextInputType.number, + maxLength: widget.maxLength, + maxLines: widget.maxLines, + controller: _controller, cupertinoDecoration: _cupertinoTextFieldDecoration.copyWith( border: Border.all( color: @@ -366,12 +464,15 @@ class _EditProfileFormState extends ConsumerState<_EditProfileForm> { ), materialDecoration: field.errorText != null ? InputDecoration(errorText: field.errorText) : null, - textInputAction: textInputAction, - controller: controller, + textInputAction: widget.textInputAction, onChanged: (value) { - field.didChange(int.tryParse(value)); + field.didChange(value.trim()); }, ), + if (widget.description != null) ...[ + const SizedBox(height: 6.0), + Text(widget.description!, style: Styles.formDescription), + ], if (Theme.of(context).platform == TargetPlatform.iOS && field.errorText != null) Padding( padding: const EdgeInsets.only(top: 6.0), diff --git a/lib/src/view/broadcast/broadcast_player_widget.dart b/lib/src/view/broadcast/broadcast_player_widget.dart index 363cebcad6..e46774cbab 100644 --- a/lib/src/view/broadcast/broadcast_player_widget.dart +++ b/lib/src/view/broadcast/broadcast_player_widget.dart @@ -1,9 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_svg/svg.dart'; -import 'package:lichess_mobile/src/network/http.dart'; import 'package:lichess_mobile/src/styles/styles.dart'; -import 'package:lichess_mobile/src/utils/lichess_assets.dart'; class BroadcastPlayerWidget extends ConsumerWidget { const BroadcastPlayerWidget({ @@ -25,11 +22,7 @@ class BroadcastPlayerWidget extends ConsumerWidget { return Row( children: [ if (federation != null) ...[ - SvgPicture.network( - lichessFideFedSrc(federation!), - height: 12, - httpClient: ref.read(defaultClientProvider), - ), + Image.asset('assets/images/fide-fed/$federation.png', height: 12), const SizedBox(width: 5), ], if (title != null) ...[ diff --git a/pubspec.lock b/pubspec.lock index ac336549b1..ed5e1b50a3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -98,50 +98,50 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" + sha256: "294a2edaf4814a378725bfe6358210196f5ea37af89ecd81bfa32960113d4948" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.0.3" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + sha256: "99d3980049739a985cf9b21f30881f46db3ebc62c5b8d5e60e27440876b1ba1e" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.3" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d" + sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573" url: "https://pub.dev" source: hosted - version: "2.4.13" + version: "2.4.14" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" url: "https://pub.dev" source: hosted - version: "7.3.2" + version: "8.0.0" built_collection: dependency: transitive description: @@ -697,14 +697,6 @@ packages: url: "https://pub.dev" source: hosted version: "5.2.1" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" - url: "https://pub.dev" - source: hosted - version: "2.0.16" flutter_test: dependency: "direct dev" description: flutter @@ -783,10 +775,10 @@ packages: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: @@ -1035,14 +1027,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" - url: "https://pub.dev" - source: hosted - version: "1.1.0" path_provider: dependency: transitive description: @@ -1453,10 +1437,10 @@ packages: dependency: "direct main" description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: @@ -1601,30 +1585,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.5.1" - vector_graphics: - dependency: transitive - description: - name: vector_graphics - sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" - url: "https://pub.dev" - source: hosted - version: "1.1.15" - vector_graphics_codec: - dependency: transitive - description: - name: vector_graphics_codec - sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" - url: "https://pub.dev" - source: hosted - version: "1.1.12" - vector_graphics_compiler: - dependency: transitive - description: - name: vector_graphics_compiler - sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" - url: "https://pub.dev" - source: hosted - version: "1.1.16" vector_math: dependency: transitive description: @@ -1669,10 +1629,10 @@ packages: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 959364fde0..bca18321a4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,7 +49,6 @@ dependencies: url: https://github.com/veloce/flutter_slidable.git ref: 89b8384667d3b6c1c2967a8ff10846bcf0a170c7 flutter_spinkit: ^5.2.0 - flutter_svg: ^2.0.10+1 freezed_annotation: ^2.2.0 http: ^1.1.0 intl: ^0.19.0 @@ -106,6 +105,7 @@ flutter: - assets/chess_openings.db - assets/images/ - assets/images/stockfish/ + - assets/images/fide-fed/ - assets/sounds/futuristic/ - assets/sounds/lisp/ - assets/sounds/nes/