From 620d2419a34bed0a2b45ac459362172a6bbdee47 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 9 Dec 2019 21:33:58 -0800 Subject: [PATCH] Added routing and basic board component. --- client/package.json | 1 + client/src/App/App.container.jsx | 3 +- client/src/App/App.js | 2 +- .../components/footer/footer.component.jsx | 9 ++ .../components/header/header.component.jsx | 1 + .../manage-shop/manage-shop.component.jsx | 11 -- .../manage-shop/manage-shop.container.jsx | 7 - .../white-board-card.component.jsx | 59 ++++++++ client/src/graphql/initial-state.js | 3 +- client/src/graphql/local.queries.js | 6 + client/src/graphql/resolvers.js | 19 ++- .../jobs-detail.page.container.jsx | 7 + .../pages/jobs-detail/jobs-detail.page.jsx | 5 + client/src/pages/jobs/jobs.page.container.jsx | 6 + client/src/pages/jobs/jobs.pages.jsx | 9 ++ .../pages/manage/manage.page.container.jsx | 6 + client/src/pages/manage/manage.page.jsx | 52 +++++-- .../white-board.page.container.jsx | 19 +++ .../pages/white-board/white-board.page.jsx | 87 +++++++++++ client/yarn.lock | 139 +++++++++++++++++- 20 files changed, 407 insertions(+), 44 deletions(-) create mode 100644 client/src/components/footer/footer.component.jsx delete mode 100644 client/src/components/manage-shop/manage-shop.component.jsx delete mode 100644 client/src/components/manage-shop/manage-shop.container.jsx create mode 100644 client/src/components/white-board-card/white-board-card.component.jsx create mode 100644 client/src/pages/jobs-detail/jobs-detail.page.container.jsx create mode 100644 client/src/pages/jobs-detail/jobs-detail.page.jsx create mode 100644 client/src/pages/jobs/jobs.page.container.jsx create mode 100644 client/src/pages/jobs/jobs.pages.jsx create mode 100644 client/src/pages/manage/manage.page.container.jsx create mode 100644 client/src/pages/white-board/white-board.page.container.jsx create mode 100644 client/src/pages/white-board/white-board.page.jsx diff --git a/client/package.json b/client/package.json index 956f12bb9..8ff6a8f07 100644 --- a/client/package.json +++ b/client/package.json @@ -17,6 +17,7 @@ "react-dom": "^16.12.0", "react-router-dom": "^5.1.2", "react-scripts": "3.2.0", + "react-trello": "^2.2.3", "styled-components": "^4.4.1" }, "scripts": { diff --git a/client/src/App/App.container.jsx b/client/src/App/App.container.jsx index d2c16f48a..1b240e876 100644 --- a/client/src/App/App.container.jsx +++ b/client/src/App/App.container.jsx @@ -67,7 +67,8 @@ class AppContainer extends Component { // See above for additional options, including other storage providers. await persistCache({ cache, - storage: window.localStorage + storage: window.sessionStorage, + debug: true }); } catch (error) { console.error("Error restoring Apollo cache", error); diff --git a/client/src/App/App.js b/client/src/App/App.js index a7590d787..07261d605 100644 --- a/client/src/App/App.js +++ b/client/src/App/App.js @@ -74,7 +74,7 @@ class App extends React.Component { } render() { - console.log("this.props.currentUser", this.props.currentUser); + console.log("this.props.currentUser", this.props.currentUser.email); return (
diff --git a/client/src/components/footer/footer.component.jsx b/client/src/components/footer/footer.component.jsx new file mode 100644 index 000000000..df609eec5 --- /dev/null +++ b/client/src/components/footer/footer.component.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +export default function FooterComponent() { + return ( +
+ Copyright Snapt Software 2019. All rights reserved. +
+ ) +} diff --git a/client/src/components/header/header.component.jsx b/client/src/components/header/header.component.jsx index 048df2465..01c667e5e 100644 --- a/client/src/components/header/header.component.jsx +++ b/client/src/components/header/header.component.jsx @@ -13,6 +13,7 @@ export default ({ landingHeader, selectedNavItem, navItems }) => { }; return ( - - This is the manage shop component. -
- ); -} diff --git a/client/src/components/manage-shop/manage-shop.container.jsx b/client/src/components/manage-shop/manage-shop.container.jsx deleted file mode 100644 index 318bf814c..000000000 --- a/client/src/components/manage-shop/manage-shop.container.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react"; - -import ManageShop from "./manage-shop.component"; - -const ManageShopContainer = () => ; - -export default ManageShopContainer; diff --git a/client/src/components/white-board-card/white-board-card.component.jsx b/client/src/components/white-board-card/white-board-card.component.jsx new file mode 100644 index 000000000..76ac2b21a --- /dev/null +++ b/client/src/components/white-board-card/white-board-card.component.jsx @@ -0,0 +1,59 @@ +import React from "react"; +import { Skeleton, Switch, Card, Icon, Avatar } from "antd"; + +const { Meta } = Card; + +class WhiteBoardCard extends React.Component { + state = { + loading: true + }; + + onChange = checked => { + this.setState({ loading: !checked }); + }; + + render() { + const { loading } = this.state; + const { + onClick, + className, + name, + cardStyle, + body, + dueOn, + cardColor, + subTitle, + tagStyle, + escalationText, + tags, + showDeleteButton, + onDelete + } = this.props; + + return ( +
+ , + , + , + + ]} + > + + + } + title="Card title" + description="This is the description" + /> + + +
+ ); + } +} + +export default WhiteBoardCard; diff --git a/client/src/graphql/initial-state.js b/client/src/graphql/initial-state.js index 9e117e1ae..cfdeeaa64 100644 --- a/client/src/graphql/initial-state.js +++ b/client/src/graphql/initial-state.js @@ -5,5 +5,6 @@ export default { token: null }, selectedNavItem: "Home", - recentItems: [] + recentItems: [], + whiteBoardLeftSiderVisible: true }; diff --git a/client/src/graphql/local.queries.js b/client/src/graphql/local.queries.js index 84bb26e6b..5e728aeb4 100644 --- a/client/src/graphql/local.queries.js +++ b/client/src/graphql/local.queries.js @@ -15,3 +15,9 @@ export const GET_CURRENT_USER = gql` } } `; + +export const GET_WHITE_BOARD_LEFT_SIDER_VISIBLE = gql` + { + whiteBoardLeftSiderVisible @client + } +`; \ No newline at end of file diff --git a/client/src/graphql/resolvers.js b/client/src/graphql/resolvers.js index c6553ec60..82eeabf09 100644 --- a/client/src/graphql/resolvers.js +++ b/client/src/graphql/resolvers.js @@ -1,9 +1,10 @@ import { gql } from "apollo-boost"; -import { GET_CURRENT_USER } from "./local.queries"; +import { GET_CURRENT_USER, GET_WHITE_BOARD_LEFT_SIDER_VISIBLE } from "./local.queries"; export const typeDefs = gql` extend type Mutation { SetCurrentUser(user: User!): User! + ToggleWhiteBoardLeftSiderVisible: Boolean! } extend type User { @@ -22,6 +23,20 @@ export const resolvers = { }); return user; - } + }, + + toggleWhiteBoardLeftSiderVisible: (_root, _args, { cache }) => { + const { whiteBoardLeftSiderVisible } = cache.readQuery({ + query: GET_WHITE_BOARD_LEFT_SIDER_VISIBLE + }); + + cache.writeQuery({ + query: GET_WHITE_BOARD_LEFT_SIDER_VISIBLE, + data: { whiteBoardLeftSiderVisible: !whiteBoardLeftSiderVisible } + }); + + return !whiteBoardLeftSiderVisible; + }, + } }; diff --git a/client/src/pages/jobs-detail/jobs-detail.page.container.jsx b/client/src/pages/jobs-detail/jobs-detail.page.container.jsx new file mode 100644 index 000000000..44fff921d --- /dev/null +++ b/client/src/pages/jobs-detail/jobs-detail.page.container.jsx @@ -0,0 +1,7 @@ +import React from "react"; +import JobsDetail from "./jobs-detail.page"; + +export default function JobsDetailPageContainer({ match }) { + const jobId = match.params.jobId; + return ; +} diff --git a/client/src/pages/jobs-detail/jobs-detail.page.jsx b/client/src/pages/jobs-detail/jobs-detail.page.jsx new file mode 100644 index 000000000..250195ded --- /dev/null +++ b/client/src/pages/jobs-detail/jobs-detail.page.jsx @@ -0,0 +1,5 @@ +import React from "react"; + +export default function JobsDetail({ jobId }) { + return
Jobs Detail Page - Job ID {jobId}
; +} diff --git a/client/src/pages/jobs/jobs.page.container.jsx b/client/src/pages/jobs/jobs.page.container.jsx new file mode 100644 index 000000000..0a614b5ab --- /dev/null +++ b/client/src/pages/jobs/jobs.page.container.jsx @@ -0,0 +1,6 @@ +import React from "react"; +import JobsPage from "./jobs.pages"; + +export default function JobsPageContainer() { + return ; +} diff --git a/client/src/pages/jobs/jobs.pages.jsx b/client/src/pages/jobs/jobs.pages.jsx new file mode 100644 index 000000000..a0677a82c --- /dev/null +++ b/client/src/pages/jobs/jobs.pages.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +export default function JobsPage() { + return ( +
+ Jobs Master Page +
+ ) +} diff --git a/client/src/pages/manage/manage.page.container.jsx b/client/src/pages/manage/manage.page.container.jsx new file mode 100644 index 000000000..4df3c41b6 --- /dev/null +++ b/client/src/pages/manage/manage.page.container.jsx @@ -0,0 +1,6 @@ +import React from "react"; +import ManagePage from "./manage.page"; + +export default function ManagePageContainer() { + return ; +} diff --git a/client/src/pages/manage/manage.page.jsx b/client/src/pages/manage/manage.page.jsx index 197c2d6f1..370013eea 100644 --- a/client/src/pages/manage/manage.page.jsx +++ b/client/src/pages/manage/manage.page.jsx @@ -1,19 +1,45 @@ -import React from 'react' +import React from "react"; import { Route } from "react-router"; //Component Imports -import ManageShopContainer from '../../components/manage-shop/manage-shop.container'; +import WhiteBoardPageContainer from "../white-board/white-board.page.container"; +import JobsPageContainer from "../jobs/jobs.page.container"; +import JobsDetailPageContainer from "../jobs-detail/jobs-detail.page.container"; +import HeaderComponentContainer from "../../components/header/header.container"; +import FooterComponent from "../../components/footer/footer.component"; +import { Layout } from "antd"; -//This page will handle all routing for the entire application. -export default function Manage({match}) { - console.log('Manage: match ', match) - return ( -
- - - - -
- ) +const { Header, Content, Footer } = Layout; +//This page will handle all routing for the entire application. +export default function Manage({ match }) { + return ( + +
+ +
+ + + + + + + + +
+ +
+
+ ); } diff --git a/client/src/pages/white-board/white-board.page.container.jsx b/client/src/pages/white-board/white-board.page.container.jsx new file mode 100644 index 000000000..389c601f9 --- /dev/null +++ b/client/src/pages/white-board/white-board.page.container.jsx @@ -0,0 +1,19 @@ +import React from "react"; +import { Query, Mutation } from "react-apollo"; + +import WhiteBoardPage from "./white-board.page"; +import Spin from "../../components/loading-spinner/loading-spinner.component"; +import { GET_WHITE_BOARD_LEFT_SIDER_VISIBLE } from "../../graphql/local.queries"; + +export default function WhiteBoardPageContainer() { + return ( + + {({ loading, error, data }) => { + if (loading) return ; + if (error) return error.message; + console.log('data from getwhiteboardquery', data) + return ; + }} + + ); +} diff --git a/client/src/pages/white-board/white-board.page.jsx b/client/src/pages/white-board/white-board.page.jsx new file mode 100644 index 000000000..af018c2f0 --- /dev/null +++ b/client/src/pages/white-board/white-board.page.jsx @@ -0,0 +1,87 @@ +import React from "react"; +import Board from "react-trello"; +import WhiteBoardCard from "../../components/white-board-card/white-board-card.component"; +import { Layout, Icon, Menu } from "antd"; + +export default function WhiteBoardPage({ whiteBoardLeftSiderVisible }) { + const data = { + lanes: [ + { + id: "lane1", + title: "Planned Tasks", + label: "2/2", + cards: [ + { + id: "Card1", + title: "Write Blog", + description: "Can AI make memes", + label: "30 mins" + }, + { + id: "Card2", + title: "Pay Rent", + description: "Transfer via NEFT", + label: "5 mins", + metadata: { sha: "be312a1" } + } + ] + }, + { + id: "lane2", + title: "Completed", + label: "0/0", + cards: [] + } + ] + }; + + const { Sider, Content } = Layout; + return ( + + { + //console.log(broken); + }} + onCollapse={(collapsed, type) => { + //console.log(collapsed, type); + }} + > +
+ + + + nav 1 + + + + nav 2 + + + + nav 3 + + + + nav 4 + + + + + + + alert( + `Card with id:${cardId} clicked. Has metadata.id: ${metadata.id}` + ) + } + /> + + + ); +} diff --git a/client/yarn.lock b/client/yarn.lock index 74bfd73cd..fbb1a07d8 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -2466,6 +2466,11 @@ autoprefixer@^9.6.1: postcss "^7.0.23" postcss-value-parser "^4.0.2" +autosize@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.2.tgz#073cfd07c8bf45da4b9fd153437f5bafbba1e4c9" + integrity sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3140,7 +3145,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@~2.2.6: +classnames@2.x, "classnames@>= 2.0", classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@~2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== @@ -3922,6 +3927,11 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +deep-diff@^0.3.5: + version "0.3.8" + resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" + integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= + deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -5747,6 +5757,13 @@ immer@1.10.0: resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== +immutability-helper@^2.8.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.9.1.tgz#71c423ba387e67b6c6ceba0650572f2a2a6727df" + integrity sha512-r/RmRG8xO06s/k+PIaif2r5rGc3j4Yhc01jSBfwPCXDLYZwp/yxralI37Df1mwmuzcCsen/E/ITKcTEvc1PQmQ== + dependencies: + invariant "^2.2.0" + immutable@^3.7.4: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" @@ -5896,7 +5913,7 @@ internal-ip@^4.2.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -6879,6 +6896,11 @@ jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: array-includes "^3.0.3" object.assign "^4.1.0" +just-curry-it@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/just-curry-it/-/just-curry-it-3.1.0.tgz#ab59daed308a58b847ada166edd0a2d40766fbc5" + integrity sha512-mjzgSOFzlrurlURaHVjnQodyPNvrHrf1TbQP2XU9NSqBtHQPuHZ+Eb6TAJP7ASeJN9h9K0KXoRTs8u6ouHBKvg== + killable@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -9195,7 +9217,7 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.3" -prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -9848,6 +9870,10 @@ react-app-polyfill@^1.0.4: regenerator-runtime "^0.13.3" whatwg-fetch "^3.0.0" +"react-click-outside@github:tj/react-click-outside": + version "1.1.1" + resolved "https://codeload.github.com/tj/react-click-outside/tar.gz/a833ddc5be47490307f9fcc6ed09d8c353108510" + react-dev-utils@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" @@ -9879,7 +9905,7 @@ react-dev-utils@^9.1.0: strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.12.0: +"react-dom@>= 16.3", react-dom@^16.12.0: version "16.12.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== @@ -9909,11 +9935,35 @@ react-lazy-load@^3.0.13: lodash.throttle "^4.0.0" prop-types "^15.5.8" -react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: +react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== +react-popopo@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/react-popopo/-/react-popopo-2.1.9.tgz#d93f70a8fb68227907d00c0cea4d8f5d321053ea" + integrity sha512-zXOpcLSpaLZmBxhdtenJzQPLjY81XknVS/tXH4Kv5BBrnYIUPHvVdGmS7+o9s7DjCzzdK7AdVwtG+FVSO0cZ8g== + dependencies: + classnames ">= 2.0" + prop-types "^15.7.2" + react ">= 16.3" + react-dom ">= 16.3" + styled-components ">= 4.0" + +react-redux@^5.0.7: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.2.tgz#b19cf9e21d694422727bf798e934a916c4080f57" + integrity sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q== + dependencies: + "@babel/runtime" "^7.1.2" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + loose-envify "^1.1.0" + prop-types "^15.6.1" + react-is "^16.6.0" + react-lifecycles-compat "^3.0.0" + react-router-dom@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" @@ -10015,7 +10065,26 @@ react-slick@~0.25.2: lodash.debounce "^4.0.8" resize-observer-polyfill "^1.5.0" -react@^16.12.0: +react-trello@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-trello/-/react-trello-2.2.3.tgz#a8018c3b4812902b6030dc1ef3b8123c270ace5c" + integrity sha512-eB2BT3EJl7A30/+GcgKFnvhydSjMgzmvjPpx7MHgc5gmUuK2sbEzpNXtx9p7/eQC5dd10T7pnQa2muURp6ESCg== + dependencies: + autosize "^4.0.2" + classnames "^2.2.6" + immutability-helper "^2.8.1" + lodash "^4.17.11" + prop-types "^15.7.2" + react-click-outside tj/react-click-outside + react-popopo "^2.1.9" + react-redux "^5.0.7" + redux "^4.0.0" + redux-actions "^2.6.1" + redux-logger "^3.0.6" + smooth-dnd "https://github.com/rcdexta/smooth-dnd" + uuid "^3.3.2" + +"react@>= 16.3", react@^16.12.0: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== @@ -10128,6 +10197,37 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +reduce-reducers@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.4.3.tgz#8e052618801cd8fc2714b4915adaa8937eb6d66c" + integrity sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw== + +redux-actions@^2.6.1: + version "2.6.5" + resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.5.tgz#bdca548768ee99832a63910c276def85e821a27e" + integrity sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw== + dependencies: + invariant "^2.2.4" + just-curry-it "^3.1.0" + loose-envify "^1.4.0" + reduce-reducers "^0.4.3" + to-camel-case "^1.0.0" + +redux-logger@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf" + integrity sha1-91VZZvMJjzyIYExEnPC69XeCdL8= + dependencies: + deep-diff "^0.3.5" + +redux@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" + integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== + dependencies: + loose-envify "^1.4.0" + symbol-observable "^1.2.0" + regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" @@ -10783,6 +10883,10 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +"smooth-dnd@git+https://github.com/rcdexta/smooth-dnd.git": + version "0.6.3" + resolved "git+https://github.com/rcdexta/smooth-dnd.git#f13924c67bf6ffe4613d97bb1ee83f11d364eb1e" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -11226,7 +11330,7 @@ style-loader@1.0.0: loader-utils "^1.2.3" schema-utils "^2.0.1" -styled-components@^4.4.1: +"styled-components@>= 4.0", styled-components@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.4.1.tgz#e0631e889f01db67df4de576fedaca463f05c2f2" integrity sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g== @@ -11307,7 +11411,7 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@^1.0.2: +symbol-observable@^1.0.2, symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== @@ -11460,11 +11564,23 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-camel-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" + integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY= + dependencies: + to-space-case "^1.0.0" + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +to-no-case@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" + integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -11490,6 +11606,13 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-space-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" + integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= + dependencies: + to-no-case "^1.0.0" + toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"