diff --git a/src/app/App.js b/src/app/App.js index 19dac47..ec997f4 100644 --- a/src/app/App.js +++ b/src/app/App.js @@ -12,6 +12,7 @@ import PageLayout from "./PageLayout"; const ItemsPage = loadable(() => import("./ItemsPage")); const HomePage = loadable(() => import("./HomePage")); +const ModelingPage = loadable(() => import("./ModelingPage")); const WardrobePage = loadable(() => import("./WardrobePage")); const theme = { @@ -54,6 +55,11 @@ function App() { + + + + + diff --git a/src/app/ModelingPage.js b/src/app/ModelingPage.js new file mode 100644 index 0000000..e8a4716 --- /dev/null +++ b/src/app/ModelingPage.js @@ -0,0 +1,66 @@ +import React from "react"; +import { Box } from "@chakra-ui/core"; +import gql from "graphql-tag"; +import { useQuery } from "@apollo/client"; + +import HangerSpinner from "./components/HangerSpinner"; +import { Heading1 } from "./util"; + +function ModelingPage() { + return ( + + Modeling Hub + + + ); +} + +function ItemModelsList() { + const { loading, error, data } = useQuery(gql` + query ModelingPage { + itemsThatNeedModels { + id + name + thumbnailUrl + speciesThatNeedModels { + id + name + } + } + } + `); + + if (loading) { + return ( + + + + ); + } + + if (error) { + return {error.message}; + } + + const items = [...data.itemsThatNeedModels].sort((a, b) => + a.name.localeCompare(b.name) + ); + + return ( + + {items.map((item) => ( + + ))} + + ); +} + +function ItemModelCard({ item }) { + return ( + + {item.name} + + ); +} + +export default ModelingPage; diff --git a/src/app/components/HangerSpinner.js b/src/app/components/HangerSpinner.js index b6be29d..0bae4a5 100644 --- a/src/app/components/HangerSpinner.js +++ b/src/app/components/HangerSpinner.js @@ -16,7 +16,9 @@ const HangerIcon = createIcon({ ), }); -function HangerSpinner(props) { +function HangerSpinner({ size = "md", ...props }) { + const boxSize = { sm: "32px", md: "48px" }[size]; + return ( <> - + );