import { useContext, useState } from "react"; import { LanguageContext } from "../Locales/Context"; import { BackendURL } from "../Config"; import axios from "axios"; import { RangedWeapon } from "../Models/RangedWeapon"; import { Navigate, useParams } from "react-router"; import { GetLocalizedString } from "../Locales/Locales"; import "./Weapons.css" const RangedWeaponsURL = `${BackendURL}/weapons/ranged`; function RangedWeaponPage() { const { id } = useParams(); const lang = useContext(LanguageContext); const [weapon, setWeapon] = useState(null); useState(() => { getWeapon(id).then(data => setWeapon(data)); }); if (weapon == null) { return

Not found

; // ; } return (

{weapon?.Name}

{ GetLocalizedString(weapon.WeaponType, lang) }

{ GetLocalizedString("Accuracy", lang) } {weapon.Accuracy}
{ GetLocalizedString("Concealability", lang) } { GetLocalizedString(weapon.Concealability, lang) }
{ GetLocalizedString("Avaliability", lang) } { GetLocalizedString(weapon.Avaliability, lang) }
{ GetLocalizedString("Damage/Ammunition", lang) } {weapon.Damage}({weapon.Ammunition})
{ GetLocalizedString("Number Of Shots", lang) } {weapon.NumberOfShots}
{ GetLocalizedString("Rate Of Fire", lang) } {weapon.RateOfFire}
{ GetLocalizedString("Reliability", lang) } { GetLocalizedString(weapon.Reliability, lang) }
); } async function getWeapon(id: string | undefined): Promise { if (id == undefined) return null; try { const {data, status} = await axios.get( `${RangedWeaponsURL}/${id}`, { headers: { Accept: "application/json" } } ); if (status != 200) return null; return data; } catch (err) { console.log(`Failed to get ranged weapon: ${err}`); return null; } } export default RangedWeaponPage;