From 45ab35216f8a8b7b419367035d745bc67ddbd75f Mon Sep 17 00:00:00 2001 From: Matchu Date: Sun, 30 Aug 2020 23:22:06 -0700 Subject: [PATCH] Add arrow buttons to PosePickerSupport MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Easier to move between appearances quickly! I'm adding this in anticipation of a use case of rapidly labeling Unknown appearances—I want it to be easy to label one and go to the next! --- src/app/WardrobePage/support/Metadata.js | 1 + .../WardrobePage/support/PosePickerSupport.js | 109 +++++++++++++----- 2 files changed, 82 insertions(+), 28 deletions(-) diff --git a/src/app/WardrobePage/support/Metadata.js b/src/app/WardrobePage/support/Metadata.js index ac495bc..35b9dc5 100644 --- a/src/app/WardrobePage/support/Metadata.js +++ b/src/app/WardrobePage/support/Metadata.js @@ -13,6 +13,7 @@ function Metadata({ children, ...otherProps }) { gridTemplateColumns="max-content auto" gridRowGap="1" gridColumnGap="2" + {...otherProps} > {children} diff --git a/src/app/WardrobePage/support/PosePickerSupport.js b/src/app/WardrobePage/support/PosePickerSupport.js index d5963db..72a34e8 100644 --- a/src/app/WardrobePage/support/PosePickerSupport.js +++ b/src/app/WardrobePage/support/PosePickerSupport.js @@ -1,7 +1,8 @@ import React from "react"; import gql from "graphql-tag"; import { useQuery } from "@apollo/client"; -import { Box, Select, Switch } from "@chakra-ui/core"; +import { Box, IconButton, Select, Switch } from "@chakra-ui/core"; +import { ArrowBackIcon, ArrowForwardIcon } from "@chakra-ui/icons"; import HangerSpinner from "../../components/HangerSpinner"; import Metadata, { MetadataLabel, MetadataValue } from "./Metadata"; @@ -143,33 +144,13 @@ function PosePickerSupport({ return ( - - - - + + DTI ID: {appearanceId} Pose: @@ -214,6 +195,78 @@ function PosePickerSupport({ ); } +function PosePickerSupportNavigator({ + petAppearances, + currentPetAppearance, + canonicalAppearanceIds, + dispatchToOutfit, +}) { + const currentIndex = petAppearances.indexOf(currentPetAppearance); + const prevPetAppearance = petAppearances[currentIndex - 1]; + const nextPetAppearance = petAppearances[currentIndex + 1]; + + return ( + + } + size="sm" + marginRight="2" + isDisabled={prevPetAppearance == null} + onClick={() => + dispatchToOutfit({ + type: "setPose", + pose: prevPetAppearance.pose, + appearanceId: prevPetAppearance.id, + }) + } + /> + + } + size="sm" + marginLeft="2" + isDisabled={nextPetAppearance == null} + onClick={() => + dispatchToOutfit({ + type: "setPose", + pose: nextPetAppearance.pose, + appearanceId: nextPetAppearance.id, + }) + } + /> + + ); +} + export function PosePickerSupportSwitch({ isChecked, onChange }) { return (