Remove toggle ability from Extra grids

This commit is contained in:
Justin Edmund 2023-06-18 01:20:42 -07:00
parent af1959aaca
commit 11bb60e95a
3 changed files with 5 additions and 54 deletions

View file

@ -11,12 +11,10 @@ import classNames from 'classnames'
// Props // Props
interface Props { interface Props {
grid: GridArray<GridWeapon> grid: GridArray<GridWeapon>
enabled: boolean
editable: boolean editable: boolean
found?: boolean found?: boolean
offset: number offset: number
removeWeapon: (id: string) => void removeWeapon: (id: string) => void
updateExtra: (enabled: boolean) => void
updateObject: (object: SearchableObject, position: number) => void updateObject: (object: SearchableObject, position: number) => void
updateUncap: (id: string, position: number, uncap: number) => void updateUncap: (id: string, position: number, uncap: number) => void
} }
@ -26,12 +24,9 @@ const EXTRA_WEAPONS_COUNT = 3
const ExtraWeaponsGrid = ({ const ExtraWeaponsGrid = ({
grid, grid,
enabled,
editable, editable,
found,
offset, offset,
removeWeapon, removeWeapon,
updateExtra,
updateObject, updateObject,
updateUncap, updateUncap,
}: Props) => { }: Props) => {
@ -40,16 +35,9 @@ const ExtraWeaponsGrid = ({
const classes = classNames({ const classes = classNames({
ExtraWeapons: true, ExtraWeapons: true,
ContainerItem: true, ContainerItem: true,
Disabled: !enabled,
}) })
function onCheckedChange(checked: boolean) { const extraWeapons = (
updateExtra(checked)
}
const disabledElement = <></>
const enabledElement = (
<ul id="ExtraWeaponGrid"> <ul id="ExtraWeaponGrid">
{Array.from(Array(EXTRA_WEAPONS_COUNT)).map((x, i) => { {Array.from(Array(EXTRA_WEAPONS_COUNT)).map((x, i) => {
const itemClasses = classNames({ const itemClasses = classNames({
@ -77,17 +65,8 @@ const ExtraWeaponsGrid = ({
<div className={classes}> <div className={classes}>
<div className="Header"> <div className="Header">
<h3>{t('extra_weapons')}</h3> <h3>{t('extra_weapons')}</h3>
{editable ? (
<Switch
name="ExtraWeapons"
checked={enabled}
onCheckedChange={onCheckedChange}
/>
) : (
''
)}
</div> </div>
{enabled ? enabledElement : ''} {extraWeapons}
</div> </div>
) )
} }

View file

@ -12,7 +12,6 @@ import './index.scss'
interface Props { interface Props {
grid: GuidebookList grid: GuidebookList
editable: boolean editable: boolean
offset: number
removeGuidebook: (position: number) => void removeGuidebook: (position: number) => void
updateObject: (object: SearchableObject, position: number) => void updateObject: (object: SearchableObject, position: number) => void
} }
@ -28,28 +27,12 @@ const GuidebooksGrid = ({
}: Props) => { }: Props) => {
const { t } = useTranslation('common') const { t } = useTranslation('common')
const [enabled, setEnabled] = useState(false)
const classes = classNames({ const classes = classNames({
Guidebooks: true, Guidebooks: true,
ContainerItem: true, ContainerItem: true,
Disabled: !enabled,
}) })
useEffect(() => { const guidebooks = (
console.log('Grid updated')
if (hasGuidebooks()) setEnabled(true)
}, [grid])
function hasGuidebooks() {
return grid && (grid[0] || grid[1] || grid[2])
}
function onCheckedChange(checked: boolean) {
setEnabled(checked)
}
const enabledElement = (
<ul id="GuidebooksGrid"> <ul id="GuidebooksGrid">
{Array.from(Array(EXTRA_WEAPONS_COUNT)).map((x, i) => { {Array.from(Array(EXTRA_WEAPONS_COUNT)).map((x, i) => {
const itemClasses = classNames({ const itemClasses = classNames({
@ -75,21 +58,12 @@ const GuidebooksGrid = ({
<div className={classes}> <div className={classes}>
<div className="Header"> <div className="Header">
<h3>{t('sephira_guidebooks')}</h3> <h3>{t('sephira_guidebooks')}</h3>
{editable ? (
<Switch
name="Guidebooks"
checked={enabled}
onCheckedChange={onCheckedChange}
/>
) : (
''
)}
</div> </div>
{enabled ? enabledElement : ''} {guidebooks}
</div> </div>
) )
return editable || (enabled && !editable) ? guidebookElement : <div /> return guidebookElement
} }
export default GuidebooksGrid export default GuidebooksGrid

View file

@ -380,11 +380,9 @@ const WeaponGrid = (props: Props) => {
{appState.party.raid && appState.party.raid.group.extra && ( {appState.party.raid && appState.party.raid.group.extra && (
<ExtraWeaponsGrid <ExtraWeaponsGrid
grid={appState.grid.weapons.allWeapons} grid={appState.grid.weapons.allWeapons}
enabled={appState.party.extra}
editable={props.editable} editable={props.editable}
offset={numWeapons} offset={numWeapons}
removeWeapon={removeWeapon} removeWeapon={removeWeapon}
updateExtra={props.updateExtra}
updateObject={receiveWeaponFromSearch} updateObject={receiveWeaponFromSearch}
updateUncap={initiateUncapUpdate} updateUncap={initiateUncapUpdate}
/> />