From ddbe4fa61425f6a871a23238ce15a0929e201e6e Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Mon, 17 Jul 2023 15:08:57 -0400 Subject: Modularizing certain elements; Working information section --- components/travel-advisory/ListCountries.js | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 components/travel-advisory/ListCountries.js (limited to 'components/travel-advisory/ListCountries.js') diff --git a/components/travel-advisory/ListCountries.js b/components/travel-advisory/ListCountries.js new file mode 100644 index 0000000..87e01fc --- /dev/null +++ b/components/travel-advisory/ListCountries.js @@ -0,0 +1,66 @@ +"use client" +import countriesData from '@/app/travel-advisory/countries.json' assert { type: 'json' }; +import HistoryModal from "@/components/travel-advisory/HistoryModal"; +import { useState } from "react"; + +function getDangerLevel(danger) { + let dangerLevel; + switch (danger) { + case 0: + dangerLevel = "Take normal security precautions" + break; + case 1: + dangerLevel = "Exercise a high degree of caution" + break; + case 2: + dangerLevel = "Avoid non-essential travel" + break; + case 3: + dangerLevel = "Avoid all travel" + break; + default: + dangerLevel = "Seems like the danger level is broken!" + break; + } + + return dangerLevel; +} + +export default function Countries(){ + // eslint-disable-next-line react-hooks/rules-of-hooks + const [showModal, setShowModal] = useState(false); + const [selectedCountry, setSelectedCountry] = useState(null); + const [selectedDangerLevel, setSelectedDangerLevel] = useState(null); + const [selectedCountryHistory, setSelectedCountryHistory] = useState(null); + const countries = countriesData.countries; + + return countries.map((country) => { + let dangerLevel = getDangerLevel(country.danger); + + const settlementsList = country.settlements.map((settlement) => { + return ( +
+

{settlement.name}

+

{getDangerLevel(settlement.danger)}

+
+ ) + }) + + return ( +
+
+

{country.name}

+

{dangerLevel}

+
{settlementsList}
+ +
+ setShowModal(false)} countries={selectedCountry} dangerLevel={selectedDangerLevel} history={selectedCountryHistory} /> +
+ ) + }) +} -- cgit v1.2.3