BOSSES,
getDungeonAcquiredSKs,
getDungeonRemainingItems,
+ shouldCompactKeysanity,
shouldShowDungeonItem,
} from '../../helpers/tracker';
import { useTracker } from '../../hooks/tracker';
const { config, dungeons, state } = useTracker();
const layout = React.useMemo(() => {
+ const compact = shouldCompactKeysanity(config);
const mapX = 1;
const compassX = shouldShowDungeonItem(config, 'Map') ? mapX + 1 : mapX;
const smallX = shouldShowDungeonItem(config, 'Compass') ? compassX + 1 : compassX;
const bigX = shouldShowDungeonItem(config, 'Small') ? smallX + 1 : smallX;
- const countX = shouldShowDungeonItem(config, 'Big') ? bigX + 1 : bigX;
+ const countX = compact ? 2 : shouldShowDungeonItem(config, 'Big') ? bigX + 1 : bigX;
const bossX = countX + 1;
const prizeX = bossX + 1;
const dungeonWidth = Math.max(5, prizeX + 1);
} ${row + 0.5})`;
const transforms = {
- tag: '',
- map: `translate(${mapX} 0) scale(0.9)`,
- compass: `translate(${compassX} 0) scale(0.9)`,
- small: `translate(${smallX} 0) scale(0.9)`,
- big: `translate(${bigX} 0) scale(0.9)`,
+ tag: null,
+ map: compact
+ ? 'translate(0.75 -0.25) scale(0.45)' : `translate(${mapX} 0) scale(0.9)`,
+ compass: compact
+ ? 'translate(1.25 -0.25) scale(0.45)' : `translate(${compassX} 0) scale(0.9)`,
+ small: compact
+ ? 'translate(0.75 0.25) scale(0.45)' : `translate(${smallX} 0) scale(0.9)`,
+ big: compact
+ ? 'translate(1.25 0.25) scale(0.45)' : `translate(${bigX} 0) scale(0.9)`,
checks: `translate(${countX} 0) scale(0.9)`,
boss: `translate(${bossX} 0)`,
prize: `translate(${prizeX} 0)`,
<text className="dungeon-tag">{dungeon.id.toUpperCase()}</text>
</g>
{shouldShowDungeonItem(config, 'Map') ?
- <g transform={layout.transforms.map}>
- <ToggleIcon
- controller={ToggleIcon.dungeonController(dungeon)}
- icons={['map']}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.dungeonController(dungeon)}
+ icons={['map']}
+ svg
+ transform={layout.transforms.map}
+ />
: null}
{shouldShowDungeonItem(config, 'Compass') ?
- <g transform={layout.transforms.compass}>
- <ToggleIcon
- controller={ToggleIcon.dungeonController(dungeon)}
- icons={['compass']}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.dungeonController(dungeon)}
+ icons={['compass']}
+ svg
+ transform={layout.transforms.compass}
+ />
: null}
{shouldShowDungeonItem(config, 'Small') ?
<g transform={layout.transforms.small}>
</g>
: null}
{shouldShowDungeonItem(config, 'Big') ?
- <g transform={layout.transforms.big}>
- <ToggleIcon
- controller={ToggleIcon.dungeonController(dungeon)}
- icons={['big-key']}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.dungeonController(dungeon)}
+ icons={['big-key']}
+ svg
+ transform={layout.transforms.big}
+ />
: null}
<g transform={layout.transforms.checks}>
<ToggleIcon
<CountDisplay count={getDungeonRemainingItems(state, dungeon)} />
</g>
{dungeon.boss ?
- <g transform={layout.transforms.boss}>
- <ToggleIcon
- controller={ToggleIcon.dungeonBossController(dungeon)}
- icons={dungeon.bosses}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.dungeonBossController(dungeon)}
+ icons={dungeon.bosses}
+ svg
+ transform={layout.transforms.boss}
+ />
: null}
{dungeon.prize ?
- <g transform={layout.transforms.prize}>
- <ToggleIcon
- controller={ToggleIcon.dungeonPrizeController(dungeon)}
- icons={[
- 'crystal',
- 'red-crystal',
- 'green-pendant',
- 'red-pendant',
- ]}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.dungeonPrizeController(dungeon)}
+ icons={[
+ 'crystal',
+ 'red-crystal',
+ 'green-pendant',
+ 'red-pendant',
+ ]}
+ svg
+ transform={layout.transforms.prize}
+ />
: null}
{dungeon.id === 'gt' && config.bossShuffle ? <>
- <g transform={layout.transforms.gtBoss1}>
- <ToggleIcon
- controller={ToggleIcon.gtBossController('bot')}
- icons={BOSSES}
- svg
- />
- </g>
- <g transform={layout.transforms.gtBoss2}>
- <ToggleIcon
- controller={ToggleIcon.gtBossController('mid')}
- icons={BOSSES}
- svg
- />
- </g>
- <g transform={layout.transforms.gtBoss3}>
- <ToggleIcon
- controller={ToggleIcon.gtBossController('top')}
- icons={BOSSES}
- svg
- />
- </g>
+ <ToggleIcon
+ controller={ToggleIcon.gtBossController('bot')}
+ icons={BOSSES}
+ svg
+ transform={layout.transforms.gtBoss1}
+ />
+ <ToggleIcon
+ controller={ToggleIcon.gtBossController('mid')}
+ icons={BOSSES}
+ svg
+ transform={layout.transforms.gtBoss2}
+ />
+ <ToggleIcon
+ controller={ToggleIcon.gtBossController('top')}
+ icons={BOSSES}
+ svg
+ transform={layout.transforms.gtBoss3}
+ />
</> : null}
</g>
)}