diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..acbecee --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +//registry.npmjs.org/:_authToken=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 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9ea4c89..865a26f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,15 @@ "name": "salw_client", "version": "0.1.0", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "bootstrap": "^5.3.2", + "dompurify": "^3.1.4", + "html-react-parser": "^5.1.10", "leaflet": "^1.9.4", "node-sass": "^7.0.3", "react": "^18.2.0", @@ -2521,6 +2526,51 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", + "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", + "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", + "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.1.tgz", + "integrity": "sha512-ldr5QO2MneAX5W5WBCYB2pZp/PiHDD1hy9YEBLcXUyJb0qnO86oP8RU+CgmYVSH/R4Dbe2ernhcWOrcgaKD9NQ==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -7578,6 +7628,11 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.4.tgz", + "integrity": "sha512-2gnshi6OshmuKil8rMZuQCGiUF3cUxHY3NGDzUAdUx/NPEe5DVnO8BDoAQouvgwnx0R/+a6jUn36Z0FSdq8vww==" + }, "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", @@ -9790,6 +9845,84 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/html-dom-parser": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.8.tgz", + "integrity": "sha512-vuWiX9EXgu8CJ5m9EP5c7bvBmNSuQVnrY8tl0z0ZX96Uth1IPlYH/8W8VZ/hBajFf18EN+j2pukbCNd01HEd1w==", + "dependencies": { + "domhandler": "5.0.3", + "htmlparser2": "9.1.0" + } + }, + "node_modules/html-dom-parser/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/html-dom-parser/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-dom-parser/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/html-dom-parser/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/html-dom-parser/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -9841,6 +9974,40 @@ "node": ">=12" } }, + "node_modules/html-react-parser": { + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.1.10.tgz", + "integrity": "sha512-gV22PvLij4wdEdtrZbGVC7Zy2OVWnQ0bYhX63S196ZRSx4+K0TuutCreHSXr+saUia8KeKB+2TYziVfijpH4Tw==", + "dependencies": { + "domhandler": "5.0.3", + "html-dom-parser": "5.0.8", + "react-property": "2.0.2", + "style-to-js": "1.1.12" + }, + "peerDependencies": { + "@types/react": "17 || 18", + "react": "0.14 || 15 || 16 || 17 || 18" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/html-react-parser/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, "node_modules/html-webpack-plugin": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", @@ -10143,6 +10310,11 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, "node_modules/internal-slot": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", @@ -16156,6 +16328,11 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "node_modules/react-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -17971,6 +18148,22 @@ "webpack": "^5.0.0" } }, + "node_modules/style-to-js": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.12.tgz", + "integrity": "sha512-tv+/FkgNYHI2fvCoBMsqPHh5xovwiw+C3X0Gfnss/Syau0Nr3IqGOJ9XiOYXoPnToHVbllKFf5qCNFJGwFg5mg==", + "dependencies": { + "style-to-object": "1.0.6" + } + }, + "node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, "node_modules/stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", diff --git a/package.json b/package.json index 5dfbd8e..2a946d6 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,15 @@ "version": "0.1.0", "private": true, "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "bootstrap": "^5.3.2", + "dompurify": "^3.1.4", + "html-react-parser": "^5.1.10", "leaflet": "^1.9.4", "node-sass": "^7.0.3", "react": "^18.2.0", diff --git a/src/Components/Helpers/TruncateContent/TruncateContent.css b/src/Components/Helpers/TruncateContent/TruncateContent.css new file mode 100644 index 0000000..a031fba --- /dev/null +++ b/src/Components/Helpers/TruncateContent/TruncateContent.css @@ -0,0 +1,25 @@ +.content-wrapper { + position: relative; + max-height: 150px; /* Adjust this value to the desired truncated height */ + overflow: hidden; + transition: max-height 0.3s ease; + } + + .content-wrapper.expanded { + max-height: none; + } + + .read-more { + display: block; + margin-top: 10px; + color: blue; + background: none; + border: none; + cursor: pointer; + text-decoration: underline; + font-size: 1rem; + } + + .read-more:focus { + outline: none; + } \ No newline at end of file diff --git a/src/Components/Helpers/TruncateContent/TruncateContent.jsx b/src/Components/Helpers/TruncateContent/TruncateContent.jsx new file mode 100644 index 0000000..f68d187 --- /dev/null +++ b/src/Components/Helpers/TruncateContent/TruncateContent.jsx @@ -0,0 +1,25 @@ +import React, { useState } from "react"; +import "./TruncateContent.css"; + +const TruncateContent = ({ children }) => { + const [isExpanded, setIsExpanded] = useState(false); + + const toggleReadMore = () => { + setIsExpanded(!isExpanded); + }; + + return ( + <> +
+ {children} +
+ + + ); +}; + +export default TruncateContent; diff --git a/src/Components/Layout/PSSM/Blurb.js b/src/Components/Layout/PSSM/Blurb.js index dff9f12..873050e 100644 --- a/src/Components/Layout/PSSM/Blurb.js +++ b/src/Components/Layout/PSSM/Blurb.js @@ -1,35 +1,161 @@ -import React from "react"; +import React, { useState } from "react"; +import Card_ from "../../UI/Card_/Card_"; +import DOMPurify from "dompurify"; +import parse from "html-react-parser"; +import TruncateContent from "../../Helpers/TruncateContent/TruncateContent"; const Blurb = () => { + DOMPurify.addHook("afterSanitizeAttributes", function (node) { + // set all elements owning target to target=_blank + if ("target" in node) { + node.setAttribute("target", "_blank"); + node.setAttribute("rel", "noopener"); + } + }); + + const [footnotes, setFootnotes] = useState([ + { + id: 1, + text: "Weapons are illegally given out for a short period of time in return for some money. These weapons are often used in criminal activities and then returned. This practice has been used to supplement a low salary/income.", + }, + { + id: 2, + text: "UNODA Training Manual on Gender-Mainstreaming Small Arms Control, p.132, UNODA-Gender-SALW-Training-Manual®.pdf (un-arm.org)", + }, + { + id: 3, + text: "Organization for Security and Co-operation in Europe (OSCE), Best Practice Guide on National Procedures for Stockpile Management and Security of Small Arms and Light Weapons, 511204.pdf (osce.org), p.2", + }, + ]); + return ( - <> -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Lobortis - scelerisque fermentum dui faucibus in ornare quam viverra orci. Purus - faucibus ornare suspendisse sed nisi lacus. Molestie ac feugiat sed - lectus vestibulum mattis ullamcorper. Id aliquet risus feugiat in ante - metus. Fermentum posuere urna nec tincidunt praesent semper feugiat - nibh. Tortor dignissim convallis aenean et tortor at risus. Sagittis - nisl rhoncus mattis rhoncus urna neque viverra justo. Vestibulum sed - arcu non odio euismod lacinia at quis. -

-
-
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Lobortis - scelerisque fermentum dui faucibus in ornare quam viverra orci. Purus - faucibus ornare suspendisse sed nisi lacus. Molestie ac feugiat sed - lectus vestibulum mattis ullamcorper. Id aliquet risus feugiat in ante - metus. Fermentum posuere urna nec tincidunt praesent semper feugiat - nibh. Tortor dignissim convallis aenean et tortor at risus. Sagittis - nisl rhoncus mattis rhoncus urna neque viverra justo. Vestibulum sed - arcu non odio euismod lacinia at quis. -

-
- + + + + + + + ); +}; + +const MainText = ({ footnotes }) => { + return ( +
+

Physical Security and Stockpile Management (PSSM)

+

+ Diverted or ‘lost’ from poorly managed storage facilities, ‘recycled’ + from one conflict to another or ‘rented out’ + + 1 + + , small arms and light weapons (SALW) and their ammunition remain a + primary obstacle to the de-escalation of violent conflicts, national and + regional stability and peace-building efforts. Coupled with inadequate + storage practices, they further pose a serious threat to the safety and + security of nearby communities and civilian infrastructure, such as + schools and hospitals, and their easy accessibility increases the risk + that they are misused to commit armed violence (often against young men) + or acts of gender-based violence (GBV), often against women + + 2 + + . +

+

+ Physical Security and Stockpile Management (PSSM) consists of the + “procedures and activities that are necessary for the safe and secure + accounting, storage, transportation and handling of SALW” + + 3 + + . It can therefore be viewed as a key element of practical weapons and + ammunition management, and it significantly decreases the risk of + illicit proliferation, trafficking and diversion of firearms, + ammunition, and explosives as well as reduces the risk of Unintentional + Munitions Explosions. +

+

+ Responsible management of stockpiles can therefore positively impact on + efforts to reduce armed violence and contribute towards enhancing the + security of the surrounding communities as well as the security at the + local, national and regional level. +

+ +

Regional PSSM Training of Trainers (ToT) processes

+

+ Since 2016, the bicc advisory team on Weapons and Ammunition Management + (WAM) has been supporting two multi-stakeholder regional PSSM Training + of Trainers (ToT) processes; one in East Africa (with the Regional + Centre on Small Arms in the Great Lakes Region, the Horn of Africa and + Bordering States, RECSA) and one in West Africa (with the Economic + Community of West African States, ECOWAS). +

+

+ The aim of both processes was to support and enhance regional ownership, + strengthen PSSM capacities, establish sustainable structures by creating + a regional trainer pool whose trainers can independently train more + trainers that equally possess the necessary regional and local + knowledge, thereby decreasing a dependency on foreign experts. The focus + on regional ownership and sustainability represents a crucial piece of + the peace and security puzzle, in alignment with SDG 16. +

+

+ Based on the UN Programme of Action, and acknowledging PSSM as a key + element of WAM, the Multinational Small Arms and Ammunition Group (MSAG) + initiated a training programme on the security and stockpile management + of weapons, ammunition, and explosives for East African states in Kenya + in 2012. Participants of the ToT processes derived from among the + military, police and wildlife service sectors. Up until March 2024, 469 + participants have been trained, out of which 42 were certified as PSSM + Instructors and 13 as Senior Instructors. The map below shows their + geographical distribution. +

+

+ In the meantime, the need for another regional PSSM ToT process was + identified in the ECOWAS region (West Africa), which was established in + 2018 and completed in 2023. Based on the identified need for a regional + trainer pool and more accountable PSSM practices, this process also took + into account lessons learned from the East Africa ToT process. Between + 2018 and 2023, a total of 000 participants have been trained, out of + which 000 were certified as PSSM Instructors and 000 as Senior + Instructors. The map below shows their geographical distribution. +

+

Stakeholders implementing the regional PSSM ToT trainings were:

+ +

+ Each of these partners brings a unique skillset that complements that of + the other stakeholders. +

+
+ ); +}; + +const Footnotes = ({ footnotes }) => { + return ( +
+

+
+

+ {footnotes.map((footnote) => ( + + ))} +
); }; diff --git a/src/Components/Layout/PSSM/PSSM.jsx b/src/Components/Layout/PSSM/PSSM.jsx index ea2db1b..8d854f4 100644 --- a/src/Components/Layout/PSSM/PSSM.jsx +++ b/src/Components/Layout/PSSM/PSSM.jsx @@ -1,13 +1,17 @@ import React from "react"; +import ReactDOM from 'react-dom'; + import { MapContainer, GeoJSON, Marker, Tooltip } from "react-leaflet"; import L, { control } from "leaflet"; import Africa from "../../../Data/PSSM.geojson"; import "../../../Styles/main.scss"; -import { - CountryStyle, - CountrySelectedStyle, - CountryHighlightStyle, -} from "./countryStyles"; +import Card_ from "../../UI/Card_/Card_"; +import { CountrySelectedStyle, NotPSSMCountryStyle } from "./countryStyles"; + +import Person from "../../../Icons/person.svg"; +import Person2 from "../../../Icons/person2.svg"; +import Person3 from "../../../Icons/person3.svg"; + class PSSM extends React.Component { constructor(props) { super(props); @@ -15,8 +19,10 @@ class PSSM extends React.Component { this.state = { africaCountries: null, countriesNames: [], + pssmCountries: [], loading: true, error: null, + selectedCountry: "", center: [3, 15], zoom: 4, @@ -38,6 +44,10 @@ class PSSM extends React.Component { countriesNames: data.features .map((feature) => feature.properties.name) .sort(), + pssmCountries: data.features.filter( + (feature) => + feature.properties.RECSA === 1 || feature.properties.ECOWAS === 1 + ), loading: false, }, () => {} @@ -48,10 +58,39 @@ class PSSM extends React.Component { loading: false, }); } + + console.log(this.state.pssmCountries); + }; + + onEachFeature = (feature, layer) => { + // Bind event to layer + layer.on({ + click: this.onMouseClick, + }); + }; + + onMouseClick = (e) => { + this.setState({ + selectedCountriesFilter: [], + selectedCountryColor: "yellow", + }); + const countryName = e.target.feature.properties.name; + if (countryName === this.state.selectedCountry) { + this.setState({ selectedCountry: "" }); + return; + } + this.setState({ selectedCountry: countryName }); }; render() { - const { africaCountries, countriesNames, loading, error } = this.state; + const { + africaCountries, + countriesNames, + pssmCountries, + loading, + error, + selectedCountry, + } = this.state; if (loading) { return
Loading...
; } @@ -60,7 +99,7 @@ class PSSM extends React.Component { } return ( -
+ )} + {selectedCountry && + pssmCountries.map((feature) => { + if (feature.properties.name === selectedCountry) { + return ( + + +
{feature.properties.name}
+
+
    +
  • + Number of participants trained:{" "} + {feature.properties["Trained-Participants"] || "-"} +
  • +
  • + Number of PSSM instractors:{" "} + {feature.properties["PSSM-Instructors"] || "-"} +
  • +
  • + Number of senior PSSM instractors:{" "} + {feature.properties["PSSM-Senior-Instructors"] || "-"} +
  • +
+
+
+
+ ); + } + })}
-
+ ); } } diff --git a/src/Components/Layout/PSSM/countryStyles.js b/src/Components/Layout/PSSM/countryStyles.js index e26c8e1..18b1c32 100644 --- a/src/Components/Layout/PSSM/countryStyles.js +++ b/src/Components/Layout/PSSM/countryStyles.js @@ -1,26 +1,36 @@ export const CountryStyle = () => { - return { - color: "black", - weight: 1, - opacity: 1, - fillColor: "#FDEDE2", - fillOpacity: 0.3, - }; + return { + color: "black", + weight: 1, + opacity: 1, + fillColor: "#FDEDE2", + fillOpacity: 0.3, }; +}; - export const CountrySelectedStyle = (color) => { - return { - fillColor: color, - color: "black", - weight: 3, - opacity: 1, - }; - } +export const CountrySelectedStyle = (color) => { + return { + fillColor: color, + color: "black", + weight: 2, + opacity: 1, + }; +}; - export const CountryHighlightStyle = () => { - return { - fillColor: "yellow", - color: "black", - weight: 3, - }; - } \ No newline at end of file +export const CountryHighlightStyle = () => { + return { + fillColor: "yellow", + color: "black", + weight: 3, + }; +}; + +export const NotPSSMCountryStyle = () => { + return { + fillColor: "#cccccc", + color: "#e3e3e3", + weight: 1, + opacity: 1, + fillOpacity: 0.3, + }; +}; diff --git a/src/Data/PSSM.geojson b/src/Data/PSSM.geojson index 6c2b002..c1c883e 100644 --- a/src/Data/PSSM.geojson +++ b/src/Data/PSSM.geojson @@ -1,5 +1,9 @@ { "type": "FeatureCollection", + "crs": { + "type": "name", + "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } + }, "features": [ { "type": "Feature", @@ -15,7 +19,6 @@ "x": 14.7, "y": -9.5, "count": 15, - "name_y": "Angola", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -39,7 +42,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -407,7 +418,6 @@ "x": 29.2, "y": -3.3, "count": 28, - "name_y": "Burundi", "AU": 1, "EAC": 1.0, "IGAD": 0.0, @@ -431,7 +441,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 31, + "PSSM-Instructors": 2, + "PSSM-Senior-Instructors": 3 }, "geometry": { "type": "MultiPolygon", @@ -535,7 +553,6 @@ "x": 1.8, "y": 9.6, "count": 20, - "name_y": "Benin", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -559,7 +576,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -732,7 +757,6 @@ "x": -3.0, "y": 12.3, "count": 63, - "name_y": "Burkina Faso", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -756,7 +780,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -1035,7 +1067,6 @@ "x": 22.9, "y": -22.1, "count": 8, - "name_y": "Botswana", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -1045,7 +1076,7 @@ "CEN-SAD": 0.0, "SADC": 1.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -1059,7 +1090,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 1, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -1306,7 +1345,6 @@ "x": 19.0, "y": 6.6, "count": 36, - "name_y": "Central African Republic", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -1330,7 +1368,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 5, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -1680,7 +1726,6 @@ "x": -6.4, "y": 6.8, "count": 37, - "name_y": "Ivory Coast", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -1704,7 +1749,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -2028,7 +2081,6 @@ "x": 12.0, "y": 5.7, "count": 43, - "name_y": "Cameroon", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -2050,9 +2102,17 @@ "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Eligible", "WassenaarAgreement": "Eligible", - "UNProgrammeofAction": 1.0, + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -2428,7 +2488,6 @@ "x": 20.6, "y": -2.9, "count": 28, - "name_y": "Democratic Republic of the Congo", "AU": 1, "EAC": 1.0, "IGAD": 0.0, @@ -2442,7 +2501,7 @@ "RECSA": 1.0, "SARCOM": 1.0, "BamakoDeclaration": "Signed", - "KinshasaConvention": "Eligible", + "KinshasaConvention": "Signed", "ECOWASConvention": "0", "KhartoumDeclaration": "Signed", "NairobiProtocol": "Signed", @@ -2452,7 +2511,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 2, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -3116,7 +3183,6 @@ "x": 14.8, "y": -0.8, "count": 16, - "name_y": "Republic of the Congo", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -3140,7 +3206,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -3489,7 +3563,6 @@ "x": 43.7, "y": -12.1, "count": 7, - "name_y": "Comoros", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -3513,7 +3586,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 5, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -3582,7 +3663,6 @@ "x": -25.9, "y": 16.9, "count": 7, - "name_y": "Cabo Verde", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -3606,7 +3686,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -3747,7 +3835,6 @@ "x": 42.0, "y": 11.7, "count": 8, - "name_y": "Djibouti", "AU": 1, "EAC": 0.0, "IGAD": 1.0, @@ -3771,7 +3858,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -3853,7 +3948,6 @@ "x": 1.6, "y": 28.4, "count": 25, - "name_y": "Algeria", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -3877,7 +3971,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -4288,7 +4390,6 @@ "x": 29.3, "y": 26.6, "count": 21, - "name_y": "Egypt", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -4312,7 +4413,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -4591,7 +4700,6 @@ "x": 38.2, "y": 15.4, "count": 3, - "name_y": "Eritrea", "AU": 1, "EAC": 0.0, "IGAD": 1.0, @@ -4615,7 +4723,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 8, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -4841,7 +4957,6 @@ "x": 38.9, "y": 8.6, "count": 20, - "name_y": "Ethiopia", "AU": 1, "EAC": 0.0, "IGAD": 1.0, @@ -4851,7 +4966,7 @@ "CEN-SAD": 0.0, "SADC": 0.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 1.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -4865,7 +4980,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 15, + "PSSM-Instructors": 2, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -5193,7 +5316,6 @@ "x": 11.3, "y": -0.6, "count": 13, - "name_y": "Gabon", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -5215,9 +5337,17 @@ "ArmsTradeTreaty": "Signed", "FirearmsProtocol": "Ratified", "WassenaarAgreement": "Eligible", - "UNProgrammeofAction": 1.0, + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -5514,7 +5644,6 @@ "x": -1.6, "y": 8.0, "count": 33, - "name_y": "Ghana", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -5538,7 +5667,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -5777,7 +5914,6 @@ "x": -11.3, "y": 10.5, "count": 21, - "name_y": "Guinea", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -5801,7 +5937,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -6175,7 +6319,6 @@ "x": -15.310139, "y": 13.443182, "count": 12, - "name_y": "Gambia", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -6199,7 +6342,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -6298,7 +6449,6 @@ "x": -15.5, "y": 12.0, "count": 14, - "name_y": "Guinea-Bissau", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -6320,9 +6470,17 @@ "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Ratified", "WassenaarAgreement": "Eligible", - "UNProgrammeofAction": 0.0, + "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -6527,7 +6685,6 @@ "x": 8.5, "y": 1.8, "count": 7, - "name_y": "Equatorial Guinea", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -6551,7 +6708,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 0.0 + "StG-PoA": 0.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -6648,7 +6813,6 @@ "x": 40.5, "y": -2.0, "count": 43, - "name_y": "Kenya", "AU": 1, "EAC": 1.0, "IGAD": 1.0, @@ -6672,7 +6836,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 138, + "PSSM-Instructors": 15, + "PSSM-Senior-Instructors": 4 }, "geometry": { "type": "MultiPolygon", @@ -6964,7 +7136,6 @@ "x": -9.7, "y": 6.4, "count": 18, - "name_y": "Liberia", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -6976,7 +7147,7 @@ "ECCAS": 0.0, "ICGLR": 0.0, "RECSA": 0.0, - "SARCOM": 1.0, + "SARCOM": 0.0, "BamakoDeclaration": "Signed", "KinshasaConvention": "0", "ECOWASConvention": "Signed", @@ -6988,7 +7159,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -7153,7 +7332,6 @@ "x": 17.4, "y": 27.2, "count": 20, - "name_y": "Libya", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -7177,7 +7355,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -7460,7 +7646,6 @@ "x": 27.6, "y": -29.5, "count": 4, - "name_y": "Lesotho", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -7482,9 +7667,17 @@ "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Ratified", "WassenaarAgreement": "Eligible", - "UNProgrammeofAction": 1.0, + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -7587,7 +7780,6 @@ "x": -7.0, "y": 32.0, "count": 18, - "name_y": "Morocco", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -7611,7 +7803,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -7897,7 +8097,6 @@ "x": 45.7, "y": -19.4, "count": 11, - "name_y": "Madagascar", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -7921,7 +8120,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -8221,7 +8428,6 @@ "x": -3.8, "y": 17.4, "count": 76, - "name_y": "Mali", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -8245,7 +8451,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -8745,7 +8959,6 @@ "x": 34.3, "y": -17.3, "count": 11, - "name_y": "Mozambique", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -8755,7 +8968,7 @@ "CEN-SAD": 0.0, "SADC": 1.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -8769,7 +8982,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -9250,7 +9471,6 @@ "x": -12.3, "y": 21.1, "count": 42, - "name_y": "Mauritania", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -9274,7 +9494,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -9677,7 +9905,6 @@ "x": 56.9, "y": -20.3, "count": 12, - "name_y": "Mauritius", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -9701,7 +9928,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -9746,7 +9981,6 @@ "x": 34.1, "y": -12.0, "count": 13, - "name_y": "Malawi", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -9756,7 +9990,7 @@ "CEN-SAD": 0.0, "SADC": 1.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -9770,7 +10004,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 5, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -10111,7 +10353,6 @@ "x": 16.5, "y": -22.1, "count": 9, - "name_y": "Namibia", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -10121,7 +10362,7 @@ "CEN-SAD": 0.0, "SADC": 1.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -10135,7 +10376,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -10396,7 +10645,6 @@ "x": 8.9, "y": 17.3, "count": 56, - "name_y": "Niger", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -10420,7 +10668,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -10701,7 +10957,6 @@ "x": 6.7, "y": 4.5, "count": 65, - "name_y": "Nigeria", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -10725,7 +10980,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 1, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -11119,7 +11382,6 @@ "x": 29.4, "y": -1.9, "count": 24, - "name_y": "Rwanda", "AU": 1, "EAC": 1.0, "IGAD": 0.0, @@ -11129,7 +11391,7 @@ "CEN-SAD": 0.0, "SADC": 0.0, "ECCAS": 1.0, - "ICGLR": 0.0, + "ICGLR": 1.0, "RECSA": 1.0, "SARCOM": 0.0, "BamakoDeclaration": "Signed", @@ -11143,7 +11405,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 2, + "PSSM-Senior-Instructors": 2 }, "geometry": { "type": "MultiPolygon", @@ -11257,7 +11527,6 @@ "x": 29.4, "y": 16.1, "count": 29, - "name_y": "Sudan", "AU": 1, "EAC": 0.0, "IGAD": 1.0, @@ -11281,7 +11550,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 29, + "PSSM-Instructors": 2, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -11754,7 +12031,6 @@ "x": -15.0, "y": 15.0, "count": 35, - "name_y": "Senegal", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -11778,7 +12054,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -12047,7 +12331,6 @@ "x": -12.5, "y": 8.5, "count": 14, - "name_y": "Sierra Leone", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -12071,7 +12354,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -12227,7 +12518,6 @@ "x": 45.5, "y": 6.0, "count": 22, - "name_y": "Somalia", "AU": 1, "EAC": 1.0, "IGAD": 1.0, @@ -12251,7 +12541,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 10, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -12472,7 +12770,6 @@ "x": 29.1, "y": 7.2, "count": 32, - "name_y": "South Sudan", "AU": 1, "EAC": 1.0, "IGAD": 1.0, @@ -12496,7 +12793,15 @@ "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 53, + "PSSM-Instructors": 4, + "PSSM-Senior-Instructors": 1 }, "geometry": { "type": "MultiPolygon", @@ -12848,7 +13153,6 @@ "x": 5.7, "y": 1.5, "count": 13, - "name_y": "São Tomé und Príncipe", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -12870,9 +13174,17 @@ "ArmsTradeTreaty": "Signed", "FirearmsProtocol": "Ratified", "WassenaarAgreement": "Eligible", - "UNProgrammeofAction": 1.0, + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": 1.0 + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -12924,7 +13236,6 @@ "x": 31.4, "y": -26.5, "count": 5, - "name_y": "Eswatini", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -12937,18 +13248,26 @@ "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": "Ratified", + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "Signed", "ArmsTradeTreaty": "Signed", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, + "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -13012,7 +13331,6 @@ "x": 54.6, "y": -4.5, "count": 10, - "name_y": "Seychelles", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -13024,19 +13342,27 @@ "ECCAS": 0.0, "ICGLR": 0.0, "RECSA": 1.0, - "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, + "SARCOM": 1.0, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", "NairobiProtocol": "Signed", - "SADCFirearmsProtocol": null, + "SADCFirearmsProtocol": "Signed", "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Signed", - "WassenaarAgreement": null, - "UNProgrammeofAction": null, - "InternationalTracingInstrument": null, - "StG-PoA": null + "WassenaarAgreement": "Eligible", + "UNProgrammeofAction": 0.0, + "InternationalTracingInstrument": 0.0, + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 12, + "PSSM-Instructors": 4, + "PSSM-Senior-Instructors": 1 }, "geometry": { "type": "MultiPolygon", @@ -13070,7 +13396,6 @@ "x": 18.2, "y": 15.3, "count": 45, - "name_y": "Chad", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -13082,19 +13407,27 @@ "ECCAS": 1.0, "ICGLR": 0.0, "RECSA": 0.0, - "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": null, + "SARCOM": 1.0, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "Ratified", + "ECOWASConvention": "0", + "KhartoumDeclaration": "Signed", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "0", "ArmsTradeTreaty": "Ratified", - "FirearmsProtocol": "0", - "WassenaarAgreement": null, - "UNProgrammeofAction": 1.0, - "InternationalTracingInstrument": null, - "StG-PoA": null + "FirearmsProtocol": "Eligible", + "WassenaarAgreement": "Eligible", + "UNProgrammeofAction": 0.0, + "InternationalTracingInstrument": 0.0, + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -13411,7 +13744,6 @@ "x": 0.6, "y": 8.6, "count": 32, - "name_y": "Togo", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -13424,18 +13756,26 @@ "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": null, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "Signed", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "0", "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, + "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, - "InternationalTracingInstrument": null, - "StG-PoA": null + "InternationalTracingInstrument": 1.0, + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -13591,7 +13931,6 @@ "x": 9.1, "y": 34.2, "count": 21, - "name_y": "Tunisia", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -13604,18 +13943,26 @@ "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": null, - "ArmsTradeTreaty": "0", + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "0", + "ArmsTradeTreaty": "Eligible", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, - "UNProgrammeofAction": 1.0, - "InternationalTracingInstrument": null, - "StG-PoA": null + "WassenaarAgreement": "Eligible", + "UNProgrammeofAction": 0.0, + "InternationalTracingInstrument": 0.0, + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -13835,7 +14182,6 @@ "x": 38.0, "y": -6.0, "count": 32, - "name_y": "Tanzania", "AU": 1, "EAC": 1.0, "IGAD": 0.0, @@ -13848,18 +14194,26 @@ "ICGLR": 1.0, "RECSA": 1.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", "NairobiProtocol": "Signed", "SADCFirearmsProtocol": "Ratified", "ArmsTradeTreaty": "Signed", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, - "UNProgrammeofAction": 1.0, + "WassenaarAgreement": "Eligible", + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 24, + "PSSM-Instructors": 5, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -14431,7 +14785,6 @@ "x": 31.6, "y": 1.5, "count": 28, - "name_y": "Uganda", "AU": 1, "EAC": 1.0, "IGAD": 1.0, @@ -14444,18 +14797,26 @@ "ICGLR": 1.0, "RECSA": 1.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", "NairobiProtocol": "Signed", - "SADCFirearmsProtocol": null, - "ArmsTradeTreaty": "0", + "SADCFirearmsProtocol": "0", + "ArmsTradeTreaty": "Eligible", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, + "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 63, + "PSSM-Instructors": 6, + "PSSM-Senior-Instructors": 2 }, "geometry": { "type": "MultiPolygon", @@ -14789,7 +15150,6 @@ "x": 23.0, "y": -29.1, "count": 12, - "name_y": "South Africa", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -14802,18 +15162,26 @@ "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": null, + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "Ratified", "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, + "WassenaarAgreement": "Ratified", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 1, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -15287,7 +15655,6 @@ "x": 27.2, "y": -13.5, "count": 16, - "name_y": "Zambia", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -15300,18 +15667,26 @@ "ICGLR": 1.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": "Ratified", + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "Signed", "ArmsTradeTreaty": "Ratified", "FirearmsProtocol": "Ratified", - "WassenaarAgreement": null, + "WassenaarAgreement": "Eligible", "UNProgrammeofAction": 1.0, "InternationalTracingInstrument": 1.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -15784,7 +16159,6 @@ "x": 29.861941522355345, "y": -19.017733021479611, "count": 8, - "name_y": "Zimbabwe", "AU": 1, "EAC": 0.0, "IGAD": 0.0, @@ -15794,21 +16168,29 @@ "CEN-SAD": 0.0, "SADC": 1.0, "ECCAS": 0.0, - "ICGLR": 1.0, + "ICGLR": 0.0, "RECSA": 0.0, "SARCOM": 0.0, - "BamakoDeclaration": null, - "KinshasaConvention": null, - "ECOWASConvention": null, - "KhartoumDeclaration": null, - "NairobiProtocol": null, - "SADCFirearmsProtocol": "Ratified", + "BamakoDeclaration": "Signed", + "KinshasaConvention": "0", + "ECOWASConvention": "0", + "KhartoumDeclaration": "0", + "NairobiProtocol": "0", + "SADCFirearmsProtocol": "Signed", "ArmsTradeTreaty": "Signed", - "FirearmsProtocol": "0", - "WassenaarAgreement": null, - "UNProgrammeofAction": 1.0, + "FirearmsProtocol": "Eligible", + "WassenaarAgreement": "Eligible", + "UNProgrammeofAction": 0.0, "InternationalTracingInstrument": 0.0, - "StG-PoA": null + "StG-PoA": 1.0, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 1, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", @@ -16075,7 +16457,6 @@ "x": -14.6, "y": 24.8, "count": 0, - "name_y": "Western Sahara", "AU": 1, "EAC": null, "IGAD": null, @@ -16099,7 +16480,15 @@ "WassenaarAgreement": null, "UNProgrammeofAction": null, "InternationalTracingInstrument": null, - "StG-PoA": null + "StG-PoA": null, + "Northern-Africa": null, + "Eastern-Africa": null, + "Southern-Africa": null, + "Western-Africa": null, + "Central-Africa": null, + "Trained-Participants": 0, + "PSSM-Instructors": 0, + "PSSM-Senior-Instructors": 0 }, "geometry": { "type": "MultiPolygon", diff --git a/src/Icons/person.svg b/src/Icons/person.svg new file mode 100644 index 0000000..f0507a1 --- /dev/null +++ b/src/Icons/person.svg @@ -0,0 +1,23 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Icons/person2.svg b/src/Icons/person2.svg new file mode 100644 index 0000000..eedf63a --- /dev/null +++ b/src/Icons/person2.svg @@ -0,0 +1,33 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Icons/person3.svg b/src/Icons/person3.svg new file mode 100644 index 0000000..983424c --- /dev/null +++ b/src/Icons/person3.svg @@ -0,0 +1,42 @@ + + + +Created with Fabric.js 5.2.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Styles/Layout/_map_pssm.scss b/src/Styles/Layout/_map_pssm.scss index e69de29..2346d10 100644 --- a/src/Styles/Layout/_map_pssm.scss +++ b/src/Styles/Layout/_map_pssm.scss @@ -0,0 +1,12 @@ + +.tooltip-text { + font-size: 1rem; +} + +.tooltip-text-number{ + color: rgb(0, 132, 255); +} + +.person-icon{ + height: 1.3rem; +} \ No newline at end of file diff --git a/src/Styles/main.scss b/src/Styles/main.scss index 84cf0dc..b855f93 100644 --- a/src/Styles/main.scss +++ b/src/Styles/main.scss @@ -12,6 +12,7 @@ @import 'Layout/filters'; @import 'Layout/map'; @import 'Layout/tooltips'; +@import 'Layout/map_pssm'; // Import other layout partials... // Components