From f66063b273de75f96209283d206f8f55dce9b06c Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sat, 26 Feb 2022 18:58:16 -0800 Subject: [PATCH] Grids shouldn't send API calls if a grid isn't editable --- components/CharacterGrid/index.tsx | 14 ++++++++------ components/SummonGrid/index.tsx | 10 ++++++---- components/WeaponGrid/index.tsx | 11 +++++++---- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/components/CharacterGrid/index.tsx b/components/CharacterGrid/index.tsx index 4a1eb463..c855c206 100644 --- a/components/CharacterGrid/index.tsx +++ b/components/CharacterGrid/index.tsx @@ -71,9 +71,10 @@ const CharacterGrid = (props: Props) => { const partyUser = (party.user_id) ? party.user_id : undefined const loggedInUser = (cookies.user) ? cookies.user.user_id : '' - if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser) { - party.editable = true - } + if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser) + appState.party.editable = true + else + appState.party.editable = false // Store the important party and state-keeping values appState.party.id = party.id @@ -120,9 +121,10 @@ const CharacterGrid = (props: Props) => { .catch(error => console.error(error)) }) } else { - saveCharacter(party.id, character, position) - .then(response => storeGridCharacter(response.data.grid_character)) - .catch(error => console.error(error)) + if (party.editable) + saveCharacter(party.id, character, position) + .then(response => storeGridCharacter(response.data.grid_character)) + .catch(error => console.error(error)) } } diff --git a/components/SummonGrid/index.tsx b/components/SummonGrid/index.tsx index 5f472e31..5a095505 100644 --- a/components/SummonGrid/index.tsx +++ b/components/SummonGrid/index.tsx @@ -81,9 +81,10 @@ const SummonGrid = (props: Props) => { const partyUser = (party.user_id) ? party.user_id : undefined const loggedInUser = (cookies.user) ? cookies.user.user_id : '' - if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser) { + if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser.id) appState.party.editable = true - } + else + appState.party.editable = false // Store the important party and state-keeping values appState.party.id = party.id @@ -134,8 +135,9 @@ const SummonGrid = (props: Props) => { .then(response => storeGridSummon(response.data.grid_summon)) }) } else { - saveSummon(party.id, summon, position) - .then(response => storeGridSummon(response.data.grid_summon)) + if (party.editable) + saveSummon(party.id, summon, position) + .then(response => storeGridSummon(response.data.grid_summon)) } } diff --git a/components/WeaponGrid/index.tsx b/components/WeaponGrid/index.tsx index 990503bd..36e89b71 100644 --- a/components/WeaponGrid/index.tsx +++ b/components/WeaponGrid/index.tsx @@ -77,14 +77,16 @@ const WeaponGrid = (props: Props) => { const partyUser = (party.user_id) ? party.user_id : undefined const loggedInUser = (cookies.user) ? cookies.user.user_id : '' - if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser) { + if (partyUser != undefined && loggedInUser != undefined && partyUser === loggedInUser.id) appState.party.editable = true - } + else + appState.party.editable = false // Store the important party and state-keeping values appState.party.id = party.id appState.party.extra = party.is_extra + setFound(true) setLoading(false) @@ -133,8 +135,9 @@ const WeaponGrid = (props: Props) => { .then(response => storeGridWeapon(response.data.grid_weapon)) }) } else { - saveWeapon(party.id, weapon, position) - .then(response => storeGridWeapon(response.data.grid_weapon)) + console.log(party.editable) + saveWeapon(party.id, weapon, position) + .then(response => storeGridWeapon(response.data.grid_weapon)) } }