Refactor OutfitCard a bit
Preparing to make a skeleton version for loading!
This commit is contained in:
parent
3804457839
commit
b478f35103
1 changed files with 46 additions and 16 deletions
|
@ -44,6 +44,14 @@ function UserOutfitsPageContent() {
|
||||||
svgUrl
|
svgUrl
|
||||||
imageUrl(size: $size)
|
imageUrl(size: $size)
|
||||||
}
|
}
|
||||||
|
species {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
}
|
||||||
|
color {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
}
|
||||||
...PetAppearanceForGetVisibleLayers
|
...PetAppearanceForGetVisibleLayers
|
||||||
}
|
}
|
||||||
itemAppearances {
|
itemAppearances {
|
||||||
|
@ -55,6 +63,10 @@ function UserOutfitsPageContent() {
|
||||||
}
|
}
|
||||||
...ItemAppearanceForGetVisibleLayers
|
...ItemAppearanceForGetVisibleLayers
|
||||||
}
|
}
|
||||||
|
wornItems {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,11 +108,38 @@ function UserOutfitsPageContent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function OutfitCard({ outfit }) {
|
function OutfitCard({ outfit }) {
|
||||||
const thumbnailUrl = buildOutfitThumbnailUrl(
|
const image = (
|
||||||
outfit.petAppearance,
|
<Box
|
||||||
outfit.itemAppearances
|
as="img"
|
||||||
|
src={buildOutfitThumbnailUrl(
|
||||||
|
outfit.petAppearance,
|
||||||
|
outfit.itemAppearances
|
||||||
|
)}
|
||||||
|
width={150}
|
||||||
|
height={150}
|
||||||
|
alt="Outfit thumbnail"
|
||||||
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Box
|
||||||
|
as={Link}
|
||||||
|
to={`/outfits/${outfit.id}`}
|
||||||
|
display="block"
|
||||||
|
transition="all 0.2s"
|
||||||
|
_hover={{ transform: `scale(1.05)` }}
|
||||||
|
_focus={{
|
||||||
|
transform: `scale(1.05)`,
|
||||||
|
boxShadow: "outline",
|
||||||
|
outline: "none",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<OutfitCardLayout image={image} caption={outfit.name} />
|
||||||
|
</Box>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function OutfitCardLayout({ image, caption }) {
|
||||||
const { brightBackground } = useCommonStyles();
|
const { brightBackground } = useCommonStyles();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -114,26 +153,17 @@ function OutfitCard({ outfit }) {
|
||||||
width="calc(150px + 2em)"
|
width="calc(150px + 2em)"
|
||||||
backgroundColor={brightBackground}
|
backgroundColor={brightBackground}
|
||||||
transition="all 0.2s"
|
transition="all 0.2s"
|
||||||
as={Link}
|
|
||||||
to={`/outfits/${outfit.id}`}
|
|
||||||
_hover={{ transform: `scale(1.05)` }}
|
|
||||||
_focus={{
|
|
||||||
transform: `scale(1.05)`,
|
|
||||||
boxShadow: "outline",
|
|
||||||
outline: "none",
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
as="img"
|
|
||||||
src={thumbnailUrl}
|
|
||||||
width={150}
|
width={150}
|
||||||
height={150}
|
height={150}
|
||||||
marginBottom="2"
|
marginBottom="2"
|
||||||
borderRadius="md"
|
borderRadius="md"
|
||||||
background="gray.600"
|
background="gray.600"
|
||||||
transition="all 0.2s"
|
>
|
||||||
/>
|
{image}
|
||||||
<Box>{outfit.name}</Box>
|
</Box>
|
||||||
|
<Box>{caption}</Box>
|
||||||
</Flex>
|
</Flex>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue