From 882af5bfbd2f9a2b6206aa9b66080a7327213198 Mon Sep 17 00:00:00 2001 From: Sendou Date: Fri, 28 Feb 2020 14:30:46 +0200 Subject: [PATCH] plus page basically working --- frontend-react/package-lock.json | 12 +- frontend-react/package.json | 4 +- .../src/components/common/UserSelector.tsx | 49 ++++ .../src/components/elements/Button.tsx | 3 +- .../src/components/elements/Select.tsx | 42 ++- .../src/components/elements/TextArea.tsx | 3 +- .../src/components/plus/PlusPage.tsx | 18 +- .../components/plus/SuggestionVouchModal.tsx | 257 ++++++++++++++++++ .../src/components/plus/Suggestions.tsx | 140 ++++------ .../src/components/plus/Summaries.tsx | 48 +++- .../src/components/plus/VotingHistoryPage.tsx | 10 +- .../src/components/root/SideNavContent.tsx | 14 +- .../src/components/user/BuildFormModal.tsx | 4 +- .../{addSuggestion.js => addSuggestion.ts} | 4 +- .../mutations/{addVouch.js => addVouch.ts} | 4 +- .../graphql/queries/{users.js => users.ts} | 6 +- 16 files changed, 482 insertions(+), 136 deletions(-) create mode 100644 frontend-react/src/components/common/UserSelector.tsx create mode 100644 frontend-react/src/components/plus/SuggestionVouchModal.tsx rename frontend-react/src/graphql/mutations/{addSuggestion.js => addSuggestion.ts} (72%) rename frontend-react/src/graphql/mutations/{addVouch.js => addVouch.ts} (63%) rename frontend-react/src/graphql/queries/{users.js => users.ts} (52%) diff --git a/frontend-react/package-lock.json b/frontend-react/package-lock.json index d41dfbc94..43fad03a9 100644 --- a/frontend-react/package-lock.json +++ b/frontend-react/package-lock.json @@ -1090,9 +1090,9 @@ } }, "@emotion/core": { - "version": "10.0.27", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.27.tgz", - "integrity": "sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw==", + "version": "10.0.28", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", + "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1451,9 +1451,9 @@ "integrity": "sha512-a1USH7L3bEfDdPN4iNZGvMEFuBfkdG+QNybeyDv8RloVFgZYRoM+KGXyy2KOfEnTUM8QWDRSROwaL3+ts5Angg==" }, "@reach/router": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.1.tgz", - "integrity": "sha512-Ov1j1J+pSgXliJHFL7XWhjyREwc6GxeWfgBTa5MMH5eRmYtHbPhaovba4xKo7aTVCg8fxkt2yDMNSpvwfUP+pA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.3.tgz", + "integrity": "sha512-gOIAiFhWdiVGSVjukKeNKkCRBLmnORoTPyBihI/jLunICPgxdP30DroAvPQuf1eVfQbfGJQDJkwhJXsNPMnVWw==", "requires": { "create-react-context": "0.3.0", "invariant": "^2.2.3", diff --git a/frontend-react/package.json b/frontend-react/package.json index a14413a50..28da19a99 100644 --- a/frontend-react/package.json +++ b/frontend-react/package.json @@ -5,9 +5,9 @@ "dependencies": { "@apollo/react-hooks": "^3.1.3", "@chakra-ui/core": "^0.6.1", - "@emotion/core": "^10.0.27", + "@emotion/core": "^10.0.28", "@emotion/styled": "^10.0.27", - "@reach/router": "^1.3.1", + "@reach/router": "^1.3.3", "@rehooks/local-storage": "^2.2.2", "@sendou/react-sketch": "^0.5.2", "@testing-library/jest-dom": "^5.1.1", diff --git a/frontend-react/src/components/common/UserSelector.tsx b/frontend-react/src/components/common/UserSelector.tsx new file mode 100644 index 000000000..6d0c8491d --- /dev/null +++ b/frontend-react/src/components/common/UserSelector.tsx @@ -0,0 +1,49 @@ +import React from "react" +import { useQuery } from "@apollo/react-hooks" +import { USERS } from "../../graphql/queries/users" +import Error from "./Error" +import Select from "../elements/Select" + +interface UsersData { + users: { + discord_id: string + discriminator: string + twitter_name?: string + username: string + }[] +} + +interface UserSelectorProps { + id?: string + setValue?: (value: string) => void +} + +const UserSelector: React.FC = ({ setValue }) => { + const { data, error, loading } = useQuery(USERS) + + if (error) return + return ( + <> +