Disable rendering of search modal in read-only mode

This commit is contained in:
Justin Edmund 2022-02-26 19:03:46 -08:00
parent f66063b273
commit d76c7fa03a
3 changed files with 67 additions and 47 deletions

View file

@ -6,6 +6,7 @@ import UncapIndicator from '~components/UncapIndicator'
import PlusIcon from '~public/icons/Add.svg' import PlusIcon from '~public/icons/Add.svg'
import './index.scss' import './index.scss'
import { omit } from 'lodash'
interface Props { interface Props {
gridCharacter: GridCharacter | undefined gridCharacter: GridCharacter | undefined
@ -47,20 +48,27 @@ const CharacterUnit = (props: Props) => {
props.updateUncap(props.gridCharacter.id, props.position, uncap) props.updateUncap(props.gridCharacter.id, props.position, uncap)
} }
return ( const image = (
<div> <div className="CharacterImage">
<div className={classes}> <img alt={character?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
)
const editableImage = (
<SearchModal <SearchModal
placeholderText="Search for a character..." placeholderText="Search for a character..."
fromPosition={props.position} fromPosition={props.position}
object="characters" object="characters"
send={props.updateObject}> send={props.updateObject}>
<div className="CharacterImage"> {image}
<img alt={character?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
</SearchModal> </SearchModal>
)
return (
<div>
<div className={classes}>
{ (props.editable) ? editableImage : image }
{ (gridCharacter && character) ? { (gridCharacter && character) ?
<UncapIndicator <UncapIndicator
type="character" type="character"

View file

@ -55,20 +55,26 @@ const SummonUnit = (props: Props) => {
props.updateUncap(props.gridSummon.id, props.position, uncap) props.updateUncap(props.gridSummon.id, props.position, uncap)
} }
return ( const image = (
<div> <div className="SummonImage">
<div className={classes}> <img alt={summon?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
)
const editableImage = (
<SearchModal <SearchModal
placeholderText="Search for a summon..." placeholderText="Search for a summon..."
fromPosition={props.position} fromPosition={props.position}
object="summons" object="summons"
send={props.updateObject}> send={props.updateObject}>
<div className="SummonImage"> {image}
<img alt={summon?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
</SearchModal> </SearchModal>
)
return (
<div className={classes}>
{ (props.editable) ? editableImage : image }
{ (gridSummon) ? { (gridSummon) ?
<UncapIndicator <UncapIndicator
type="summon" type="summon"
@ -81,7 +87,6 @@ const SummonUnit = (props: Props) => {
} }
<h3 className="SummonName">{summon?.name.en}</h3> <h3 className="SummonName">{summon?.name.en}</h3>
</div> </div>
</div>
) )
} }

View file

@ -53,20 +53,27 @@ const WeaponUnit = (props: Props) => {
props.updateUncap(props.gridWeapon.id, props.position, uncap) props.updateUncap(props.gridWeapon.id, props.position, uncap)
} }
return ( const image = (
<div> <div className="WeaponImage">
<div className={classes}> <img alt={weapon?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
)
const editableImage = (
<SearchModal <SearchModal
placeholderText="Search for a weapon..." placeholderText="Search for a weapon..."
fromPosition={props.position} fromPosition={props.position}
object="weapons" object="weapons"
send={props.updateObject}> send={props.updateObject}>
<div className="WeaponImage"> {image}
<img alt={weapon?.name.en} className="grid_image" src={imageUrl} />
{ (props.editable) ? <span className='icon'><PlusIcon /></span> : '' }
</div>
</SearchModal> </SearchModal>
)
return (
<div>
<div className={classes}>
{ (props.editable) ? editableImage : image }
{ (gridWeapon) ? { (gridWeapon) ?
<UncapIndicator <UncapIndicator
type="weapon" type="weapon"