Merge pull request #70 from CPSC319-Winter-term-2/home
Implemented Schedule Meeting and Call Group
This commit is contained in:
commit
eca6fba645
396
package-lock.json
generated
396
package-lock.json
generated
@ -11,10 +11,12 @@
|
|||||||
"@emotion/react": "^11.8.1",
|
"@emotion/react": "^11.8.1",
|
||||||
"@emotion/styled": "^11.8.1",
|
"@emotion/styled": "^11.8.1",
|
||||||
"@mui/icons-material": "^5.4.2",
|
"@mui/icons-material": "^5.4.2",
|
||||||
|
"@mui/lab": "^5.0.0-alpha.75",
|
||||||
"@mui/material": "^5.4.3",
|
"@mui/material": "^5.4.3",
|
||||||
"@reduxjs/toolkit": "^1.8.0",
|
"@reduxjs/toolkit": "^1.8.0",
|
||||||
"@types/react-big-calendar": "^0.36.2",
|
"@types/react-big-calendar": "^0.36.2",
|
||||||
"axios": "^0.26.1",
|
"axios": "^0.26.1",
|
||||||
|
"date-fns": "^2.28.0",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-big-calendar": "^0.39.3",
|
"react-big-calendar": "^0.39.3",
|
||||||
@ -1703,6 +1705,75 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@date-io/core": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-pVI9nfkf2qClb2Cxdq0Q4zJhdawMG4ybWZUVGifT78FDwzRMX2SwXBb55s5NRJk0HcIicDuxktmCtemZqMH1Zg=="
|
||||||
|
},
|
||||||
|
"node_modules/@date-io/date-fns": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-8fmfwjiLMpFLD+t4NBwDx0eblWnNcgt4NgfT/uiiQTGI81fnPu9tpBMYdAcuWxaV7LLpXgzLBx1SYWAMDVUDQQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"date-fns": "^2.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"date-fns": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@date-io/dayjs": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-5bL4WWWmlI4uGZVScANhHJV7Mjp93ec2gNeUHDqqLaMZhp51S0NgD25oqj/k0LqBn1cdU2MvzNpk/ObMmVv5cQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"dayjs": "^1.8.17"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"dayjs": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@date-io/luxon": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-yG+uM7lXfwLyKKEwjvP8oZ7qblpmfl9gxQYae55ifbwiTs0CoCTkYkxEaQHGkYtTqGTzLqcb0O9Pzx6vgWg+yg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"luxon": "^1.21.3 || ^2.x"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"luxon": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@date-io/moment": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-XX1X/Tlvl3TdqQy2j0ZUtEJV6Rl8tOyc5WOS3ki52He28Uzme4Ro/JuPWTMBDH63weSWIZDlbR7zBgp3ZA2y1A==",
|
||||||
|
"dependencies": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"moment": "^2.24.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"moment": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@discoveryjs/json-ext": {
|
"node_modules/@discoveryjs/json-ext": {
|
||||||
"version": "0.5.6",
|
"version": "0.5.6",
|
||||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
||||||
@ -1984,6 +2055,97 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@mui/lab": {
|
||||||
|
"version": "5.0.0-alpha.75",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.75.tgz",
|
||||||
|
"integrity": "sha512-2DgPGYm0wjuSSb9R4cp97LINvHBI7+8eT1WL108GmniwFbAxb0U7hc//QF44W0JyJbLU+qNiScFJupQMTbe4dg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.17.2",
|
||||||
|
"@date-io/date-fns": "^2.13.1",
|
||||||
|
"@date-io/dayjs": "^2.13.1",
|
||||||
|
"@date-io/luxon": "^2.13.1",
|
||||||
|
"@date-io/moment": "^2.13.1",
|
||||||
|
"@mui/base": "5.0.0-alpha.74",
|
||||||
|
"@mui/system": "^5.5.3",
|
||||||
|
"@mui/utils": "^5.5.3",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"react-is": "^17.0.2",
|
||||||
|
"react-transition-group": "^4.4.2",
|
||||||
|
"rifm": "^0.12.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/mui"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@mui/material": "^5.0.0",
|
||||||
|
"@types/react": "^16.8.6 || ^17.0.0",
|
||||||
|
"date-fns": "^2.25.0",
|
||||||
|
"dayjs": "^1.10.7",
|
||||||
|
"luxon": "^1.28.0 || ^2.0.0",
|
||||||
|
"moment": "^2.29.1",
|
||||||
|
"react": "^17.0.0",
|
||||||
|
"react-dom": "^17.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/react": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"date-fns": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"dayjs": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"luxon": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"moment": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@mui/lab/node_modules/@mui/base": {
|
||||||
|
"version": "5.0.0-alpha.74",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.74.tgz",
|
||||||
|
"integrity": "sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.17.2",
|
||||||
|
"@emotion/is-prop-valid": "^1.1.2",
|
||||||
|
"@mui/types": "^7.1.3",
|
||||||
|
"@mui/utils": "^5.5.3",
|
||||||
|
"@popperjs/core": "^2.11.4",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"react-is": "^17.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/mui"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/react": "^16.8.6 || ^17.0.0",
|
||||||
|
"react": "^17.0.0",
|
||||||
|
"react-dom": "^17.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/react": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@mui/lab/node_modules/react-is": {
|
||||||
|
"version": "17.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
||||||
|
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
|
||||||
|
},
|
||||||
"node_modules/@mui/material": {
|
"node_modules/@mui/material": {
|
||||||
"version": "5.4.3",
|
"version": "5.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.3.tgz",
|
||||||
@ -2034,12 +2196,12 @@
|
|||||||
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
|
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
|
||||||
},
|
},
|
||||||
"node_modules/@mui/private-theming": {
|
"node_modules/@mui/private-theming": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.5.3.tgz",
|
||||||
"integrity": "sha512-mlPDYYko4wIcwXjCPEmOWbNTT4DZ6h9YHdnRtQPnWM28+TRUHEo7SbydnnmVDQLRXUfaH4Y6XtEHIfBNPE/SLg==",
|
"integrity": "sha512-Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@mui/utils": "^5.4.2",
|
"@mui/utils": "^5.5.3",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2060,11 +2222,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/styled-engine": {
|
"node_modules/@mui/styled-engine": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.5.2.tgz",
|
||||||
"integrity": "sha512-tz9p3aRtzXHKAg7x3BgP0hVQEoGKaxNCFxsJ+d/iqEHYvywWFSs6oxqYAvDHIRpvMlUZyPNoTrkcNnbdMmH/ng==",
|
"integrity": "sha512-jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@emotion/cache": "^11.7.1",
|
"@emotion/cache": "^11.7.1",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
},
|
},
|
||||||
@ -2090,17 +2252,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/system": {
|
"node_modules/@mui/system": {
|
||||||
"version": "5.4.3",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.5.3.tgz",
|
||||||
"integrity": "sha512-Xz5AVe9JMufJVozMzUv93IRtnLNZnw/Q8k+Mg7Q4oRuwdir0TcYkMVUqAHetVKb3rAouIVCu/cQv0jB8gVeVsQ==",
|
"integrity": "sha512-J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@mui/private-theming": "^5.4.2",
|
"@mui/private-theming": "^5.5.3",
|
||||||
"@mui/styled-engine": "^5.4.2",
|
"@mui/styled-engine": "^5.5.2",
|
||||||
"@mui/types": "^7.1.2",
|
"@mui/types": "^7.1.3",
|
||||||
"@mui/utils": "^5.4.2",
|
"@mui/utils": "^5.5.3",
|
||||||
"clsx": "^1.1.1",
|
"clsx": "^1.1.1",
|
||||||
"csstype": "^3.0.10",
|
"csstype": "^3.0.11",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2129,9 +2291,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/types": {
|
"node_modules/@mui/types": {
|
||||||
"version": "7.1.2",
|
"version": "7.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.3.tgz",
|
||||||
"integrity": "sha512-SD7O1nVzqG+ckQpFjDhXPZjRceB8HQFHEvdLLrPhlJy4lLbwEBbxK74Tj4t6Jgk0fTvLJisuwOutrtYe9P/xBQ==",
|
"integrity": "sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
},
|
},
|
||||||
@ -2142,11 +2304,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mui/utils": {
|
"node_modules/@mui/utils": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.5.3.tgz",
|
||||||
"integrity": "sha512-646dBCC57MXTo/Gf3AnZSHRHznaTETQq5x7AWp5FRQ4jPeyT4WSs18cpJVwkV01cAHKh06pNQTIufIALIWCL5g==",
|
"integrity": "sha512-t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@types/prop-types": "^15.7.4",
|
"@types/prop-types": "^15.7.4",
|
||||||
"@types/react-is": "^16.7.1 || ^17.0.0",
|
"@types/react-is": "^16.7.1 || ^17.0.0",
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
@ -2204,9 +2366,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@popperjs/core": {
|
"node_modules/@popperjs/core": {
|
||||||
"version": "2.11.2",
|
"version": "2.11.4",
|
||||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz",
|
||||||
"integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==",
|
"integrity": "sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/popperjs"
|
"url": "https://opencollective.com/popperjs"
|
||||||
@ -5229,9 +5391,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/csstype": {
|
"node_modules/csstype": {
|
||||||
"version": "3.0.10",
|
"version": "3.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
|
||||||
"integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
|
"integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw=="
|
||||||
},
|
},
|
||||||
"node_modules/cwebp-bin": {
|
"node_modules/cwebp-bin": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
@ -5259,6 +5421,18 @@
|
|||||||
"resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz",
|
||||||
"integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg=="
|
"integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/date-fns": {
|
||||||
|
"version": "2.28.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
|
||||||
|
"integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.11"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/date-fns"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||||
@ -11063,6 +11237,14 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/rifm": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz",
|
||||||
|
"integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/rimraf": {
|
"node_modules/rimraf": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||||
@ -14269,6 +14451,43 @@
|
|||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@date-io/core": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-pVI9nfkf2qClb2Cxdq0Q4zJhdawMG4ybWZUVGifT78FDwzRMX2SwXBb55s5NRJk0HcIicDuxktmCtemZqMH1Zg=="
|
||||||
|
},
|
||||||
|
"@date-io/date-fns": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-8fmfwjiLMpFLD+t4NBwDx0eblWnNcgt4NgfT/uiiQTGI81fnPu9tpBMYdAcuWxaV7LLpXgzLBx1SYWAMDVUDQQ==",
|
||||||
|
"requires": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@date-io/dayjs": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/dayjs/-/dayjs-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-5bL4WWWmlI4uGZVScANhHJV7Mjp93ec2gNeUHDqqLaMZhp51S0NgD25oqj/k0LqBn1cdU2MvzNpk/ObMmVv5cQ==",
|
||||||
|
"requires": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@date-io/luxon": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/luxon/-/luxon-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-yG+uM7lXfwLyKKEwjvP8oZ7qblpmfl9gxQYae55ifbwiTs0CoCTkYkxEaQHGkYtTqGTzLqcb0O9Pzx6vgWg+yg==",
|
||||||
|
"requires": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@date-io/moment": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-XX1X/Tlvl3TdqQy2j0ZUtEJV6Rl8tOyc5WOS3ki52He28Uzme4Ro/JuPWTMBDH63weSWIZDlbR7zBgp3ZA2y1A==",
|
||||||
|
"requires": {
|
||||||
|
"@date-io/core": "^2.13.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@discoveryjs/json-ext": {
|
"@discoveryjs/json-ext": {
|
||||||
"version": "0.5.6",
|
"version": "0.5.6",
|
||||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
|
||||||
@ -14470,6 +14689,48 @@
|
|||||||
"@babel/runtime": "^7.17.0"
|
"@babel/runtime": "^7.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@mui/lab": {
|
||||||
|
"version": "5.0.0-alpha.75",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.75.tgz",
|
||||||
|
"integrity": "sha512-2DgPGYm0wjuSSb9R4cp97LINvHBI7+8eT1WL108GmniwFbAxb0U7hc//QF44W0JyJbLU+qNiScFJupQMTbe4dg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.17.2",
|
||||||
|
"@date-io/date-fns": "^2.13.1",
|
||||||
|
"@date-io/dayjs": "^2.13.1",
|
||||||
|
"@date-io/luxon": "^2.13.1",
|
||||||
|
"@date-io/moment": "^2.13.1",
|
||||||
|
"@mui/base": "5.0.0-alpha.74",
|
||||||
|
"@mui/system": "^5.5.3",
|
||||||
|
"@mui/utils": "^5.5.3",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"react-is": "^17.0.2",
|
||||||
|
"react-transition-group": "^4.4.2",
|
||||||
|
"rifm": "^0.12.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@mui/base": {
|
||||||
|
"version": "5.0.0-alpha.74",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.74.tgz",
|
||||||
|
"integrity": "sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.17.2",
|
||||||
|
"@emotion/is-prop-valid": "^1.1.2",
|
||||||
|
"@mui/types": "^7.1.3",
|
||||||
|
"@mui/utils": "^5.5.3",
|
||||||
|
"@popperjs/core": "^2.11.4",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"prop-types": "^15.7.2",
|
||||||
|
"react-is": "^17.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-is": {
|
||||||
|
"version": "17.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
|
||||||
|
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"@mui/material": {
|
"@mui/material": {
|
||||||
"version": "5.4.3",
|
"version": "5.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.3.tgz",
|
||||||
@ -14497,52 +14758,52 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mui/private-theming": {
|
"@mui/private-theming": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.5.3.tgz",
|
||||||
"integrity": "sha512-mlPDYYko4wIcwXjCPEmOWbNTT4DZ6h9YHdnRtQPnWM28+TRUHEo7SbydnnmVDQLRXUfaH4Y6XtEHIfBNPE/SLg==",
|
"integrity": "sha512-Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@mui/utils": "^5.4.2",
|
"@mui/utils": "^5.5.3",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mui/styled-engine": {
|
"@mui/styled-engine": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.5.2.tgz",
|
||||||
"integrity": "sha512-tz9p3aRtzXHKAg7x3BgP0hVQEoGKaxNCFxsJ+d/iqEHYvywWFSs6oxqYAvDHIRpvMlUZyPNoTrkcNnbdMmH/ng==",
|
"integrity": "sha512-jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@emotion/cache": "^11.7.1",
|
"@emotion/cache": "^11.7.1",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mui/system": {
|
"@mui/system": {
|
||||||
"version": "5.4.3",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.5.3.tgz",
|
||||||
"integrity": "sha512-Xz5AVe9JMufJVozMzUv93IRtnLNZnw/Q8k+Mg7Q4oRuwdir0TcYkMVUqAHetVKb3rAouIVCu/cQv0jB8gVeVsQ==",
|
"integrity": "sha512-J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@mui/private-theming": "^5.4.2",
|
"@mui/private-theming": "^5.5.3",
|
||||||
"@mui/styled-engine": "^5.4.2",
|
"@mui/styled-engine": "^5.5.2",
|
||||||
"@mui/types": "^7.1.2",
|
"@mui/types": "^7.1.3",
|
||||||
"@mui/utils": "^5.4.2",
|
"@mui/utils": "^5.5.3",
|
||||||
"clsx": "^1.1.1",
|
"clsx": "^1.1.1",
|
||||||
"csstype": "^3.0.10",
|
"csstype": "^3.0.11",
|
||||||
"prop-types": "^15.7.2"
|
"prop-types": "^15.7.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mui/types": {
|
"@mui/types": {
|
||||||
"version": "7.1.2",
|
"version": "7.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.3.tgz",
|
||||||
"integrity": "sha512-SD7O1nVzqG+ckQpFjDhXPZjRceB8HQFHEvdLLrPhlJy4lLbwEBbxK74Tj4t6Jgk0fTvLJisuwOutrtYe9P/xBQ==",
|
"integrity": "sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@mui/utils": {
|
"@mui/utils": {
|
||||||
"version": "5.4.2",
|
"version": "5.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.5.3.tgz",
|
||||||
"integrity": "sha512-646dBCC57MXTo/Gf3AnZSHRHznaTETQq5x7AWp5FRQ4jPeyT4WSs18cpJVwkV01cAHKh06pNQTIufIALIWCL5g==",
|
"integrity": "sha512-t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.17.0",
|
"@babel/runtime": "^7.17.2",
|
||||||
"@types/prop-types": "^15.7.4",
|
"@types/prop-types": "^15.7.4",
|
||||||
"@types/react-is": "^16.7.1 || ^17.0.0",
|
"@types/react-is": "^16.7.1 || ^17.0.0",
|
||||||
"prop-types": "^15.7.2",
|
"prop-types": "^15.7.2",
|
||||||
@ -14583,9 +14844,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@popperjs/core": {
|
"@popperjs/core": {
|
||||||
"version": "2.11.2",
|
"version": "2.11.4",
|
||||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz",
|
||||||
"integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA=="
|
"integrity": "sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg=="
|
||||||
},
|
},
|
||||||
"@reduxjs/toolkit": {
|
"@reduxjs/toolkit": {
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
@ -16930,9 +17191,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"csstype": {
|
"csstype": {
|
||||||
"version": "3.0.10",
|
"version": "3.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
|
||||||
"integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
|
"integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw=="
|
||||||
},
|
},
|
||||||
"cwebp-bin": {
|
"cwebp-bin": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
@ -16950,6 +17211,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/date-arithmetic/-/date-arithmetic-4.1.0.tgz",
|
||||||
"integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg=="
|
"integrity": "sha512-QWxYLR5P/6GStZcdem+V1xoto6DMadYWpMXU82ES3/RfR3Wdwr3D0+be7mgOJ+Ov0G9D5Dmb9T17sNLQYj9XOg=="
|
||||||
},
|
},
|
||||||
|
"date-fns": {
|
||||||
|
"version": "2.28.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
|
||||||
|
"integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw=="
|
||||||
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||||
@ -21323,6 +21589,12 @@
|
|||||||
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"rifm": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/rifm/-/rifm-0.12.1.tgz",
|
||||||
|
"integrity": "sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"rimraf": {
|
"rimraf": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||||
|
|||||||
@ -11,10 +11,12 @@
|
|||||||
"@emotion/react": "^11.8.1",
|
"@emotion/react": "^11.8.1",
|
||||||
"@emotion/styled": "^11.8.1",
|
"@emotion/styled": "^11.8.1",
|
||||||
"@mui/icons-material": "^5.4.2",
|
"@mui/icons-material": "^5.4.2",
|
||||||
|
"@mui/lab": "^5.0.0-alpha.75",
|
||||||
"@mui/material": "^5.4.3",
|
"@mui/material": "^5.4.3",
|
||||||
"@reduxjs/toolkit": "^1.8.0",
|
"@reduxjs/toolkit": "^1.8.0",
|
||||||
"@types/react-big-calendar": "^0.36.2",
|
"@types/react-big-calendar": "^0.36.2",
|
||||||
"axios": "^0.26.1",
|
"axios": "^0.26.1",
|
||||||
|
"date-fns": "^2.28.0",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-big-calendar": "^0.39.3",
|
"react-big-calendar": "^0.39.3",
|
||||||
|
|||||||
@ -15,6 +15,10 @@ import { useAppSelector } from "../../redux/hooks";
|
|||||||
import { selectFavorites } from "../../redux/slices/favoritesSlice";
|
import { selectFavorites } from "../../redux/slices/favoritesSlice";
|
||||||
import { selectTeam, selectUsers } from "../../redux/slices/usersSlice";
|
import { selectTeam, selectUsers } from "../../redux/slices/usersSlice";
|
||||||
import GroupSelect from "../sidebar/GroupSelect";
|
import GroupSelect from "../sidebar/GroupSelect";
|
||||||
|
import axios from "../../api/axios";
|
||||||
|
import useAuth from "../../hooks/useAuth";
|
||||||
|
import DetailedMeeting from "../../api-bodies/DetailedMeeting";
|
||||||
|
import NewMeeting from "../../api-bodies/NewMeeting";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -51,7 +55,21 @@ const CallFavouritesDialog: React.FC<Props> = ({
|
|||||||
selectUsers(state, groupMembersUuids)
|
selectUsers(state, groupMembersUuids)
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleCall = () => {
|
const auth = useAuth();
|
||||||
|
|
||||||
|
const handleCall = async(e: React.SyntheticEvent) => {
|
||||||
|
const newMeeting: NewMeeting ={
|
||||||
|
startTime: new Date().toISOString(),
|
||||||
|
duration: 60,
|
||||||
|
topic: "Quick Call to Group",
|
||||||
|
registrantIds: checkedUuids
|
||||||
|
};
|
||||||
|
const response = await axios.post(
|
||||||
|
`/users/${auth?.uuid}/meetings`,
|
||||||
|
JSON.stringify(newMeeting)
|
||||||
|
);
|
||||||
|
const meeting: DetailedMeeting = response?.data;
|
||||||
|
console.log("create meeting response: " + meeting.startTime + ":" + meeting.duration);
|
||||||
handleClose();
|
handleClose();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
178
src/components/home/ScheduleMeetingDialog.tsx
Normal file
178
src/components/home/ScheduleMeetingDialog.tsx
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
import {
|
||||||
|
Button,
|
||||||
|
Checkbox,
|
||||||
|
Dialog,
|
||||||
|
DialogActions,
|
||||||
|
DialogContent,
|
||||||
|
DialogTitle,
|
||||||
|
FormControlLabel,
|
||||||
|
FormGroup,
|
||||||
|
TextField,
|
||||||
|
Typography,
|
||||||
|
} from "@mui/material";
|
||||||
|
import LocalizationProvider from '@mui/lab/LocalizationProvider';
|
||||||
|
import AdapterDateFns from '@mui/lab/AdapterDateFns';
|
||||||
|
import DateTimePicker from '@mui/lab/DateTimePicker';
|
||||||
|
import React, { useState } from "react";
|
||||||
|
import { useAppSelector } from "../../redux/hooks";
|
||||||
|
import { selectFavorites } from "../../redux/slices/favoritesSlice";
|
||||||
|
import { selectTeam, selectUsers } from "../../redux/slices/usersSlice";
|
||||||
|
import GroupSelect from "../sidebar/GroupSelect";
|
||||||
|
import axios from "../../api/axios";
|
||||||
|
import useAuth from "../../hooks/useAuth";
|
||||||
|
import DetailedMeeting from "../../api-bodies/DetailedMeeting";
|
||||||
|
import NewMeeting from "../../api-bodies/NewMeeting";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
open: boolean;
|
||||||
|
handleClose: () => void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CallFavouritesDialog: React.FC<Props> = ({
|
||||||
|
open,
|
||||||
|
handleClose,
|
||||||
|
}: Props) => {
|
||||||
|
|
||||||
|
const [meetingStartDate, setMeetingStartDate] = React.useState<Date | null>(new Date());
|
||||||
|
const [meetingTopic, setMeetingTopic] = useState<string>("");
|
||||||
|
const [meetingDuration, setMeetingDuration] = useState<number>(60);
|
||||||
|
const [group, setGroup] = useState<string>("Favorites");
|
||||||
|
const [inputText, setInputText] = useState<string>("");
|
||||||
|
const [checkedUuids, setCheckedUuids] = useState<string[]>([]);
|
||||||
|
|
||||||
|
const handleCheck = (uuid: string, checked: boolean) => {
|
||||||
|
if (checked) {
|
||||||
|
setCheckedUuids(checkedUuids.concat([uuid]));
|
||||||
|
} else {
|
||||||
|
setCheckedUuids(checkedUuids.filter((id) => id != uuid));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleGroupChange = () => {
|
||||||
|
setCheckedUuids([]);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleDateChange = (startDate: Date | null, keyboardInputValue?: string | undefined) => {
|
||||||
|
setMeetingStartDate(startDate);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const favoritesUuids = useAppSelector(selectFavorites);
|
||||||
|
const teamUuids = useAppSelector(selectTeam);
|
||||||
|
|
||||||
|
const groupMembersUuids: string[] =
|
||||||
|
group === "Favorites" ? favoritesUuids : teamUuids;
|
||||||
|
const groupMembers = useAppSelector((state) =>
|
||||||
|
selectUsers(state, groupMembersUuids)
|
||||||
|
);
|
||||||
|
|
||||||
|
const auth = useAuth();
|
||||||
|
|
||||||
|
const handleCall = async(e: React.SyntheticEvent) => {
|
||||||
|
const newMeeting: NewMeeting ={
|
||||||
|
startTime: meetingStartDate ? meetingStartDate.toISOString() : new Date().toISOString(),
|
||||||
|
duration: meetingDuration,
|
||||||
|
topic: meetingTopic,
|
||||||
|
registrantIds: checkedUuids
|
||||||
|
};
|
||||||
|
const response = await axios.post(
|
||||||
|
`/users/${auth?.uuid}/meetings`,
|
||||||
|
JSON.stringify(newMeeting)
|
||||||
|
);
|
||||||
|
const meeting: DetailedMeeting = response?.data;
|
||||||
|
console.log("create meeting response: " + meeting.startTime + ":" + meeting.duration);
|
||||||
|
handleClose();
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Dialog onClose={handleClose} open={open} fullWidth maxWidth="sm">
|
||||||
|
<DialogTitle>Schedule A Meeting</DialogTitle>
|
||||||
|
<DialogContent dividers>
|
||||||
|
<LocalizationProvider dateAdapter={AdapterDateFns}>
|
||||||
|
<DateTimePicker
|
||||||
|
label="Meeting Start Date&Time"
|
||||||
|
value={meetingStartDate}
|
||||||
|
onChange={handleDateChange}
|
||||||
|
renderInput={(params) => <TextField {...params} />}
|
||||||
|
/>
|
||||||
|
</LocalizationProvider>
|
||||||
|
<TextField
|
||||||
|
className="meetingDuration-input"
|
||||||
|
id="outlined-number"
|
||||||
|
label="Duration"
|
||||||
|
variant="outlined"
|
||||||
|
value={meetingDuration}
|
||||||
|
type="number"
|
||||||
|
onChange={(event) => {
|
||||||
|
setMeetingDuration(parseInt(event.target.value));
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogContent dividers>
|
||||||
|
<TextField
|
||||||
|
fullWidth
|
||||||
|
className="meetingTopic-input"
|
||||||
|
id="outlined-basic"
|
||||||
|
label="Meeting Topic"
|
||||||
|
variant="outlined"
|
||||||
|
value={meetingTopic}
|
||||||
|
onChange={(event) => {
|
||||||
|
setMeetingTopic(event.target.value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogContent>
|
||||||
|
<GroupSelect
|
||||||
|
group={group}
|
||||||
|
setGroup={setGroup}
|
||||||
|
onGroupChange={handleGroupChange}
|
||||||
|
/>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogContent sx={{ height: "40vh" }} dividers>
|
||||||
|
<TextField
|
||||||
|
label="Search"
|
||||||
|
variant="outlined"
|
||||||
|
placeholder="Person"
|
||||||
|
fullWidth
|
||||||
|
sx={{ pb: 1 }}
|
||||||
|
onChange={(e) => {
|
||||||
|
setInputText(e.target.value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<FormGroup>
|
||||||
|
{groupMembers
|
||||||
|
.filter((member) =>
|
||||||
|
member.name.toLowerCase().includes(inputText.toLowerCase())
|
||||||
|
)
|
||||||
|
.map((member) => (
|
||||||
|
<FormControlLabel
|
||||||
|
key={member.uuid}
|
||||||
|
label={member.name}
|
||||||
|
sx={{ pl: 1 }}
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
onChange={(e: any) => {
|
||||||
|
handleCheck(member.uuid, e.target.checked);
|
||||||
|
}}
|
||||||
|
control={
|
||||||
|
<Checkbox
|
||||||
|
color="success"
|
||||||
|
checked={checkedUuids.includes(member.uuid)}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</FormGroup>
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
<Button color="success" onClick={handleCall}>
|
||||||
|
<Typography variant="button" color="black">
|
||||||
|
Call
|
||||||
|
</Typography>
|
||||||
|
</Button>
|
||||||
|
</DialogActions>
|
||||||
|
</Dialog>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CallFavouritesDialog;
|
||||||
@ -4,37 +4,51 @@ import Button from "@mui/material/Button";
|
|||||||
import Grid from "@mui/material/Grid";
|
import Grid from "@mui/material/Grid";
|
||||||
import Typography from "@mui/material/Typography";
|
import Typography from "@mui/material/Typography";
|
||||||
import CallFavouritesDialog from "./CallFavouritesDialog";
|
import CallFavouritesDialog from "./CallFavouritesDialog";
|
||||||
|
import ScheduleMeetingDialog from "./ScheduleMeetingDialog";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
const ShortCuts: React.FC = () => {
|
const ShortCuts: React.FC = () => {
|
||||||
const [open, setOpen] = useState(false);
|
const [openScheduleMeeting, setOpenScheduleMeeting] = useState(false);
|
||||||
|
const [openCallGroup, setOpenCallGroup] = useState(false);
|
||||||
|
|
||||||
const handleClickOpen = () => {
|
const handleClickOpenCallGroup = () => {
|
||||||
setOpen(true);
|
setOpenCallGroup(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleClose = () => {
|
const handleCloseCallGroup = () => {
|
||||||
setOpen(false);
|
setOpenCallGroup(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleClickOpenScheduleMeeting = () => {
|
||||||
|
setOpenScheduleMeeting(true);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleCloseScheduleMeeting = () => {
|
||||||
|
setOpenScheduleMeeting(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="short-cuts">
|
<div className="short-cuts">
|
||||||
<Grid className="row-1" container spacing={1}>
|
<Grid className="row-1" container spacing={1}>
|
||||||
<Grid item sm={6}>
|
<Grid item sm={6}>
|
||||||
<Button className="tile">
|
<Button className="tile" onClick={handleClickOpenScheduleMeeting}>
|
||||||
<PeopleIcon className="icon" />
|
<PeopleIcon className="icon" />
|
||||||
</Button>
|
</Button>
|
||||||
|
<ScheduleMeetingDialog
|
||||||
|
open={openScheduleMeeting}
|
||||||
|
handleClose={handleCloseScheduleMeeting}
|
||||||
|
/>
|
||||||
<Typography variant="h6" className="mylabel" sx={{ ml: 1 }}>
|
<Typography variant="h6" className="mylabel" sx={{ ml: 1 }}>
|
||||||
Schedule Meeting
|
Schedule Meeting
|
||||||
</Typography>
|
</Typography>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item sm={6}>
|
<Grid item sm={6}>
|
||||||
<Button className="tile" onClick={handleClickOpen}>
|
<Button className="tile" onClick={handleClickOpenCallGroup}>
|
||||||
<PhoneEnabledIcon className="icon" />
|
<PhoneEnabledIcon className="icon" />
|
||||||
</Button>
|
</Button>
|
||||||
<CallFavouritesDialog
|
<CallFavouritesDialog
|
||||||
open={open}
|
open={openCallGroup}
|
||||||
handleClose={handleClose}
|
handleClose={handleCloseCallGroup}
|
||||||
/>
|
/>
|
||||||
<Typography variant="h6" className="mylabel" sx={{ ml: 1 }}>
|
<Typography variant="h6" className="mylabel" sx={{ ml: 1 }}>
|
||||||
Call Group
|
Call Group
|
||||||
|
|||||||
Reference in New Issue
Block a user