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/CharacterUnit/index.tsx b/components/CharacterUnit/index.tsx index 945c1e30..761d4af7 100644 --- a/components/CharacterUnit/index.tsx +++ b/components/CharacterUnit/index.tsx @@ -6,6 +6,7 @@ import UncapIndicator from '~components/UncapIndicator' import PlusIcon from '~public/icons/Add.svg' import './index.scss' +import { omit } from 'lodash' interface Props { gridCharacter: GridCharacter | undefined @@ -47,20 +48,27 @@ const CharacterUnit = (props: Props) => { props.updateUncap(props.gridCharacter.id, props.position, uncap) } + const image = ( +
+ {character?.name.en} + { (props.editable) ? : '' } +
+ ) + + const editableImage = ( + + {image} + + ) + return (
- -
- {character?.name.en} - { (props.editable) ? : '' } -
-
- + { (props.editable) ? editableImage : image } { (gridCharacter && character) ? { 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/SummonUnit/index.tsx b/components/SummonUnit/index.tsx index ce8cb3e5..71aa1df3 100644 --- a/components/SummonUnit/index.tsx +++ b/components/SummonUnit/index.tsx @@ -55,32 +55,37 @@ const SummonUnit = (props: Props) => { props.updateUncap(props.gridSummon.id, props.position, uncap) } - return ( -
-
- -
- {summon?.name.en} - { (props.editable) ? : '' } -
-
+ const image = ( +
+ {summon?.name.en} + { (props.editable) ? : '' } +
+ ) - { (gridSummon) ? - : '' - } -

{summon?.name.en}

-
+ const editableImage = ( + + {image} + + ) + + return ( +
+ { (props.editable) ? editableImage : image } + { (gridSummon) ? + : '' + } +

{summon?.name.en}

) } 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)) } } diff --git a/components/WeaponUnit/index.tsx b/components/WeaponUnit/index.tsx index 12f83fa8..f8541653 100644 --- a/components/WeaponUnit/index.tsx +++ b/components/WeaponUnit/index.tsx @@ -53,20 +53,27 @@ const WeaponUnit = (props: Props) => { props.updateUncap(props.gridWeapon.id, props.position, uncap) } + const image = ( +
+ {weapon?.name.en} + { (props.editable) ? : '' } +
+ ) + + const editableImage = ( + + {image} + + ) + return (
- -
- {weapon?.name.en} - { (props.editable) ? : '' } -
-
- + { (props.editable) ? editableImage : image } { (gridWeapon) ?