diff --git a/backend/package-lock.json b/backend/package-lock.json index 96b36b595..136ecf0da 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -5174,7 +5174,7 @@ "dependencies": { "adm-zip": "^0.5.5", "archiver": "^5.3.0", - "axios": "^0.21.1", + "axios": "^1.6.2", "fast-glob": "^3.2.7", "https-proxy-agent": "^5.0.0", "ignore": "^5.1.8", @@ -5201,15 +5201,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/@serverless/platform-client/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/@serverless/platform-client/node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 6eac6c87e..5fabc8d41 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -553,11 +553,11 @@ } }, "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types": { - "version": "3.449.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.449.0.tgz", - "integrity": "sha512-tSQPAvknheB6XnRoc+AuEgdzn2KhY447hddeVW0Mbg8Yl9es4u4TKVINloKDEyUrCKhB/1f93Hb5uJkPe/e/Ww==", + "version": "3.398.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.398.0.tgz", + "integrity": "sha512-r44fkS+vsEgKCuEuTV+TIk0t0m5ZlXHNjSDYEUvzLStbbfUFiNus/YG4UCa0wOk9R7VuQI67badsvvPeVPCGDQ==", "dependencies": { - "@smithy/types": "^2.4.0", + "@smithy/types": "^2.2.2", "tslib": "^2.5.0" }, "engines": { @@ -10495,11 +10495,11 @@ "dev": true }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -10574,11 +10574,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", - "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.23.3", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -10625,16 +10625,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", + "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -10784,12 +10784,12 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -10833,9 +10833,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -10870,24 +10870,24 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -10896,9 +10896,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", - "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -11924,9 +11924,9 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.3.tgz", - "integrity": "sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -12224,9 +12224,10 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.3.tgz", - "integrity": "sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.11.tgz", + "integrity": "sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.15", @@ -12470,6 +12471,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-typescript/node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/register": { "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", @@ -12560,19 +12578,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", - "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -12580,11 +12598,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", - "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -15313,20 +15331,20 @@ } }, "node_modules/@react-native-community/cli": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz", - "integrity": "sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==", - "peer": true, - "dependencies": { - "@react-native-community/cli-clean": "11.3.7", - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-doctor": "11.3.7", - "@react-native-community/cli-hermes": "11.3.7", - "@react-native-community/cli-plugin-metro": "11.3.7", - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", - "@react-native-community/cli-types": "11.3.7", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "peer": true, + "dependencies": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", "chalk": "^4.1.2", "commander": "^9.4.1", "execa": "^5.0.0", @@ -15344,12 +15362,12 @@ } }, "node_modules/@react-native-community/cli-clean": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz", - "integrity": "sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", "prompts": "^2.4.0" @@ -15426,12 +15444,12 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz", - "integrity": "sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -15591,24 +15609,24 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz", - "integrity": "sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", "peer": true, "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz", - "integrity": "sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", "peer": true, "dependencies": { - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "command-exists": "^1.2.8", "envinfo": "^7.7.2", @@ -15717,13 +15735,13 @@ } }, "node_modules/@react-native-community/cli-hermes": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz", - "integrity": "sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", "peer": true, "dependencies": { - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -15800,12 +15818,12 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz", - "integrity": "sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", "glob": "^7.1.3", @@ -15883,12 +15901,12 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz", - "integrity": "sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -15967,13 +15985,13 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz", - "integrity": "sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", "peer": true, "dependencies": { - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "chalk": "^4.1.2", "execa": "^5.0.0", "metro": "0.76.8", @@ -16056,13 +16074,13 @@ } }, "node_modules/@react-native-community/cli-server-api": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz", - "integrity": "sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", "peer": true, "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -16089,9 +16107,9 @@ } }, "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { - "version": "15.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.18.tgz", - "integrity": "sha512-DDi2KmvAnNsT/EvU8jp1UR7pOJojBtJ3GLZ/uw1MUq4VbbESppPWoHUY4h0OB4BbEbGJiyEsmUcuZDZtoR+ZwQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "peer": true, "dependencies": { "@types/yargs-parser": "*" @@ -16210,9 +16228,9 @@ } }, "node_modules/@react-native-community/cli-tools": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz", - "integrity": "sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", "peer": true, "dependencies": { "appdirsjs": "^1.2.4", @@ -16297,9 +16315,9 @@ } }, "node_modules/@react-native-community/cli-types": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz", - "integrity": "sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==", + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", "peer": true, "dependencies": { "joi": "^17.2.1" @@ -18179,9 +18197,9 @@ "dev": true }, "node_modules/@smithy/types": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.7.0.tgz", - "integrity": "sha512-1OIFyhK+vOkMbu4aN2HZz/MomREkrAC/HqY5mlJMUJfGrPRwijJDTeiN8Rnj9zUaB8ogXAfIOtZrrgqZ4w7Wnw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.8.0.tgz", + "integrity": "sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA==", "dependencies": { "tslib": "^2.5.0" }, @@ -23927,14 +23945,14 @@ } }, "node_modules/deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.2.3.tgz", + "integrity": "sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g==", "peer": true, "dependencies": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "@react-native/normalize-colors": "<0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" } }, "node_modules/dequal": { @@ -32752,9 +32770,9 @@ } }, "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.8.tgz", - "integrity": "sha512-1GwLEkmFafeb/HbE6pC7tFlgYSQ4Iqh2qlWCq8xN+Qfaiaxr2PcLfuhfRFRYqI6XJyeFoLYyKnhFbNsst9FMtQ==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", "peer": true, "dependencies": { "@types/yargs-parser": "*" @@ -37076,15 +37094,15 @@ } }, "node_modules/react-native": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.6.tgz", - "integrity": "sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A==", + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", "peer": true, "dependencies": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", "@react-native/assets-registry": "^0.72.0", "@react-native/codegen": "^0.72.7", "@react-native/gradle-plugin": "^0.72.11", @@ -37094,7 +37112,7 @@ "abort-controller": "^3.0.0", "anser": "^1.4.9", "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", + "deprecated-react-native-prop-types": "^4.2.3", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", @@ -37129,9 +37147,9 @@ } }, "node_modules/react-native-get-random-values": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz", - "integrity": "sha512-+29IR2oxzxNVeaRwCqGZ9ABadzMI8SLTBidrIDXPOkKnm5+kEmLt34QKM4JV+d2usPErvKyS85le0OmGTHnyWQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.10.0.tgz", + "integrity": "sha512-gZ1zbXhbb8+Jy9qYTV8c4Nf45/VB4g1jmXuavY5rPfUn7x3ok9Vl3FTl0dnE92Z4FFtfbUNNwtSfcmomdtWg+A==", "dependencies": { "fast-base64-decode": "^1.0.0" }, @@ -37167,9 +37185,9 @@ } }, "node_modules/react-native/node_modules/@types/yargs": { - "version": "15.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.18.tgz", - "integrity": "sha512-DDi2KmvAnNsT/EvU8jp1UR7pOJojBtJ3GLZ/uw1MUq4VbbESppPWoHUY4h0OB4BbEbGJiyEsmUcuZDZtoR+ZwQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "peer": true, "dependencies": { "@types/yargs-parser": "*" diff --git a/frontend/src/components/AuthForm/styles.module.scss b/frontend/src/components/AuthForm/styles.module.scss index 1a8b88d00..91af80d80 100644 --- a/frontend/src/components/AuthForm/styles.module.scss +++ b/frontend/src/components/AuthForm/styles.module.scss @@ -1,6 +1,6 @@ .root { width: 100%; - height: 100%; + //height: 100%; position: absolute; padding: 0; @@ -23,7 +23,7 @@ background-color: #fff; border-radius: 5px; width: 100%; - height: 100%; + //height: 100%; max-width: 32rem; padding: 3rem 1rem; display: flex; diff --git a/frontend/src/components/Footer/Footer.tsx b/frontend/src/components/Footer/Footer.tsx index 1968b693a..54547dbdd 100644 --- a/frontend/src/components/Footer/Footer.tsx +++ b/frontend/src/components/Footer/Footer.tsx @@ -5,7 +5,7 @@ import logo from '../../assets/crossfeed.svg'; import * as FooterStyles from './styleFooter'; export const CrossfeedFooter: React.FC = (props) => { - const { logout } = useAuthContext(); + const { logout, user } = useAuthContext(); const FooterRoot = FooterStyles.FooterRoot; const footerClasses = FooterStyles.footerClasses; return ( @@ -17,13 +17,13 @@ export const CrossfeedFooter: React.FC = (props) => { Crossfeed Icon Navigate Home - -

+ {user && ( + Home -

-
+ + )}

{

- -

- - Logout - -

-
+ {user && ( + +

+ + Logout + +

+
+ )} diff --git a/frontend/src/components/WarningBanner/Warning.tsx b/frontend/src/components/WarningBanner/Warning.tsx new file mode 100644 index 000000000..9e8300e0e --- /dev/null +++ b/frontend/src/components/WarningBanner/Warning.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { Box, Grid, Paper, Typography } from '@mui/material'; +import { styled } from '@mui/material/styles'; +import cisa_logo from '../../pages/AuthLogin/img/CISA_LOGO.png'; + +export const CrossfeedWarning: React.FC = (props) => { + const BackgroundPaper = styled(Paper)(({ theme }) => ({ + width: 900, + borderColor: '#047d95', + borderWidth: 2, + padding: theme.spacing(1), + backgroundColor: 'inherit' + })); + return ( + + + + + + CISA LOGO + + + + + WARNING + + + Crossfeed is hosted by Department of Homeland Security (DHS) + Cybersecurity and Infrastructure Security Agency (CISA) + Cybersecurity Division (CSD) Vulnerability Management (VM) Attack + Attack Attack Surface Management (ASM) Automation is computer + systems systems may systems may be monitored for all unlawful + unlawful purposes, including to ensure their use is authorized, + for management of the system, to protection against security + procedures, survivability, and operational operational operational + operational security. All information, information, including + information, placed or sent this system may be monitored. + Monitoring includes actives attacks by authorized US Government + entities to test or verify the security of this system. +
+
+ Use of the computer system, authorized or unauthorized, + constitutes consent to monitoring of this system. Unauthorized + subject you to criminal prosecution. Evidence of unauthorized + collected during monitoring may be used for administrivia, + criminal, or other adverse action. Use of this system constitutes + to monitoring for these purposes. Use of this system implies + understanding of these items and conditions. +
+
+
+
+
+ ); +}; diff --git a/frontend/src/components/WarningBanner/index.ts b/frontend/src/components/WarningBanner/index.ts new file mode 100644 index 000000000..4ddfc82e0 --- /dev/null +++ b/frontend/src/components/WarningBanner/index.ts @@ -0,0 +1 @@ +export * from './Warning'; diff --git a/frontend/src/components/WarningBanner/styleWarning.ts b/frontend/src/components/WarningBanner/styleWarning.ts new file mode 100644 index 000000000..3d7c85910 --- /dev/null +++ b/frontend/src/components/WarningBanner/styleWarning.ts @@ -0,0 +1,29 @@ +import { styled } from '@mui/material/styles'; + +const PREFIX = 'Warning'; + +export const warningClasses = { + warningBox: `${PREFIX}-warningBox`, + warningContainer: `${PREFIX}-footerContainer`, + warning_logo: `${PREFIX}-warning_logo` +}; +export const WarningRoot = styled('div')(({ theme }) => ({ + [`& .${warningClasses.warningBox}`]: { + position: 'relative', + top: '20px', + bottom: 0, + width: '100%' + }, + [`& .${warningClasses.warningContainer}`]: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + margin: '0 auto', + maxWidth: '1444px' + }, + [`& .${warningClasses.warning_logo}`]: { + display: 'flex', + justifyContent: 'center', + height: '100%' + } +})); diff --git a/frontend/src/pages/AuthLogin/AuthLogin.tsx b/frontend/src/pages/AuthLogin/AuthLogin.tsx index 29648418f..8693ca8b4 100644 --- a/frontend/src/pages/AuthLogin/AuthLogin.tsx +++ b/frontend/src/pages/AuthLogin/AuthLogin.tsx @@ -1,46 +1,41 @@ import React, { useEffect, useState } from 'react'; import { AuthForm } from 'components'; -import { Button } from '@trussworks/react-uswds'; -import { Box, Link, Typography } from '@mui/material'; import { useAuthContext } from 'context'; +import { Button } from '@trussworks/react-uswds'; +// import { Alert, AlertTitle, Box, Grid, Link, Typography } from '@mui/material'; +import { Box, Grid, Link, Typography } from '@mui/material'; +import { RegisterForm } from 'components/Register/RegisterForm'; +import { CrossfeedWarning } from 'components/WarningBanner'; import { Authenticator, - ThemeProvider, + // ThemeProvider, useAuthenticator } from '@aws-amplify/ui-react'; import { I18n } from 'aws-amplify'; -import { RegisterForm } from 'components/Register/RegisterForm'; - const TOTP_ISSUER = process.env.REACT_APP_TOTP_ISSUER; - // Strings come from https://github.com/aws-amplify/amplify-ui/blob/main/packages/ui/src/i18n/dictionaries/authenticator/en.ts I18n.putVocabulariesForLanguage('en-US', { 'Setup TOTP': 'Set up 2FA', 'Confirm TOTP Code': 'Enter 2FA Code' }); - -const amplifyTheme = { - name: 'my-theme' -}; - +// const amplifyTheme = { +// name: 'my-theme' +// }; interface Errors extends Partial { global?: string; } - export const AuthLogin: React.FC<{ showSignUp?: boolean }> = ({ showSignUp = false }) => { const { apiPost, refreshUser } = useAuthContext(); const [errors, setErrors] = useState({}); const [open, setOpen] = useState(false); - // Once a user signs in, call refreshUser() so that the callback is called and the user gets signed in. const { authStatus } = useAuthenticator((context) => [context.isPending]); useEffect(() => { refreshUser(); }, [refreshUser, authStatus]); - const formFields = { confirmSignIn: { confirmation_code: { @@ -65,7 +60,6 @@ export const AuthLogin: React.FC<{ showSignUp?: boolean }> = ({ } } }; - const onSubmit: React.FormEventHandler = async (e) => { e.preventDefault(); try { @@ -82,45 +76,51 @@ export const AuthLogin: React.FC<{ showSignUp?: boolean }> = ({ }); } }; - - // const components = { - // Footer() { - // const { tokens } = useTheme(); - // return ( - // - // - // © All Rights Reserved - // - // - // ); - // }, - // } - const onClose = () => { setOpen(false); }; - + // const platformNotification = ( + // + // + // + // {' '} + // PLATFORM NOTIFICATION: Temporary Downtime During Crossfeed Migration + // + // + // The Crossfeed environment is moving. The migration will require a a + // temporary downtime of approximately one week. The downtime will begin on + // Wednesday, October 25, through the day Wednesday, November 01. For + // additional information, please click{' '} + // + // here + // + // . + // + // + // ); if (process.env.REACT_APP_USE_COGNITO) { return ( - -

Welcome to Crossfeed

- - + + {/* platformNotification should go here */} + + + Welcome to Crossfeed + + + - {/* alert('hello')}> - Register - */} - + + {open && } - + New to Crossfeed?  = ({ Register Now - -
**Warning**
-
-
PLATFORM NOTIFICATION
-
- Important Notice: Temporary Downtime During Crossfeed Migration -
-
- {' '} - The Crossfeed environment is moving. The migration will require a - temporary downtime of approximately one week. -
-
- {' '} - The downtime will begin on Wednesday, October 25, through the end - of day Wednesday, November 01.{' '} -
-
- For additional information, please click{' '} - - here. - -
-
-
-
**Warning**
-
- {' '} - This system contains U.S. Government Data. Unauthorized use of - this system is prohibited. Use of this computer system, authorized - or unauthorized, constitutes consent to monitoring of this system. -
-
- {' '} - This computer system, including all related equipment, networks, - and network devices (specifically including internet access) are - provided only for authorized U.S. Government use. U.S. Government - computer systems may be monitored for all lawful purposes, - including to ensure that their use is authorized, for management - of the system, to facilitate protection against unauthorized - access, and to verify security procedures, survivability, and - operational security. Monitoring includes active attacks by - authorized U.S. Government entities to test or verify the security - of this system. During monitoring, information may be examined, - recorded, copied and used for authorized purposes. All - information, including personal information, placed or sent over - this system may be monitored. -
-
- {' '} - Unauthorized use may subject you to criminal prosecution. Evidence - of unauthorized use collected during monitoring may be used for - administrative, criminal, or other adverse action. Use of this - system constitutes consent to monitoring for these purposes. -
-
-
-
+ + + + + ); } - return (

Welcome to Crossfeed

diff --git a/frontend/src/pages/AuthLogin/AuthLoginOld.tsx b/frontend/src/pages/AuthLogin/AuthLoginOld.tsx new file mode 100644 index 000000000..d9e7f4e6e --- /dev/null +++ b/frontend/src/pages/AuthLogin/AuthLoginOld.tsx @@ -0,0 +1,167 @@ +import React, { useEffect, useState } from 'react'; +import { Link } from 'react-router-dom'; +import { AuthForm } from 'components'; +import { Button } from '@trussworks/react-uswds'; +import { useAuthContext } from 'context'; +import { + Authenticator, + ThemeProvider, + useAuthenticator +} from '@aws-amplify/ui-react'; +import { I18n } from 'aws-amplify'; + +const TOTP_ISSUER = process.env.REACT_APP_TOTP_ISSUER; + +// Strings come from https://github.com/aws-amplify/amplify-ui/blob/main/packages/ui/src/i18n/dictionaries/authenticator/en.ts +I18n.putVocabulariesForLanguage('en-US', { + 'Setup TOTP': 'Set up 2FA', + 'Confirm TOTP Code': 'Enter 2FA Code' +}); + +const amplifyTheme = { + name: 'my-theme' +}; + +interface Errors extends Partial { + global?: string; +} + +export const AuthLogin: React.FC<{ showSignUp?: boolean }> = ({ + showSignUp = false +}) => { + const { apiPost, refreshUser } = useAuthContext(); + const [errors, setErrors] = useState({}); + + // Once a user signs in, call refreshUser() so that the callback is called and the user gets signed in. + const { authStatus } = useAuthenticator((context) => [context.isPending]); + useEffect(() => { + refreshUser(); + }, [refreshUser, authStatus]); + + const formFields = { + confirmSignIn: { + confirmation_code: { + label: 'Enter 2FA Code from your authenticator app' + } + }, + confirmResetPassword: { + confirmation_code: { + label: 'Enter code sent to your email address' + } + }, + setupTOTP: { + QR: { + // Set the issuer and name so that the authenticator app shows them. + // TODO: Set the issuer to the email, once this is resolved: https://github.com/aws-amplify/amplify-ui/issues/3387. + totpIssuer: TOTP_ISSUER + // totpUsername: email, + }, + confirmation_code: { + label: + 'Set up 2FA by scanning the QR code with an authenticator app on your phone.' + } + } + }; + + const onSubmit: React.FormEventHandler = async (e) => { + e.preventDefault(); + try { + const { redirectUrl, state, nonce } = await apiPost('/auth/login', { + body: {} + }); + localStorage.setItem('state', state); + localStorage.setItem('nonce', nonce); + window.location.href = redirectUrl; + } catch (e) { + console.error(e); + setErrors({ + global: 'Something went wrong logging in.' + }); + } + }; + + if (process.env.REACT_APP_USE_COGNITO) { + return ( + +

Welcome to Crossfeed

+ + +
+
PLATFORM NOTIFICATION
+
+ Important Notice: Temporary Downtime During Crossfeed Migration +
+
+ {' '} + The Crossfeed environment is moving. The migration will require a + temporary downtime of approximately one week. +
+
+ {' '} + The downtime will begin on Wednesday, October 25, through the end + of day Wednesday, November 01.{' '} +
+
+ For additional information, please click{' '} + + here. + +
+
+
+
**Warning**
+
+ {' '} + This system contains U.S. Government Data. Unauthorized use of + this system is prohibited. Use of this computer system, authorized + or unauthorized, constitutes consent to monitoring of this system. +
+
+ {' '} + This computer system, including all related equipment, networks, + and network devices (specifically including internet access) are + provided only for authorized U.S. Government use. U.S. Government + computer systems may be monitored for all lawful purposes, + including to ensure that their use is authorized, for management + of the system, to facilitate protection against unauthorized + access, and to verify security procedures, survivability, and + operational security. Monitoring includes active attacks by + authorized U.S. Government entities to test or verify the security + of this system. During monitoring, information may be examined, + recorded, copied and used for authorized purposes. All + information, including personal information, placed or sent over + this system may be monitored. +
+
+ {' '} + Unauthorized use may subject you to criminal prosecution. Evidence + of unauthorized use collected during monitoring may be used for + administrative, criminal, or other adverse action. Use of this + system constitutes consent to monitoring for these purposes. +
+
+
+
+ ); + } + + return ( + +

Welcome to Crossfeed

+ {errors.global &&

{errors.global}

} + + + New to Crossfeed? Register with Login.gov + +
+ ); +}; diff --git a/frontend/src/pages/AuthLogin/img/CISA_LOGO.png b/frontend/src/pages/AuthLogin/img/CISA_LOGO.png new file mode 100644 index 000000000..9132f3834 Binary files /dev/null and b/frontend/src/pages/AuthLogin/img/CISA_LOGO.png differ diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index d23041c32..138e94cd5 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -95,37 +95,65 @@ form[data-amplify-authenticator-setup-totp] { } } - -.notification_box { - border-width: 3px; - border-style: solid; - border-color: hsl(190, 95%, 30%); +.alert_box { + margin-top: 25px; } -.platform_header { - padding-left: 105px; +.platform_notice { + margin: auto; + text-align: center; padding-top: 10px; - color: hsl(190, 95%, 30%); font-weight: bold; font-size: 20px; - background-color: white; } - .notification_header { + position: relative; + padding-left: 10px; + padding-top: 10px; + padding-bottom: 20px; transition: top .2s; background-color: white; - font-weight: bold; - padding-left: 10px; - -} -.temp_notification { +} +.temp_notification{ position: relative; padding-left: 10px; padding-top: 10px; padding-bottom: 20px; transition: top .2s; background-color: white; +} +.notification_box { + border-width: 3px; + border-style: solid; + border-color: hsl(190, 95%, 30%); + margin-top: 15px; + margin-left: 100px; + margin-bottom: 25px; + margin-right: 100px; +} +.warning_header { + margin:auto; + width: 50%; + text-align: center; + padding-top: 10px; + color: hsl(190, 95%, 30%); + font-weight: bold; + font-size: 20px; +} + +.warning_notification { + position: relative; + padding-left: 10px; + //padding-top: 10px; + padding-bottom: 20px; + transition: top .2s; + +} +.warning_logo{ + margin:auto; + width: 50%; + text-align: center; } .banner_box { @@ -141,12 +169,21 @@ form[data-amplify-authenticator-setup-totp] { background-color: white; font-weight: bold; } - +.onClose { + margin-left: 15px; + color: white; + font-weight: bold; + float: right; + font-size: 22px; + line-height: 20px; + cursor: pointer; + transition: 0.3s; +} .banner_login { position: relative; padding-left: 10px; - padding-top: 10px; - padding-bottom: 20px; + // padding-top: 10px; + // padding-bottom: 20px; transition: top .2s; background-color: white; }