diff --git a/.DS_Store b/.DS_Store index 0fd35af8..7da67d7b 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/client/package-lock.json b/client/package-lock.json index 7bbca961..103c8a4b 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1205,6 +1205,21 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.0.tgz", "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==" }, + "acorn5-object-spread": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz", + "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=", + "requires": { + "acorn": "^5.1.2" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + } + } + }, "address": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", @@ -3015,9 +3030,9 @@ } }, "cached-path-relative": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", - "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" }, "caller-path": { "version": "0.1.0", @@ -3754,6 +3769,11 @@ "sha.js": "^2.4.8" } }, + "credit-card-type": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/credit-card-type/-/credit-card-type-6.3.0.tgz", + "integrity": "sha1-bmwT5+WS+DsGfCRClIak8lDqoDA=" + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -3807,6 +3827,11 @@ "randomfill": "^1.0.3" } }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, "css-color-names": { "version": "0.0.4", "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -3922,6 +3947,16 @@ } } }, + "css-to-react-native": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.2.2.tgz", + "integrity": "sha512-w99Fzop1FO8XKm0VpbQp3y5mnTnaS+rtCvS+ylSEOK76YXO5zoHQx/QMB1N54Cp+Ya9jB9922EHrh14ld4xmmw==", + "requires": { + "css-color-keywords": "^1.0.0", + "fbjs": "^0.8.5", + "postcss-value-parser": "^3.3.0" + } + }, "css-tree": { "version": "1.0.0-alpha.28", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", @@ -4667,6 +4702,14 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -5433,6 +5476,35 @@ "bser": "^2.0.0" } }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + } + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -7652,6 +7724,15 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -9366,6 +9447,15 @@ "lower-case": "^1.1.1" } }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, "node-forge": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", @@ -9929,6 +10019,14 @@ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" }, + "payment": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/payment/-/payment-2.3.0.tgz", + "integrity": "sha1-sqlenDBSRZZH2jkmuLZsVT2TCY8=", + "requires": { + "qj": "~2.0.0" + } + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -12484,6 +12582,11 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, + "qj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/qj/-/qj-2.0.0.tgz", + "integrity": "sha1-BU3Tt1zgGHKNI6BgXwMN/aC9FYo=" + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -12662,6 +12765,16 @@ } } }, + "react-credit-card-input": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/react-credit-card-input/-/react-credit-card-input-1.0.15.tgz", + "integrity": "sha512-iwUmw5wAj71PiqIQTWbb6pCKRriGVsDbJ7AfljKTKUNL27vs9ZsyITECNDoRe9aI7bIHhE8k7HmImGQsvAeGYQ==", + "requires": { + "credit-card-type": "6.3.0", + "payment": "2.3.0", + "styled-components": "3.3.3" + } + }, "react-dev-utils": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-6.0.4.tgz", @@ -14013,6 +14126,7 @@ "resolved": "https://registry.npmjs.org/rijs.sync/-/rijs.sync-2.3.5.tgz", "integrity": "sha512-tcbhmjLyWb+2s2gdiSmROEoD/OQPFeKC9xBnKgs0H+umY8CaVrVPGFdr1y1qovm7HxUbdk/BKqi94GQDc5XB3A==", "requires": { + "buble": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8", "express": "^4.14.0", "lru_map": "^0.3.3", "platform": "^1.3.4", @@ -14042,7 +14156,7 @@ }, "buble": { "version": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8", - "from": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8", + "from": "github:pemrouz/buble", "requires": { "acorn": "^5.1.2", "acorn-jsx": "^3.0.1", @@ -14052,16 +14166,6 @@ "minimist": "^1.2.0", "os-homedir": "^1.0.1", "vlq": "^0.2.2" - }, - "dependencies": { - "acorn5-object-spread": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz", - "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=", - "requires": { - "acorn": "^5.1.2" - } - } } }, "magic-string": { @@ -15473,6 +15577,47 @@ } } }, + "styled-components": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.3.3.tgz", + "integrity": "sha1-CecCBVqxH3qOq4IpscDQuFUJVoY=", + "requires": { + "buffer": "^5.0.3", + "css-to-react-native": "^2.0.3", + "fbjs": "^0.8.16", + "hoist-non-react-statics": "^2.5.0", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.4", + "react-is": "^16.3.1", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10", + "supports-color": "^3.2.3" + }, + "dependencies": { + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, "stylehacks": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz", @@ -15510,6 +15655,16 @@ } } }, + "stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" + }, + "stylis-rule-sheet": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" + }, "subarg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", @@ -16023,6 +16178,11 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "ua-parser-js": { + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", diff --git a/client/package.json b/client/package.json index 0650a7c2..3dd5a7b5 100644 --- a/client/package.json +++ b/client/package.json @@ -15,6 +15,7 @@ "radium": "^0.25.0", "react": "^16.5.2", "react-bootstrap": "^0.32.4", + "react-credit-card-input": "^1.0.15", "react-dom": "^16.5.2", "react-google-login": "^3.2.1", "react-redux": "^5.0.7", diff --git a/client/src/App.js b/client/src/App.js index a30740b1..59131e24 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -35,6 +35,13 @@ import ToDoWrapper from "./components/to-do/todowrapper"; import AddToDo from "./components/to-do/addtodo"; import AddHolds from "./components/holds/addholds"; import HoldsWrapper from "./components/holds/holdswrapper"; +import Payment from "./components/payment/Payment"; + + +import ConfirmationPage from "./components/payment/ConfirmationPage"; +import PdfPage from "./components/payment/PdfPage.jsx"; + + library.add(faStroopwafel); //Check for token @@ -75,7 +82,9 @@ class App extends Component { component={DashBoardLogic} /> - + + + - + + + + + + + + + +