diff --git a/app/components/inventory.tsx b/app/components/inventory.tsx index 36b9bc9..b0c181d 100644 --- a/app/components/inventory.tsx +++ b/app/components/inventory.tsx @@ -4,12 +4,22 @@ import { Agent } from "./agent"; import { Weapon } from "./weapon"; import { useNotification } from "~/hooks/notification"; +interface SkinInfo { + id: string; + name: string; + color: string; + display: string; + paint_index: number; + float: number; + pattern: number; +} + export function Inventory({ side }: { side: "T" | "CT" }) { const [loading, setLoading] = useState(true); - const [agent, setAgent] = useState({}); - const [gloves, setGloves] = useState({ name: "", color: "", display: "", paint_index: 0, float: 0.0, pattern: 0 }); - const [knife, setKnife] = useState({ name: "", color: "", display: "", paint_index: 0, float: 0.0, pattern: 0 }); - const [weapons, setWeapons] = useState([]); + const [agent, setAgent] = useState(); + const [gloves, setGloves] = useState(); + const [knife, setKnife] = useState(); + const [weapons, setWeapons] = useState>([]); const { notify } = useNotification(); useEffect(() => { @@ -50,7 +60,46 @@ export function Inventory({ side }: { side: "T" | "CT" }) { ); }); - setGloves(response[0]) + setGloves(response[0]); + + response = await fetch( + `${import.meta.env.VITE_BASE_API_URL}/skin?team=${side}`, + { credentials: "include" }, + ) + .then((r) => r.json()) + .catch((e) => { + notify( + { + type: "danger", + loading: false, + title: "An error occured.", + message: `An error occured: ${e}`, + }, + 10000, + ); + }); + + setWeapons(response); + + response = await fetch( + `${import.meta.env.VITE_BASE_API_URL}/agent?team=${side}`, + { credentials: "include" }, + ) + .then((r) => r.json()) + .catch((e) => { + notify( + { + type: "danger", + loading: false, + title: "An error occured.", + message: `An error occured: ${e}`, + }, + 10000, + ); + }); + + setAgent(response); + setLoading(false); }; @@ -68,11 +117,11 @@ export function Inventory({ side }: { side: "T" | "CT" }) { className="flex flex-col rounded-xl w-1/3 p-4 gap-2" variant="secondary" > - +
- - - + + +
{Array.from({ length: 50 }, (_, index) => ( - + ))}
@@ -91,31 +143,38 @@ export function Inventory({ side }: { side: "T" | "CT" }) { return (
- + {agent && }
- - - + {knife && ( + + )} + {gloves && ( + + )} + {agent && ( + + )}
- {Array.from({ length: 50 }, (_, index) => ( + {weapons.map((v, i) => ( ))}