add SWF to layer assets in Support tools
This commit is contained in:
parent
d7d7a345a0
commit
fce51875d9
3 changed files with 24 additions and 1 deletions
|
@ -21,7 +21,7 @@ import {
|
||||||
Spinner,
|
Spinner,
|
||||||
useToast,
|
useToast,
|
||||||
} from "@chakra-ui/core";
|
} from "@chakra-ui/core";
|
||||||
import { ExternalLinkIcon } from "@chakra-ui/icons";
|
import { ChevronRightIcon, ExternalLinkIcon } from "@chakra-ui/icons";
|
||||||
|
|
||||||
import { OutfitLayers } from "../../components/OutfitPreview";
|
import { OutfitLayers } from "../../components/OutfitPreview";
|
||||||
import SpeciesColorPicker from "../../components/SpeciesColorPicker";
|
import SpeciesColorPicker from "../../components/SpeciesColorPicker";
|
||||||
|
@ -166,6 +166,15 @@ function ItemLayerSupportModal({
|
||||||
No PNG
|
No PNG
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
|
<Button
|
||||||
|
as="a"
|
||||||
|
size="xs"
|
||||||
|
target="_blank"
|
||||||
|
href={itemLayer.swfUrl}
|
||||||
|
colorScheme="teal"
|
||||||
|
>
|
||||||
|
SWF <ExternalLinkIcon ml="1" />
|
||||||
|
</Button>
|
||||||
</HStack>
|
</HStack>
|
||||||
</MetadataValue>
|
</MetadataValue>
|
||||||
</Metadata>
|
</Metadata>
|
||||||
|
|
|
@ -120,6 +120,7 @@ export const itemAppearanceFragment = gql`
|
||||||
id
|
id
|
||||||
svgUrl
|
svgUrl
|
||||||
imageUrl(size: SIZE_600)
|
imageUrl(size: SIZE_600)
|
||||||
|
swfUrl # HACK: This is for Support tools, but other views don't need it
|
||||||
bodyId
|
bodyId
|
||||||
zone {
|
zone {
|
||||||
id
|
id
|
||||||
|
|
|
@ -105,6 +105,15 @@ const typeDefs = gql`
|
||||||
"""
|
"""
|
||||||
svgUrl: String
|
svgUrl: String
|
||||||
|
|
||||||
|
"""
|
||||||
|
This layer as a single SWF, if available.
|
||||||
|
|
||||||
|
At time of writing, all layers have SWFs. But I've marked this nullable
|
||||||
|
because I'm not sure this will continue to be true after the HTML5
|
||||||
|
migration, and I'd like clients to guard against it.
|
||||||
|
"""
|
||||||
|
swfUrl: String
|
||||||
|
|
||||||
"""
|
"""
|
||||||
This layer can fit on PetAppearances with the same bodyId. "0" is a
|
This layer can fit on PetAppearances with the same bodyId. "0" is a
|
||||||
special body ID that indicates it fits all PetAppearances.
|
special body ID that indicates it fits all PetAppearances.
|
||||||
|
@ -308,6 +317,10 @@ const resolvers = {
|
||||||
const zone = await zoneLoader.load(layer.zoneId);
|
const zone = await zoneLoader.load(layer.zoneId);
|
||||||
return zone;
|
return zone;
|
||||||
},
|
},
|
||||||
|
swfUrl: async ({ id }, _, { swfAssetLoader }) => {
|
||||||
|
const layer = await swfAssetLoader.load(id);
|
||||||
|
return layer.url;
|
||||||
|
},
|
||||||
imageUrl: async ({ id }, { size }, { swfAssetLoader }) => {
|
imageUrl: async ({ id }, { size }, { swfAssetLoader }) => {
|
||||||
const layer = await swfAssetLoader.load(id);
|
const layer = await swfAssetLoader.load(id);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue