From afda744c08739f80df5342a2324516559b8093a5 Mon Sep 17 00:00:00 2001 From: lza_menace Date: Thu, 12 Jan 2023 15:22:14 -0800 Subject: [PATCH] add inventory --- src/components/Hero.jsx | 24 ++++++++++++++++++++---- src/styles/hero.css | 20 ++++++++++++++++++++ src/styles/sections.css | 19 ------------------- 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/src/components/Hero.jsx b/src/components/Hero.jsx index a41ccf6..f901bc1 100644 --- a/src/components/Hero.jsx +++ b/src/components/Hero.jsx @@ -14,13 +14,15 @@ import Arrow from '../img/arrow_right.png'; export function Hero(props) { const contractAddress = props.contractAddress; + const { isConnected, address } = useAccount(); + const [tokensMinted, setTokensMinted] = useState(() => { - const saved = localStorage.getItem('tokensMinted-v1'); + const saved = localStorage.getItem('tokensMinted-v2-' + address); return saved || JSON.stringify([]) }); useEffect(() => { - localStorage.setItem('tokensMinted-v1', tokensMinted); + localStorage.setItem('tokensMinted-v2-' + address, tokensMinted); }, [tokensMinted]); const [options, setOptions] = useState({ @@ -52,7 +54,6 @@ export function Hero(props) { function handleStateChange(obj) { setOptions(preState => ({...preState , ...obj})); } - const { isConnected, address } = useAccount(); const defOpt = { address: contractAddress, abi: MainABI, @@ -313,6 +314,7 @@ export function Hero(props) {

{isConnected && options.unaboomersKilled < options.unaboomerMaxSupply - options.unaboomerMaxSurvivorCount + && options.bombBalance > 0 && ( <> { @@ -327,10 +329,24 @@ export function Hero(props) {

(tx fee)

- ) + ) || options.bombBalance == 0 &&

no bombs

} +
+ {isConnected && JSON.parse(tokensMinted).length > 0 && ( + <> +

Your Unaboomers

+
+ {JSON.parse(tokensMinted).map((id, idx) => ( +
+ +
+ ))} +
+ + )} +
) } diff --git a/src/styles/hero.css b/src/styles/hero.css index 10c9e76..1b633c6 100644 --- a/src/styles/hero.css +++ b/src/styles/hero.css @@ -44,4 +44,24 @@ button.doThing:hover { button.doThing:disabled { background-color: grey; +} + +#userInventory { + margin: 0 0 4em 0; +} + +#userInventory h1 { + margin: 0 0 1em 0; +} + +.ownedTokens { + display: flex; + flex-direction: row; + flex-wrap: wrap; + /* justify-content: center; */ +} + +.ownedToken { + height: 100%; + flex: 0 10%; } \ No newline at end of file diff --git a/src/styles/sections.css b/src/styles/sections.css index e676c11..f9d807d 100644 --- a/src/styles/sections.css +++ b/src/styles/sections.css @@ -267,22 +267,3 @@ padding-right: 8px; } -#userInventory { - margin: 0 0 4em 0; -} - -#userInventory h1 { - margin: 0 0 1em 0; -} - -.ownedTokens { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: center; -} - -.ownedToken { - height: 100%; - flex: 0 12%; -} \ No newline at end of file