diff --git a/docker-compose.yml b/docker-compose.yml
index fd43613..2223e44 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,6 +7,7 @@ services:
dockerfile: Dockerfile
volumes:
- ./:/usr/src/app
+ - /app/node_modules
ports:
- '4000:4000'
- '6006:6006'
diff --git a/package-lock.json b/package-lock.json
index 6675c8c..2f77d5d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "OrbitApiApp",
+ "name": "orbit-backend",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
@@ -1233,22 +1233,69 @@
}
},
"@emotion/core": {
- "version": "10.0.21",
- "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.21.tgz",
- "integrity": "sha512-U9zbc7ovZ2ceIwbLXYZPJy6wPgnOdTNT4jENZ31ee6v2lojetV5bTbCVk6ciT8G3wQRyVaTTfUCH9WCrMzpRIw==",
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.22.tgz",
+ "integrity": "sha512-7eoP6KQVUyOjAkE6y4fdlxbZRA4ILs7dqkkm6oZUJmihtHv0UBq98VgPirq9T8F9K2gKu0J/au/TpKryKMinaA==",
"requires": {
"@babel/runtime": "^7.5.5",
"@emotion/cache": "^10.0.17",
- "@emotion/css": "^10.0.14",
- "@emotion/serialize": "^0.11.10",
+ "@emotion/css": "^10.0.22",
+ "@emotion/serialize": "^0.11.12",
"@emotion/sheet": "0.9.3",
"@emotion/utils": "0.11.2"
+ },
+ "dependencies": {
+ "@emotion/css": {
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.22.tgz",
+ "integrity": "sha512-8phfa5mC/OadBTmGpMpwykIVH0gFCbUoO684LUkyixPq4F1Wwri7fK5Xlm8lURNBrd2TuvTbPUGxFsGxF9UacA==",
+ "requires": {
+ "@emotion/serialize": "^0.11.12",
+ "@emotion/utils": "0.11.2",
+ "babel-plugin-emotion": "^10.0.22"
+ }
+ },
+ "@emotion/serialize": {
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.13.tgz",
+ "integrity": "sha512-Tw+z6oIFCXeznoH25TozFoOUJ9BIyKBgZ9Gif3ej9aqPeP/Dzct8WIXSsz08xxyt1RPlKokvJ3fzMDq0UjL3RQ==",
+ "requires": {
+ "@emotion/hash": "0.7.3",
+ "@emotion/memoize": "0.7.3",
+ "@emotion/unitless": "0.7.4",
+ "@emotion/utils": "0.11.2",
+ "csstype": "^2.5.7"
+ }
+ },
+ "babel-plugin-emotion": {
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.22.tgz",
+ "integrity": "sha512-e3Yo9+GD6ovrcZlt2Unjgfyy0gfdz0+8httltToWL+biFMhLPPT1PJlc0GHy9i+vtPSrTBNY2hawfPJnuG2L3g==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@emotion/hash": "0.7.3",
+ "@emotion/memoize": "0.7.3",
+ "@emotion/serialize": "^0.11.12",
+ "babel-plugin-macros": "^2.0.0",
+ "babel-plugin-syntax-jsx": "^6.18.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^1.0.5",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
}
},
"@emotion/css": {
"version": "10.0.14",
"resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.14.tgz",
"integrity": "sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg==",
+ "dev": true,
"requires": {
"@emotion/serialize": "^0.11.8",
"@emotion/utils": "0.11.2",
@@ -1277,6 +1324,7 @@
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.11.tgz",
"integrity": "sha512-YG8wdCqoWtuoMxhHZCTA+egL0RSGdHEc+YCsmiSBPBEDNuVeMWtjEWtGrhUterSChxzwnWBXvzSxIFQI/3sHLw==",
+ "dev": true,
"requires": {
"@emotion/hash": "0.7.3",
"@emotion/memoize": "0.7.3",
@@ -1291,23 +1339,73 @@
"integrity": "sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A=="
},
"@emotion/styled": {
- "version": "10.0.17",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.17.tgz",
- "integrity": "sha512-zHMgWjHDMNjD+ux64POtDnjLAObniu3znxFBLSdV/RiEhSLjHIowfvSbbd/C33/3uwtI6Uzs2KXnRZtka/PpAQ==",
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.22.tgz",
+ "integrity": "sha512-3+dnBk8NjXnddI8Gi2VJLMmup0bCG8HQkZLaeNky+GSLl8VyxQfuaK5I5aDVvgQ3UzkxrcZrFB3vHYU/iUakBA==",
"requires": {
- "@emotion/styled-base": "^10.0.17",
- "babel-plugin-emotion": "^10.0.17"
+ "@emotion/styled-base": "^10.0.22",
+ "babel-plugin-emotion": "^10.0.22"
+ },
+ "dependencies": {
+ "@emotion/serialize": {
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.13.tgz",
+ "integrity": "sha512-Tw+z6oIFCXeznoH25TozFoOUJ9BIyKBgZ9Gif3ej9aqPeP/Dzct8WIXSsz08xxyt1RPlKokvJ3fzMDq0UjL3RQ==",
+ "requires": {
+ "@emotion/hash": "0.7.3",
+ "@emotion/memoize": "0.7.3",
+ "@emotion/unitless": "0.7.4",
+ "@emotion/utils": "0.11.2",
+ "csstype": "^2.5.7"
+ }
+ },
+ "babel-plugin-emotion": {
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.22.tgz",
+ "integrity": "sha512-e3Yo9+GD6ovrcZlt2Unjgfyy0gfdz0+8httltToWL+biFMhLPPT1PJlc0GHy9i+vtPSrTBNY2hawfPJnuG2L3g==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@emotion/hash": "0.7.3",
+ "@emotion/memoize": "0.7.3",
+ "@emotion/serialize": "^0.11.12",
+ "babel-plugin-macros": "^2.0.0",
+ "babel-plugin-syntax-jsx": "^6.18.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^1.0.5",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
}
},
"@emotion/styled-base": {
- "version": "10.0.19",
- "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.19.tgz",
- "integrity": "sha512-Sz6GBHTbOZoeZQKvkE9gQPzaJ6/qtoQ/OPvyG2Z/6NILlYk60Es1cEcTgTkm26H8y7A0GSgp4UmXl+srvsnFPg==",
+ "version": "10.0.22",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.22.tgz",
+ "integrity": "sha512-ikSuAcz86BcmlZM5EysqCH0EUssYm5ardrWNVM3Ri5ODpOlKPrT//jVozJU2uK3q5GRcqZHLqagP/nd9beNUfQ==",
"requires": {
"@babel/runtime": "^7.5.5",
"@emotion/is-prop-valid": "0.8.3",
- "@emotion/serialize": "^0.11.11",
+ "@emotion/serialize": "^0.11.12",
"@emotion/utils": "0.11.2"
+ },
+ "dependencies": {
+ "@emotion/serialize": {
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.13.tgz",
+ "integrity": "sha512-Tw+z6oIFCXeznoH25TozFoOUJ9BIyKBgZ9Gif3ej9aqPeP/Dzct8WIXSsz08xxyt1RPlKokvJ3fzMDq0UjL3RQ==",
+ "requires": {
+ "@emotion/hash": "0.7.3",
+ "@emotion/memoize": "0.7.3",
+ "@emotion/unitless": "0.7.4",
+ "@emotion/utils": "0.11.2",
+ "csstype": "^2.5.7"
+ }
+ }
}
},
"@emotion/stylis": {
@@ -2449,12 +2547,6 @@
"integrity": "sha512-ACymFQ5qgSrZNR1Fqjk7Wv9gH6dFgejn2gpLkkceWxTKzivRJsshX4xhBVALgvF79gUdXiMCRIdusN728XpeGA==",
"dev": true
},
- "@types/classnames": {
- "version": "2.2.9",
- "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.9.tgz",
- "integrity": "sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A==",
- "dev": true
- },
"@types/events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -2490,12 +2582,6 @@
"integrity": "sha1-H+SObl4qlpyv7PDyRIWuI8cqvTA=",
"dev": true
},
- "@types/lodash": {
- "version": "4.14.144",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.144.tgz",
- "integrity": "sha512-ogI4g9W5qIQQUhXAclq6zhqgqNUr7UlFaqDHbch7WLSLeeM/7d3CRaw7GLajxvyFvhJqw4Rpcz5bhoaYtIx6Tg==",
- "dev": true
- },
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -2858,12 +2944,6 @@
"integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==",
"dev": true
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
- },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -2977,12 +3057,6 @@
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
"dev": true
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
"animejs": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/animejs/-/animejs-2.2.0.tgz",
@@ -3481,12 +3555,6 @@
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
"dev": true
},
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
"array-flatten": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -3653,12 +3721,6 @@
"integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
"dev": true
},
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
- "dev": true
- },
"async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
@@ -3987,6 +4049,7 @@
"version": "10.0.21",
"resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.21.tgz",
"integrity": "sha512-03o+T6sfVAJhNDcSdLapgv4IeewcFPzxlvBUVdSf7o5PI57ZSxoDvmy+ZulVWSu+rOWAWkEejNcsb29TuzJHbg==",
+ "dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"@emotion/hash": "0.7.3",
@@ -4003,7 +4066,8 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
@@ -4714,15 +4778,6 @@
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"dev": true
},
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.0"
- }
- },
"bluebird": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz",
@@ -5185,24 +5240,6 @@
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true
},
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
- }
- },
"can-use-dom": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz",
@@ -5474,7 +5511,8 @@
"classnames": {
"version": "2.2.6",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
- "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
+ "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==",
+ "dev": true
},
"clean-css": {
"version": "4.2.1",
@@ -5589,25 +5627,6 @@
}
}
},
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
- }
- }
- },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -6078,26 +6097,6 @@
"randomfill": "^1.0.3"
}
},
- "css-loader": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
- "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "css-selector-tokenizer": "^0.7.0",
- "icss-utils": "^2.1.0",
- "loader-utils": "^1.0.2",
- "lodash": "^4.17.11",
- "postcss": "^6.0.23",
- "postcss-modules-extract-imports": "^1.2.0",
- "postcss-modules-local-by-default": "^1.2.0",
- "postcss-modules-scope": "^1.1.0",
- "postcss-modules-values": "^1.3.0",
- "postcss-value-parser": "^3.3.0",
- "source-list-map": "^2.0.0"
- }
- },
"css-select": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
@@ -6116,17 +6115,6 @@
"integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
"dev": true
},
- "css-selector-tokenizer": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
- "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
- "dev": true,
- "requires": {
- "cssesc": "^0.1.0",
- "fastparse": "^1.1.1",
- "regexpu-core": "^1.0.0"
- }
- },
"css-tree": {
"version": "1.0.0-alpha.33",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz",
@@ -6151,12 +6139,6 @@
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
"dev": true
},
- "cssesc": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
- "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
- "dev": true
- },
"csso": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
@@ -6210,15 +6192,6 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.7.tgz",
"integrity": "sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ=="
},
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
- },
"cyclist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@@ -7728,12 +7701,6 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
- "dev": true
- },
"fault": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz",
@@ -8788,17 +8755,6 @@
}
}
},
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
"fs-write-stream-atomic": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@@ -9403,18 +9359,6 @@
}
}
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- }
- },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -9494,15 +9438,6 @@
}
}
},
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "dev": true,
- "requires": {
- "globule": "^1.0.0"
- }
- },
"get-caller-file": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
@@ -9673,17 +9608,6 @@
}
}
},
- "globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
- "dev": true,
- "requires": {
- "glob": "~7.1.1",
- "lodash": "~4.17.10",
- "minimatch": "~3.0.2"
- }
- },
"good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
@@ -10500,21 +10424,6 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "icss-replace-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
- "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
- "dev": true
- },
- "icss-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
- "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
- "dev": true,
- "requires": {
- "postcss": "^6.0.1"
- }
- },
"identity-obj-proxy": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
@@ -10645,12 +10554,6 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
- "in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
- "dev": true
- },
"indent-string": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
@@ -12201,12 +12104,6 @@
"merge-stream": "^1.0.1"
}
},
- "js-base64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
- "dev": true
- },
"js-levenshtein": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
@@ -13131,16 +13028,6 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
"lower-case": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
@@ -13215,12 +13102,6 @@
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
- },
"map-or-similar": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz",
@@ -13364,24 +13245,6 @@
}
}
},
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- }
- },
"merge": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
@@ -13769,7 +13632,8 @@
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"nanomatch": {
"version": "1.2.13",
@@ -13880,34 +13744,6 @@
"integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
"dev": true
},
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
- "dev": true,
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
- "dependencies": {
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true
- }
- }
- },
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@@ -14021,58 +13857,6 @@
}
}
},
- "node-sass": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
- "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
- "dev": true,
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^1.1.1",
- "cross-spawn": "^3.0.0",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "in-publish": "^2.0.0",
- "lodash": "^4.17.11",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "nan": "^2.13.2",
- "node-gyp": "^3.8.0",
- "npmlog": "^4.0.0",
- "request": "^2.88.0",
- "sass-graph": "^2.2.4",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- }
- }
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -14476,16 +14260,6 @@
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
@@ -14927,48 +14701,6 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
"postcss-flexbugs-fixes": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz",
@@ -15117,45 +14849,6 @@
}
}
},
- "postcss-modules-extract-imports": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
- "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
- "dev": true,
- "requires": {
- "postcss": "^6.0.1"
- }
- },
- "postcss-modules-local-by-default": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
- "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
- "dev": true,
- "requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- }
- },
- "postcss-modules-scope": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
- "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
- "dev": true,
- "requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- }
- },
- "postcss-modules-values": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
- "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
- "dev": true,
- "requires": {
- "icss-replace-symbols": "^1.1.0",
- "postcss": "^6.0.1"
- }
- },
"postcss-selector-parser": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
@@ -15175,12 +14868,6 @@
}
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -16594,27 +16281,6 @@
"minimatch": "3.0.4"
}
},
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
- },
- "dependencies": {
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
- }
- }
- },
"redux": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz",
@@ -16707,32 +16373,6 @@
"define-properties": "^1.1.2"
}
},
- "regexpu-core": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
- "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
- "dev": true,
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
- "requires": {
- "jsesc": "~0.5.0"
- }
- },
"relateurl": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
@@ -17343,144 +16983,6 @@
}
}
},
- "sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "lodash": "^4.0.0",
- "scss-tokenizer": "^0.2.3",
- "yargs": "^7.0.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- }
- }
- }
- },
- "sass-loader": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
- "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
- "dev": true,
- "requires": {
- "clone-deep": "^4.0.1",
- "loader-utils": "^1.0.1",
- "neo-async": "^2.5.0",
- "pify": "^4.0.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -17506,27 +17008,6 @@
"ajv-keywords": "^3.1.0"
}
},
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
- "dev": true,
- "requires": {
- "js-base64": "^2.1.8",
- "source-map": "^0.4.2"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
"select": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
@@ -17752,23 +17233,6 @@
"safe-buffer": "^5.0.1"
}
},
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
- }
- }
- },
"shallow-equal": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.0.tgz",
@@ -18315,53 +17779,6 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
"stealthy-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
@@ -18665,23 +18082,6 @@
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1"
- },
- "dependencies": {
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- }
- }
- },
"style-loader": {
"version": "0.23.1",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
@@ -18823,17 +18223,6 @@
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
"dev": true
},
- "tar": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
- "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
- "dev": true,
- "requires": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
- }
- },
"telejson": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/telejson/-/telejson-3.0.3.tgz",
@@ -19183,27 +18572,12 @@
"punycode": "^2.1.0"
}
},
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
- },
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dev": true,
- "requires": {
- "glob": "^7.1.2"
- }
- },
"ts-loader": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.4.5.tgz",
@@ -21036,18 +20410,6 @@
"uuid": "^3.3.2"
}
},
- "webpack-manifest-plugin": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz",
- "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==",
- "dev": true,
- "requires": {
- "fs-extra": "^7.0.0",
- "lodash": ">=3.5 <5",
- "object.entries": "^1.1.0",
- "tapable": "^1.0.0"
- }
- },
"webpack-sources": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
diff --git a/package.json b/package.json
index 83fbe96..eb3d09d 100644
--- a/package.json
+++ b/package.json
@@ -36,14 +36,12 @@
},
"description": "== README",
"dependencies": {
- "@emotion/core": "^10.0.21",
- "@emotion/styled": "^10.0.17",
+ "@emotion/core": "^10.0.22",
+ "@emotion/styled": "^10.0.22",
"animejs": "^2.2.0",
"axios": "^0.18.0",
- "classnames": "^2.2.6",
"formik": "^1.4.1",
"keymirror": "^0.1.1",
- "lodash": "^4.17.11",
"moment": "^2.23.0",
"react": "^16.5.2",
"react-dom": "^16.5.2",
@@ -61,10 +59,7 @@
"@storybook/addon-knobs": "^5.2.4",
"@storybook/react": "^5.2.4",
"@types/animejs": "^2.0.1",
- "@types/classnames": "^2.2.6",
- "@types/glob": "^7.1.1",
"@types/keymirror": "^0.1.1",
- "@types/lodash": "^4.14.118",
"@types/moment": "^2.13.0",
"@types/node": "^10.12.12",
"@types/react": "^16.7.13",
@@ -76,23 +71,18 @@
"@types/redux-promise": "^0.5.28",
"@types/storybook__react": "^4.0.2",
"babel-loader": "^8.0.6",
- "css-loader": "^1.0.0",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.7.1",
"enzyme-to-json": "^3.3.5",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"file-loader": "^2.0.0",
- "glob": "^7.1.3",
"husky": "^1.2.1",
"identity-obj-proxy": "^3.0.0",
"jest": "^23.6.0",
"lint-staged": "^8.0.5",
- "node-sass": "^4.9.4",
"prettier": "1.15.2",
"react-hot-loader": "^4.3.8",
"react-test-renderer": "^16.5.2",
- "sass-loader": "^7.1.0",
- "style-loader": "^0.23.1",
"ts-loader": "^5.3.1",
"tslint": "^5.11.0",
"tslint-config-prettier": "^1.17.0",
@@ -101,8 +91,7 @@
"typescript": "^3.2.1",
"webpack": "^4.19.1",
"webpack-cli": "^3.1.0",
- "webpack-dev-server": "^3.1.8",
- "webpack-manifest-plugin": "^2.0.4"
+ "webpack-dev-server": "^3.1.8"
},
"directories": {
"test": "test"
diff --git a/src/javascripts/actions/assignments.ts b/src/javascripts/actions/assignments.ts
index d85477d..bb63a72 100644
--- a/src/javascripts/actions/assignments.ts
+++ b/src/javascripts/actions/assignments.ts
@@ -1,8 +1,8 @@
import axios from "axios";
import Alert from "react-s-alert";
-import { actionTypes } from "../constants/action-types";
-import { BaseAction } from "../constants/static-types";
-import { ROOT_URL } from "../constants/url";
+import { actionTypes } from "../constants/ActionTypes";
+import { BaseAction } from "../constants/StaticTypes";
+import { ROOT_URL } from "../constants/RootUrl";
// -------------------------------------------------------------------------------------
// Flash
diff --git a/src/javascripts/actions/common.ts b/src/javascripts/actions/common.ts
index 298759c..1717515 100644
--- a/src/javascripts/actions/common.ts
+++ b/src/javascripts/actions/common.ts
@@ -1,5 +1,5 @@
-import { actionTypes } from "../constants/action-types";
-import { BaseAction } from "../constants/static-types";
+import { actionTypes } from "../constants/ActionTypes";
+import { BaseAction } from "../constants/StaticTypes";
// -------------------------------------------------------------------------------------
// SelectedStar
diff --git a/src/javascripts/actions/projects.ts b/src/javascripts/actions/projects.ts
index ee1cd70..ee1bbc5 100644
--- a/src/javascripts/actions/projects.ts
+++ b/src/javascripts/actions/projects.ts
@@ -1,8 +1,8 @@
import axios from "axios";
import Alert from "react-s-alert";
-import { actionTypes } from "../constants/action-types";
-import { BaseAction } from "../constants/static-types";
-import { ROOT_URL } from "../constants/url";
+import { actionTypes } from "../constants/ActionTypes";
+import { BaseAction } from "../constants/StaticTypes";
+import { ROOT_URL } from "../constants/RootUrl";
// -------------------------------------------------------------------------------------
// Flash
diff --git a/src/javascripts/actions/subassignmnets.ts b/src/javascripts/actions/subassignmnets.ts
index e826716..07fbb59 100644
--- a/src/javascripts/actions/subassignmnets.ts
+++ b/src/javascripts/actions/subassignmnets.ts
@@ -1,7 +1,7 @@
import axios from "axios";
-import { actionTypes } from "../constants/action-types";
-import { BaseAction } from "../constants/static-types";
-import { ROOT_URL } from "../constants/url";
+import { actionTypes } from "../constants/ActionTypes";
+import { BaseAction } from "../constants/StaticTypes";
+import { ROOT_URL } from "../constants/RootUrl";
interface CreateSubAssignmentAction extends BaseAction {
type: string;
diff --git a/src/javascripts/actions/users.ts b/src/javascripts/actions/users.ts
index 6203298..efbb98e 100644
--- a/src/javascripts/actions/users.ts
+++ b/src/javascripts/actions/users.ts
@@ -1,8 +1,8 @@
import axios from "axios";
import Alert from "react-s-alert";
-import { actionTypes } from "../constants/action-types";
-import { BaseAction } from "../constants/static-types";
-import { ROOT_URL } from "../constants/url";
+import { actionTypes } from "../constants/ActionTypes";
+import { BaseAction } from "../constants/StaticTypes";
+import { ROOT_URL } from "../constants/RootUrl";
// -------------------------------------------------------------------------------------
// Flash
diff --git a/src/javascripts/app.tsx b/src/javascripts/app.tsx
index bf8e017..1a6cc07 100644
--- a/src/javascripts/app.tsx
+++ b/src/javascripts/app.tsx
@@ -10,9 +10,9 @@ import {
} from "react-router-dom";
import promise from "redux-promise";
import reducers from "./reducers";
-import Main from "./components/index/main";
-import UserOnly from "./components/index/user-only";
-import GuestOnly from "./components/index/guest-only";
+import Main from "./components/index/Main";
+import UserOnly from "./components/index/UserOnly";
+import GuestOnly from "./components/index/GuestOnly";
import "../stylesheets/common.scss";
import "../stylesheets/form_field.scss";
diff --git a/src/javascripts/components/atoms/FixedStarInList.tsx b/src/javascripts/components/atoms/FixedStarInList.tsx
new file mode 100644
index 0000000..6f478ed
--- /dev/null
+++ b/src/javascripts/components/atoms/FixedStarInList.tsx
@@ -0,0 +1,24 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+import Img from "../atoms/Image";
+import { PlanetImgs } from "../../constants/ImagesUrl";
+
+interface Props {
+ className?: string;
+ project: any;
+ onClick: React.MouseEventHandler;
+}
+
+const FixedStarInList: React.FC
= ({ project, className, onClick }) => (
+
+
+
+);
+
+const Root = styled.li``;
+
+export default FixedStarInList;
diff --git a/src/javascripts/components/atoms/InputField.tsx b/src/javascripts/components/atoms/InputField.tsx
new file mode 100644
index 0000000..4c6815f
--- /dev/null
+++ b/src/javascripts/components/atoms/InputField.tsx
@@ -0,0 +1,139 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+interface InputFieldProps {
+ className?: string;
+ type: string;
+ name: string;
+ placeholder: string;
+ value: string;
+ onChange: (e: React.SyntheticEvent) => void;
+ onBlur: (e: React.SyntheticEvent) => void;
+}
+
+const InputField: React.SFC = ({
+ className,
+ type,
+ name,
+ placeholder,
+ value,
+ onChange,
+ onBlur
+}) => (
+
+
+
+);
+
+const Root = styled.div<{ type: string }>`
+ width: 320px;
+ margin: 10px 20px 10px 5px;
+ color: #fff;
+ background-color: #0d171f;
+ font-family: orator-std, monospace;
+ font-style: normal;
+ font-weight: 300;
+
+ ${({ type }: { type: string }) => {
+ switch (type) {
+ case "title":
+ return `
+ width: 100px !important;
+ height: 30px !important;
+ `;
+ case "description":
+ return `
+ width: 250px !important;
+ height: 40px !important;
+ `;
+ case "deadline":
+ return `
+ width: 130px !important;
+ height: 30px !important;
+ `;
+ case "username":
+ return `
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ case "email":
+ return `
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ case "password" || "confirmation":
+ return `
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ default:
+ return `
+ width: 100px !important;
+ height: 30px !important;
+ `;
+ }
+ }}
+`;
+
+const Input = styled.input<{ type: string }>`
+ ${({ type }: { type: string }) => {
+ switch (type) {
+ case "title":
+ return `
+ width: 100px !important;
+ height: 30px !important;
+ `;
+ case "description":
+ return `
+ width: 250px !important;
+ height: 40px !important;
+ `;
+ case "deadline":
+ return `
+ width: 130px !important;
+ height: 30px !important;
+ `;
+ case "username":
+ return `
+ border-radius: 20px;
+ text-align: center
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ case "email":
+ return `
+ border-radius: 20px;
+ text-align: center
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ case "password" || "confirmation":
+ return `
+ border-radius: 20px;
+ text-align: center
+ margin: 10px auto;
+ width: 200px !important;
+ height: 20px !important;
+ `;
+ default:
+ return `
+ width: 100px !important;
+ height: 30px !important;
+ `;
+ }
+ }}
+`;
+
+export default InputField;
diff --git a/src/javascripts/components/atoms/buttons/planet-holder-opener.tsx b/src/javascripts/components/atoms/PlanetHolderOpener.tsx
similarity index 65%
rename from src/javascripts/components/atoms/buttons/planet-holder-opener.tsx
rename to src/javascripts/components/atoms/PlanetHolderOpener.tsx
index 709d19b..29a0eb1 100644
--- a/src/javascripts/components/atoms/buttons/planet-holder-opener.tsx
+++ b/src/javascripts/components/atoms/PlanetHolderOpener.tsx
@@ -1,8 +1,11 @@
+import styled from "@emotion/styled";
import * as React from "react";
-import classNames from "classnames";
-import { ImgHolderOpen } from "../../../constants/images";
+
+import Img from "../atoms/Image";
+import { ImgHolderOpen } from "../../constants/ImagesUrl";
interface Props {
+ className?: string;
currentUser: any;
pathname: any;
}
@@ -31,26 +34,36 @@ class PlanetHolderOpener extends React.Component {
}
render() {
- const { currentUser, pathname } = this.props;
+ const { className, currentUser, pathname } = this.props;
// 一箇所でしか使ってないけど他のコンポーネントと記法統一して見やすく
const rootPath = `/users/${currentUser.id}`;
- const planetHolderClasses = classNames({
- "open-planet-holder": true,
- "holder-show":
- pathname === `${rootPath}` ||
- /^\/users\/[1-9]\d*\/projects$/.test(pathname)
- });
-
return (
-
-

-
+ <_Img
+ src={ImgHolderOpen}
+ alt={ImgHolderOpen}
+ height="100px"
+ width="100px"
+ />
+
);
}
}
+const Root = styled.div<{ isShow: boolean }>`
+ display: ${({ isShow }) => (isShow ? "block" : "none")};
+`;
+
+const _Img = styled(Img)`
+ cursor: pointer;
+`;
+
export default PlanetHolderOpener;
diff --git a/src/javascripts/components/atoms/PopupAssignmnetCard.tsx b/src/javascripts/components/atoms/PopupAssignmnetCard.tsx
new file mode 100644
index 0000000..bb5ca0a
--- /dev/null
+++ b/src/javascripts/components/atoms/PopupAssignmnetCard.tsx
@@ -0,0 +1,54 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+interface Props {
+ assignment: any;
+}
+
+const PopupAssignmentCard: React.FC = ({ assignment }) => {
+ if (!assignment) return;
+
+ const deadline: any = assignment.deadline.split("T")[0].split("-");
+ const { title, description }: any = assignment;
+
+ return (
+
+ {title}
+
+ {deadline[0]}年{deadline[1]}月{deadline[2]}日
+
+ {description}
+
+ );
+};
+
+const Root = styled.div`
+ display: flex;
+ flex-wrap: wrap;
+ font-size: 14px;
+ color: #fff;
+`;
+
+const Title = styled.div`
+ margin: 0;
+ width: 280px;
+ height: 30px;
+ font-size: 16px;
+ line-height: 30px;
+`;
+
+const Deadline = styled.div`
+ margin: 0;
+ width: 280px;
+ height: 30px;
+ line-height: 30px;
+ text-align: right;
+`;
+
+const Desc = styled.div`
+ margin: 2px 0;
+ width: 280px;
+ height: 70px;
+`;
+
+export default PopupAssignmentCard;
diff --git a/src/javascripts/components/atoms/PopupBox.tsx b/src/javascripts/components/atoms/PopupBox.tsx
new file mode 100644
index 0000000..22f20a3
--- /dev/null
+++ b/src/javascripts/components/atoms/PopupBox.tsx
@@ -0,0 +1,63 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+import PopupAssignmentCard from "./PopupAssignmnetCard";
+import PopupProjectCard from "./PopupProjectCard";
+
+interface Props {
+ className?: string;
+ data: any;
+ isProject: boolean;
+}
+
+const PopupBox: React.FC = ({ className, data, isProject }) => (
+
+ {isProject ? (
+
+ ) : (
+
+ )}
+
+);
+
+const Root = styled.div<{ isProject: boolean }>`
+ position: absolute;
+ top: ${({ isProject }) => (isProject ? "-100px" : "-200px")} !important;
+ right: ${({ isProject }) => (isProject ? "30px" : "-125px")} !important;
+ z-index: 1000;
+ ${({ isProject }) =>
+ isProject ? "transform: skewX(15deg) skewY(8deg);" : ""}
+
+ display: none;
+ margin: 1.5em auto;
+ padding: 7px 10px;
+ width: ${({ isProject }) => (isProject ? "300px" : "280px")};
+ height: 130px;
+ border: solid 3px #fff;
+ box-sizing: border-box;
+ opacity: 1;
+ background-color: rgba(23, 34, 49, 0.8);
+
+ &:before {
+ content: "";
+ position: absolute;
+ bottom: -24px;
+ left: 50%;
+ margin-left: -15px;
+ border: 12px solid transparent;
+ border-top: 12px solid #000;
+ z-index: 1000;
+ opacity: 1;
+ }
+ &:after {
+ content: "";
+ position: absolute;
+ bottom: -30px;
+ left: 50%;
+ margin-left: -17px;
+ border: 14px solid transparent;
+ border-top: 14px solid #fff;
+ }
+`;
+
+export default PopupBox;
diff --git a/src/javascripts/components/atoms/PopupProjectCard.tsx b/src/javascripts/components/atoms/PopupProjectCard.tsx
new file mode 100644
index 0000000..148517c
--- /dev/null
+++ b/src/javascripts/components/atoms/PopupProjectCard.tsx
@@ -0,0 +1,36 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+interface PopupProjectCardProps {
+ project: any;
+}
+
+const PopupProjectCard: React.SFC = ({
+ project
+}: any) => {
+ const { title, description }: any = project;
+
+ return (
+
+ {title}
+ {description}
+
+ );
+};
+
+const Root = styled.div`
+ display: flex;
+ flex-wrap: wrap;
+ font-size: 14px;
+ color: #fff;
+`;
+
+const Title = styled.div`
+ margin: 0;
+ width: 300px;
+ height: 30px;
+ font-size: 16px;
+ line-height: 30px;
+`;
+
+export default PopupProjectCard;
diff --git a/src/javascripts/components/atoms/RawButton.tsx b/src/javascripts/components/atoms/RawButton.tsx
new file mode 100644
index 0000000..730acee
--- /dev/null
+++ b/src/javascripts/components/atoms/RawButton.tsx
@@ -0,0 +1,31 @@
+import styled from "@emotion/styled";
+import * as React from "react";
+
+interface Props {
+ className?: string;
+ children?: string;
+ disabled?: boolean;
+ onClick?: React.MouseEventHandler;
+ type?: string;
+}
+
+const RawButton: React.FC = ({
+ className,
+ children,
+ disabled,
+ onClick,
+ type
+}) => (
+ onClick}
+ type={type}
+ >
+ {children}
+
+);
+
+const Root = styled.button``;
+
+export default RawButton;
diff --git a/src/javascripts/components/atoms/select-field.tsx b/src/javascripts/components/atoms/SelectField.tsx
similarity index 64%
rename from src/javascripts/components/atoms/select-field.tsx
rename to src/javascripts/components/atoms/SelectField.tsx
index 9bf37f9..7c68841 100644
--- a/src/javascripts/components/atoms/select-field.tsx
+++ b/src/javascripts/components/atoms/SelectField.tsx
@@ -1,30 +1,40 @@
+import styled from "@emotion/styled";
import * as React from "react";
-import "../../../stylesheets/field.scss";
-
-interface SelectFieldProps {
+interface Props {
+ className?: string;
name: string;
value: string;
onChange: (e: React.SyntheticEvent) => void;
onBlur: (e: React.SyntheticEvent) => void;
}
-const SelectField: React.SFC = ({
+const SelectField: React.FC = ({
+ className,
name,
value,
onChange,
onBlur
}) => {
return (
-
+
-
+
);
};
+const Root = styled.div`
+ width: 100px;
+ height: 30px;
+ border: none;
+ background-color: #0d171f;
+ font-size: 12px;
+ color: #fff;
+`;
+
export default SelectField;
diff --git a/src/javascripts/components/atoms/buttons/form-submit-btn.tsx b/src/javascripts/components/atoms/buttons/form-submit-btn.tsx
index 113f6ba..cae34da 100644
--- a/src/javascripts/components/atoms/buttons/form-submit-btn.tsx
+++ b/src/javascripts/components/atoms/buttons/form-submit-btn.tsx
@@ -1,9 +1,9 @@
import * as React from "react";
-const FormSubmitBtn = ({ label, isSubmit }: any) => (
+const SubmitBtn = ({ label, isSubmit }: any) => (
);
-export default FormSubmitBtn;
+export default SubmitBtn;
diff --git a/src/javascripts/components/atoms/buttons/select-user-img-btn.tsx b/src/javascripts/components/atoms/buttons/select-user-img-btn.tsx
deleted file mode 100644
index 4599552..0000000
--- a/src/javascripts/components/atoms/buttons/select-user-img-btn.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import * as React from "react";
-import { connect } from "react-redux";
-import { updateUserImg } from "../../../actions/users";
-
-interface Props {
- updateUserImg: any;
-}
-
-class SelectUserImgBtn extends React.Component {
- onSelectUserImg(e: any) {
- if (window.confirm("アイコンを本当に変更しますか?")) {
- this.props.updateUserImg(e.target.files[0]);
- }
- }
-
- render() {
- return (
-
- );
- }
-}
-
-export default connect(
- null,
- { updateUserImg }
-)(SelectUserImgBtn);
diff --git a/src/javascripts/components/atoms/buttons/sign-out-btn.tsx b/src/javascripts/components/atoms/buttons/sign-out-btn.tsx
index 26a6702..bd07cf6 100644
--- a/src/javascripts/components/atoms/buttons/sign-out-btn.tsx
+++ b/src/javascripts/components/atoms/buttons/sign-out-btn.tsx
@@ -1,6 +1,5 @@
import * as React from "react";
import { connect } from "react-redux";
-import { expireCurrentUser } from "../../../actions/users";
interface Props {
history: any;
@@ -8,12 +7,6 @@ interface Props {
}
class SignOutBtn extends React.Component {
- onClickSignOutButton() {
- if (window.confirm("サインアウトしますか?")) {
- this.props.expireCurrentUser(() => this.props.history.push("/"));
- }
- }
-
render() {
return (
-