diff --git a/OpenSSH_8.1p1, b/OpenSSH_8.1p1, new file mode 100644 index 0000000..e69de29 diff --git a/debug1: b/debug1: new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json index db93b67..0b53e13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,10 +12,12 @@ "@testing-library/react": "^9.4.0", "@testing-library/user-event": "^7.2.1", "history": "^5.1.0", + "material-icons-react": "^1.0.4", "react": "^16.12.0", "react-dom": "^16.12.0", - "react-router-dom": "^6.0.2", - "react-scripts": "3.3.1" + "react-router-dom": "^6.11.2", + "react-scripts": "3.3.1", + "react-scroll": "^1.8.9" } }, "node_modules/@babel/code-frame": { @@ -1357,6 +1359,14 @@ "node": ">= 6" } }, + "node_modules/@remix-run/router": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", + "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@sheerun/mutationobserver-shim": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz", @@ -3859,6 +3869,15 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "dependencies": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, "node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -4765,6 +4784,25 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -5929,6 +5967,34 @@ "bser": "2.1.1" } }, + "node_modules/fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "dependencies": { + "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.30" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, "node_modules/figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -7486,6 +7552,15 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -9257,6 +9332,11 @@ "lodash._reinterpolate": "^3.0.0" } }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -9370,6 +9450,50 @@ "node": ">=0.10.0" } }, + "node_modules/material-icons-react": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/material-icons-react/-/material-icons-react-1.0.4.tgz", + "integrity": "sha512-ZTCD0Nl+/hTyvONWz8N6gCrpLWfbkOF77NWbD9ThYdkBK8gtvFMc/ORS8nfU0qlmS1wNdVXf1oTaBRWLCiNkxw==", + "dependencies": { + "prop-types": "^15.6.1", + "react": "^15.0.0", + "react-dom": "^15.0.0", + "webfontloader": "^1.6.28" + }, + "peerDependencies": { + "react": "~0.14.8 || ^15.0.0", + "react-dom": "~0.14.8 || ^15.0.0" + } + }, + "node_modules/material-icons-react/node_modules/react": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-15.7.0.tgz", + "integrity": "sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==", + "dependencies": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/material-icons-react/node_modules/react-dom": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.7.0.tgz", + "integrity": "sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==", + "dependencies": { + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + }, + "peerDependencies": { + "react": "^15.7.0" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -9857,6 +9981,15 @@ "lower-case": "^1.1.1" } }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, "node_modules/node-forge": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", @@ -12440,23 +12573,29 @@ "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" }, "node_modules/react-router": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.0.2.tgz", - "integrity": "sha512-8/Wm3Ed8t7TuedXjAvV39+c8j0vwrI5qVsYqjFr5WkJjsJpEvNSoLRUbtqSEYzqaTUj1IV+sbPJxvO+accvU0Q==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", + "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", "dependencies": { - "history": "^5.1.0" + "@remix-run/router": "1.6.2" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { "react": ">=16.8" } }, "node_modules/react-router-dom": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.2.tgz", - "integrity": "sha512-cOpJ4B6raFutr0EG8O/M2fEoyQmwvZWomf1c6W2YXBZuFBx8oTk/zqjXghwScyhfrtnt0lANXV2182NQblRxFA==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", + "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", "dependencies": { - "history": "^5.1.0", - "react-router": "6.0.2" + "@remix-run/router": "1.6.2", + "react-router": "6.11.2" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { "react": ">=16.8", @@ -12531,6 +12670,19 @@ "fsevents": "2.1.2" } }, + "node_modules/react-scroll": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/react-scroll/-/react-scroll-1.8.9.tgz", + "integrity": "sha512-9m7ztraiX/l6L7erzYAD3fhnveNckei6/NkWfqwN2e0FRdoE2W6Pk4oi2Nah7mWpPCPAeIgegfaqZACTimPOwg==", + "dependencies": { + "lodash.throttle": "^4.1.1", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "react": "^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -14733,6 +14885,24 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "node_modules/ua-parser-js": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", + "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -15839,6 +16009,11 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/webfontloader": { + "version": "1.6.28", + "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", + "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==" + }, "node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -18731,6 +18906,11 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, + "@remix-run/router": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.2.tgz", + "integrity": "sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==" + }, "@sheerun/mutationobserver-shim": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz", @@ -20870,6 +21050,15 @@ "sha.js": "^2.4.8" } }, + "create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -21627,6 +21816,24 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -22589,6 +22796,35 @@ "bser": "2.1.1" } }, + "fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "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.30" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" + }, + "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", @@ -23853,6 +24089,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": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "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", @@ -25273,6 +25518,11 @@ "lodash._reinterpolate": "^3.0.0" } }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -25366,6 +25616,42 @@ "object-visit": "^1.0.0" } }, + "material-icons-react": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/material-icons-react/-/material-icons-react-1.0.4.tgz", + "integrity": "sha512-ZTCD0Nl+/hTyvONWz8N6gCrpLWfbkOF77NWbD9ThYdkBK8gtvFMc/ORS8nfU0qlmS1wNdVXf1oTaBRWLCiNkxw==", + "requires": { + "prop-types": "^15.6.1", + "react": "^15.0.0", + "react-dom": "^15.0.0", + "webfontloader": "^1.6.28" + }, + "dependencies": { + "react": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-15.7.0.tgz", + "integrity": "sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==", + "requires": { + "create-react-class": "^15.6.0", + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + }, + "react-dom": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.7.0.tgz", + "integrity": "sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==", + "requires": { + "fbjs": "^0.8.9", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.0", + "prop-types": "^15.5.10" + } + } + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -25774,6 +26060,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.9.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", @@ -27895,20 +28190,20 @@ "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" }, "react-router": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.0.2.tgz", - "integrity": "sha512-8/Wm3Ed8t7TuedXjAvV39+c8j0vwrI5qVsYqjFr5WkJjsJpEvNSoLRUbtqSEYzqaTUj1IV+sbPJxvO+accvU0Q==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.2.tgz", + "integrity": "sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==", "requires": { - "history": "^5.1.0" + "@remix-run/router": "1.6.2" } }, "react-router-dom": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.0.2.tgz", - "integrity": "sha512-cOpJ4B6raFutr0EG8O/M2fEoyQmwvZWomf1c6W2YXBZuFBx8oTk/zqjXghwScyhfrtnt0lANXV2182NQblRxFA==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.2.tgz", + "integrity": "sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==", "requires": { - "history": "^5.1.0", - "react-router": "6.0.2" + "@remix-run/router": "1.6.2", + "react-router": "6.11.2" } }, "react-scripts": { @@ -27971,6 +28266,15 @@ "workbox-webpack-plugin": "4.3.1" } }, + "react-scroll": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/react-scroll/-/react-scroll-1.8.9.tgz", + "integrity": "sha512-9m7ztraiX/l6L7erzYAD3fhnveNckei6/NkWfqwN2e0FRdoE2W6Pk4oi2Nah7mWpPCPAeIgegfaqZACTimPOwg==", + "requires": { + "lodash.throttle": "^4.1.1", + "prop-types": "^15.7.2" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -29802,6 +30106,11 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "ua-parser-js": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", + "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==" + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -30691,6 +31000,11 @@ "minimalistic-assert": "^1.0.0" } }, + "webfontloader": { + "version": "1.6.28", + "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", + "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==" + }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", diff --git a/package.json b/package.json index 71cfd7e..743a270 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,12 @@ "@testing-library/react": "^9.4.0", "@testing-library/user-event": "^7.2.1", "history": "^5.1.0", + "material-icons-react": "^1.0.4", "react": "^16.12.0", "react-dom": "^16.12.0", - "react-router-dom": "^6.0.2", - "react-scripts": "3.3.1" + "react-router-dom": "^6.11.2", + "react-scripts": "3.3.1", + "react-scroll": "^1.8.9" }, "scripts": { "start": "react-scripts start", diff --git a/public/favicon.ico b/public/favicon.ico index bcd5dfd..1946730 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/index.html b/public/index.html index 38be221..6505c91 100644 --- a/public/index.html +++ b/public/index.html @@ -1,22 +1,31 @@ - - - - - - - - React App - - - -
- - + + + + + + + + + + + David Melkonian - Application Development Professional + + + + Skip to main content + +
+ + + + + + \ No newline at end of file diff --git a/src/components/About.jsx b/src/components/About.jsx deleted file mode 100644 index eb5c295..0000000 --- a/src/components/About.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react"; - -function About() { - return ( -
-
-
-
- -
-
-

About

-

- Lorem Ipsum is simply dummy text of the printing and typesetting - industry. Lorem Ipsum has been the industry's standard dummy text - ever since the 1500s, when an unknown printer took a galley of - type and scrambled it to make a type specimen book. -

-
-
-
-
- ); -} - -export default About; diff --git a/src/components/Contact.jsx b/src/components/Contact.jsx index b274248..9c08aa6 100644 --- a/src/components/Contact.jsx +++ b/src/components/Contact.jsx @@ -1,25 +1,37 @@ import React from "react"; +import recordtwo from './stripes.png'; +import Person from './Person' function Contact() { return ( -
-
-
-
- -
-
-

Contact

-

- Lorem Ipsum is simply dummy text of the printing and typesetting - industry. Lorem Ipsum has been the industry's standard dummy text - ever since the 1500s, when an unknown printer took a galley of - type and scrambled it to make a type specimen book. -

+
+ artwork +
+
+
+
+
+ +

Contact

+
+
+
+
+

Contact me or check out my stuff at these places.

+
+
+ +
+
+
@@ -27,4 +39,4 @@ function Contact() { ); } -export default Contact; +export default Contact; \ No newline at end of file diff --git a/src/components/DataBind.jsx b/src/components/DataBind.jsx new file mode 100644 index 0000000..9426009 --- /dev/null +++ b/src/components/DataBind.jsx @@ -0,0 +1,63 @@ +import React from "react"; +import recordtwo from './stripes.png'; + +function DataBind () { + return ( + +
+ vinyl artwork +
+
+
+
+
+ person
+

David Melkonian

+ page
+

Skills

+

Front End Development

+
    +
  • ReactJs / Angular / Vue / jQuery
  • +
  • HTML / CSS / SCSS / Bootstrap / Razor
  • +
  • Bootstrap / jQuery
  • +
  • Wordpress / Umbraco / Magnolia
  • +
+ +

Front End Design

+
    +
  • Photoshop / Illustrator / Sketch
  • +
  • Figma / Proto.io / Canva
  • +
+ +

User Experience

+
    +
  • UX Architecture / Design Systems / Content Architecture
  • +
  • User testing / Designing for accessibility /
  • +
+ +

Package Management

+
    +
  • NPM
  • +
  • Gulp
  • +
  • Yarn
  • +
  • NuGet
  • +
  • Homebrew
  • +
  • Yarn
  • +
+ +

Development Tooling

+
    +
  • Github / Bitbucket / Azure
  • +
  • Visual Studio / Intellij / Notepad++ / Github Codespaces
  • +
+ +
+
+
+
+
+
+ ); +} + +export default DataBind; \ No newline at end of file diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx index 3fab5b4..e0e2ca5 100644 --- a/src/components/Footer.jsx +++ b/src/components/Footer.jsx @@ -3,12 +3,12 @@ import React from "react"; function Footer() { return (
-
-
-

- Copyright © Your Website 2020 + +

+

+ +

-
); diff --git a/src/components/Home.jsx b/src/components/Home.jsx index d2a21c8..9f0f48c 100644 --- a/src/components/Home.jsx +++ b/src/components/Home.jsx @@ -1,30 +1,64 @@ import React from "react"; +import Person from './Person'; +import recordtwo from './stripes.png'; function Home() { return (
-
-
-
- -
-
-

Home page

-

- Lorem Ipsum is simply dummy text of the printing and typesetting - industry. Lorem Ipsum has been the industry's standard dummy text - ever since the 1500s, when an unknown printer took a galley of - type and scrambled it to make a type specimen book. -

+ artwork +
+
+
+
+
+ +

Home

+
+
+
+
+

+ About Me +

+

A summary of my experience

+
+
+

+ My career has included enterprise software delivery with companies/initiatives such as HealthCare.gov, + Blue Cross Blue Shield, United Healthcare, Meridian Health, Delta Dental of Michigan, Ford Motor + Company, General Motors and more. In addition to my current role, my previous roles include delivery + manager, technical lead, accessibility lead, user experience and user interface + designer/developer/consultant and technical writer. +

+

I've been fortunate to work on many applications of all sizes. Some include the Delta + Dental MySmileCoverage site, Delta's + Dental's Member Portal Delta's SaaS + product Roosevelt Solutions, the HealthCare.gov product, + Blue Cross Blue Shield of Michigan's bcbsm.com, + and mibcn.com along with countless others. +

+

+ I am well-versed in Agile software development, including Scrum and SAFe methodologies. I am a + Certified Usability Analyst (CUA) by Human Factors International and have obtained Scrum Master + certification. I work with product owners, executive leadership, vendors and management + to ensure successful development and design to deliver world class software. +

+

I am an experienced front-end developer with experience using HTML/CSS/Javascript/Typescript including + React, Angular, Bootstrap, Razor, and more. Creating pixel-perfect HTML and CSS from any design and + creating responsive design frameworks by hand are a few of my strengths.

+

+ I'm a User Experience and User Interface specialist with a CUA + from Human Factors International. I created + graphic design systems and integrated them directly with front end code. I've created wireframes, graphic + comps, design systems, working prototypes and fully coded POCs. I am fluent in Photoshop, Illustrator, Sketch and Figma. +

+
+
+
-
); } -export default Home; +export default Home; \ No newline at end of file diff --git a/src/components/Images.jsx b/src/components/Images.jsx new file mode 100644 index 0000000..476b7d3 --- /dev/null +++ b/src/components/Images.jsx @@ -0,0 +1,8 @@ + +function importAll(r) { + return r.keys().map(r); +} + +const images = importAll(require.context('./', false, /\.(png|jpe?g|svg)$/)); + +export default images; \ No newline at end of file diff --git a/src/components/Navigation.jsx b/src/components/Navigation.jsx index 38ec8c3..f880c2a 100644 --- a/src/components/Navigation.jsx +++ b/src/components/Navigation.jsx @@ -1,16 +1,22 @@ import React from "react"; import { NavLink } from "react-router-dom"; +//import Person from './Person' function Navigation() { return ( + + + + + +
- +
); } diff --git a/src/components/Onu-One-Wire-1.png b/src/components/Onu-One-Wire-1.png new file mode 100644 index 0000000..a0136af Binary files /dev/null and b/src/components/Onu-One-Wire-1.png differ diff --git a/src/components/Patterns.jsx b/src/components/Patterns.jsx new file mode 100644 index 0000000..4e58409 --- /dev/null +++ b/src/components/Patterns.jsx @@ -0,0 +1,87 @@ +import React from "react"; +import Person from './Person' +import recordtwo from './stripes.png'; +import dsone from './ds1.png'; +import dstwo from './ds2.png'; +import dsthree from './ds3.png'; +import dsfour from './ds4.png'; +import dsfive from './ds5.png'; +import dssix from './ds6.png'; +import dsseven from './ds7.png'; +import dseight from './ds8.png'; +import dsnine from './ds9.png'; +import dsten from './ds10.png'; +import dseleven from './ds11.png'; +import dstwelve from './ds12.png'; +import dsthirteen from './ds13.png'; + +function Patterns() { + return ( + +
+ artwork +
+
+
+
+
+ +

Patterns

+
+
+
+
+

Patterns

+

+ I hand-coded the HTML/CSS for this SaaS design system / pattern library as designed by a design agency. +

+
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+
+ vinyl artwork +
+ +
+
+
+
+
+ ); +} + +export default Patterns; \ No newline at end of file diff --git a/src/components/Person.jsx b/src/components/Person.jsx new file mode 100644 index 0000000..b51b39a --- /dev/null +++ b/src/components/Person.jsx @@ -0,0 +1,18 @@ +import React from "react"; + +function Person () { + + const myName = 'David Melkonian' + + return ( +
+ person
+

{myName}

+ title
+

User Experience Development and Design Professional

+ page
+
+ ); +} + +export default Person; diff --git a/src/components/Resume.jsx b/src/components/Resume.jsx new file mode 100644 index 0000000..5111123 --- /dev/null +++ b/src/components/Resume.jsx @@ -0,0 +1,44 @@ +import React from "react"; +import recordtwo from './stripes.png'; +import resumepdf from './david-melkonian-resume.pdf' + +function Resume() { + return ( +
+ vinyl artwork +
+
+
+
+
+

Resume

+
+
+ +
+
+

+ My Resume (Download) +

+
+
+