Added Sub Aura slots

This commit is contained in:
Justin Edmund 2022-01-14 21:15:46 -08:00
parent d1b8e52bdb
commit 40711f3af2
5 changed files with 164 additions and 61 deletions

View file

@ -0,0 +1,32 @@
#ExtraSummons {
background: #FFEBD9;
border-radius: 8px;
box-sizing: border-box;
display: flex;
justify-content: center;
margin: 20px auto;
max-width: 727px;
padding: 16px 16px 16px 0;
position: relative;
left: 9px;
& > span {
color: #825B39;
display: flex;
align-items: center;
justify-content: center;
line-height: 1.2;
font-weight: 500;
margin-right: 16px;
text-align: center;
width: 387px;
}
.SummonUnit .SummonImage {
background: #D5D3F6;
}
.WeaponUnit .WeaponImage .icon svg {
fill: #8F8AC6;
}
}

View file

@ -0,0 +1,53 @@
import React from 'react'
import SummonUnit from '~components/SummonUnit'
import './index.scss'
// GridType
export enum GridType {
Class,
Character,
Weapon,
Summon
}
// Props
interface Props {
grid: GridArray<Summon>
editable: boolean
exists: boolean
found?: boolean
onSelect: (type: GridType, summon: Summon, position: number) => void
}
const ExtraSummons = (props: Props) => {
const numSummons: number = 2
function receiveWeapon(summon: Summon, position: number) {
props.onSelect(GridType.Summon, summon, position)
}
return (
<div id="ExtraSummons">
<span>Sub Aura Summons</span>
<ul id="grid_summons">
{
Array.from(Array(numSummons)).map((x, i) => {
return (
<li key={`grid_unit_${i}`} >
<SummonUnit
editable={props.editable}
onReceiveData={receiveWeapon}
position={i}
unitType={1}
summon={props.grid[i]}
/>
</li>
)
})
}
</ul>
</div>
)
}
export default ExtraSummons

View file

@ -1,27 +1,27 @@
.SummonGrid {
display: flex;
display: grid;
grid-template-columns: auto auto auto;
grid-column-gap: $unit * 2;
justify-content: center;
& .Label {
color: $grey-50;
font-size: 12px;
font-weight: $medium;
margin-bottom: $unit;
text-align: center;
}
}
#grid_summons {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 0 24px 0 0;
padding: 0;
width: 344px;
}
#grid_summons > * {
margin-bottom: 24px;
margin-right: 24px;
}
#grid_summons > *:nth-child(2n+2) {
margin-right: 0;
display: grid;
grid-template-columns: auto auto;
grid-column-gap: $unit * 2;
grid-template-rows: 1fr;
grid-row-gap: $unit * 3;
}
#grid_summons > li {
list-style: none;
min-height: 180px;
}

View file

@ -1,4 +1,5 @@
import React from 'react'
import ExtraSummons from '~components/ExtraSummons'
import SummonUnit from '~components/SummonUnit'
import './index.scss'
@ -32,41 +33,63 @@ const SummonGrid = (props: Props) => {
}
return (
<div className="SummonGrid">
<SummonUnit
editable={props.editable}
key="grid_main_summon"
onReceiveData={receiveSummon}
position={-1}
unitType={0}
summon={props.main}
/>
<div>
<div className="SummonGrid">
<div className="LabeledUnit">
<div className="Label">Main Summon</div>
<SummonUnit
editable={props.editable}
key="grid_main_summon"
onReceiveData={receiveSummon}
position={-1}
unitType={0}
summon={props.main}
/>
</div>
<ul id="grid_summons">
{
Array.from(Array(numSummons)).map((x, i) => {
return (
<li key={`grid_unit_${i}`} >
<SummonUnit
editable={props.editable}
onReceiveData={receiveSummon}
position={i}
unitType={1}
summon={props.grid[i]}
/>
</li>
)
})
}
</ul>
<div className="LabeledUnit">
<div className="Label">Friend Summon</div>
<SummonUnit
editable={props.editable}
key="grid_friend_summon"
onReceiveData={receiveSummon}
position={4}
unitType={2}
summon={props.friend}
/>
</div>
<SummonUnit
editable={props.editable}
key="grid_friend_summon"
onReceiveData={receiveSummon}
position={4}
unitType={2}
summon={props.friend}
<div id="LabeledGrid">
<div className="Label">Summons</div>
<ul id="grid_summons">
{
Array.from(Array(numSummons)).map((x, i) => {
return (
<li key={`grid_unit_${i}`} >
<SummonUnit
editable={props.editable}
onReceiveData={receiveSummon}
position={i}
unitType={1}
summon={props.grid[i]}
/>
</li>
)
})
}
</ul>
</div>
</div>
<ExtraSummons
grid={props.grid}
editable={false}
exists={false}
onSelect={
function (type: GridType, summon: Summon, position: number): void {
throw new Error('Function not implemented.')
}
}
/>
</div>
)

View file

@ -64,29 +64,24 @@
}
/* Mainhand */
.SummonUnit.main,
.SummonUnit.friend {
margin-right: 24px;
max-width: 200px;
}
.SummonUnit.friend {
margin-right: 0;
}
.SummonUnit.main .SummonImage,
.SummonUnit.friend .SummonImage {
height: 374px;
width: 180px;
height: 315px;
width: 182px;
}
/* Grid */
.SummonUnit.grid {
max-width: 160px;
max-width: 148px;
min-height: 141px;
}
.SummonUnit.grid .SummonImage {
list-style-type: none;
height: 92px;
width: 160px;
height: 111px;
width: 148px;
}