diff --git a/package-lock.json b/package-lock.json
index 437ba31..126d81e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,9 +17,9 @@
"@fullcalendar/interaction": "5.10.0",
"@fullcalendar/react": "5.10.0",
"@fullcalendar/timegrid": "5.10.0",
- "@kingsrook/qqq-frontend-core": "1.0.38",
+ "@kingsrook/qqq-frontend-core": "1.0.39",
"@mui/icons-material": "5.4.1",
- "@mui/material": "5.4.1",
+ "@mui/material": "5.11.1",
"@mui/styled-engine": "5.4.1",
"@mui/styles": "5.10.7",
"@mui/system": "5.10.14",
@@ -3164,9 +3164,9 @@
}
},
"node_modules/@kingsrook/qqq-frontend-core": {
- "version": "1.0.38",
- "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.38/38d5f26bafb713d2f27ffd1d91253fe80ab87028",
- "integrity": "sha512-BpKCLsd8FhxKb0FZTRm1V8wC/jEYjpmOJg50ZaerVDkHkhb02xcMiy++a9AELEaq6KxYFRTpQHiBMJbyop83cQ==",
+ "version": "1.0.39",
+ "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.39/833263d6596029a396125dccb5ab0ac908b15c36",
+ "integrity": "sha512-S9V5zhri30jvNTzMqlbeD2c+zeon+3j+JqM/wt/qsSPys4Pnp6kJDf86dF7QzeFsuzbXJDqVgcQ3AbDrTa0skA==",
"license": "ISC",
"dependencies": {
"axios": "0.27.2",
@@ -3179,17 +3179,18 @@
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
},
"node_modules/@mui/base": {
- "version": "5.0.0-alpha.68",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.68.tgz",
- "integrity": "sha512-q+3gX6EHuM/AyOn8fkoANQxSzIHBeuNsrGgb7SPP0y7NuM+4ZHG/b9882+OfHcilaSqPDWUQoLbphcBpw/m/RA==",
+ "version": "5.0.0-alpha.111",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.111.tgz",
+ "integrity": "sha512-2wfIPpl97S4dPzD0QOM3UIzQ/EuXCYQvHmXxTpfKxev/cfkzOe7Ik/McoYUBbtM1bSOqH3W276R/L2LF9cyXqQ==",
"dependencies": {
- "@babel/runtime": "^7.17.0",
- "@emotion/is-prop-valid": "^1.1.1",
- "@mui/utils": "^5.4.1",
- "@popperjs/core": "^2.4.4",
- "clsx": "^1.1.1",
- "prop-types": "^15.7.2",
- "react-is": "^17.0.2"
+ "@babel/runtime": "^7.20.6",
+ "@emotion/is-prop-valid": "^1.2.0",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "@popperjs/core": "^2.11.6",
+ "clsx": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0"
},
"engines": {
"node": ">=12.0.0"
@@ -3199,9 +3200,9 @@
"url": "https://opencollective.com/mui"
},
"peerDependencies": {
- "@types/react": "^16.8.6 || ^17.0.0",
- "react": "^17.0.0",
- "react-dom": "^17.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -3209,6 +3210,20 @@
}
}
},
+ "node_modules/@mui/base/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@mui/core-downloads-tracker": {
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.1.tgz",
+ "integrity": "sha512-QVqVNlZ2K+LqUDE5kFgYd0r4KekR/dv2cNYbAutQWbfOA8VPVUVrDz0ELrEcoe8TjM/CwnsmGvaDh/YSNl/ALA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ }
+ },
"node_modules/@mui/icons-material": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.4.1.tgz",
@@ -3235,22 +3250,22 @@
}
},
"node_modules/@mui/material": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.1.tgz",
- "integrity": "sha512-SxAT43UAjFTBBpJrN+oGrv40xP1uCa5Z49NfHt3m93xYeFzbxKOk0V9IKU7zlUjbsaVQ0i+o24yF5GULZmynlA==",
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.1.tgz",
+ "integrity": "sha512-yaZiXvcrl2vgUK+VO24780BWRgwdAMmAyuMVZnRTts1Yu0tWd6PjIYq2ZtaOlpj6/LbaSS+Q2kSfxYnDQ20CEQ==",
"dependencies": {
- "@babel/runtime": "^7.17.0",
- "@mui/base": "5.0.0-alpha.68",
- "@mui/system": "^5.4.1",
- "@mui/types": "^7.1.1",
- "@mui/utils": "^5.4.1",
- "@types/react-transition-group": "^4.4.4",
- "clsx": "^1.1.1",
- "csstype": "^3.0.10",
- "hoist-non-react-statics": "^3.3.2",
- "prop-types": "^15.7.2",
- "react-is": "^17.0.2",
- "react-transition-group": "^4.4.2"
+ "@babel/runtime": "^7.20.6",
+ "@mui/base": "5.0.0-alpha.111",
+ "@mui/core-downloads-tracker": "^5.11.1",
+ "@mui/system": "^5.11.1",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "@types/react-transition-group": "^4.4.5",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0",
+ "react-transition-group": "^4.4.5"
},
"engines": {
"node": ">=12.0.0"
@@ -3262,9 +3277,9 @@
"peerDependencies": {
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
- "@types/react": "^16.8.6 || ^17.0.0",
- "react": "^17.0.0",
- "react-dom": "^17.0.0"
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
@@ -3278,13 +3293,115 @@
}
}
},
- "node_modules/@mui/private-theming": {
- "version": "5.10.16",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz",
- "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==",
+ "node_modules/@mui/material/node_modules/@emotion/cache": {
+ "version": "11.10.5",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz",
+ "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==",
"dependencies": {
- "@babel/runtime": "^7.20.1",
- "@mui/utils": "^5.10.16",
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/sheet": "^1.2.1",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
+ "stylis": "4.1.3"
+ }
+ },
+ "node_modules/@mui/material/node_modules/@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "node_modules/@mui/material/node_modules/@emotion/weak-memoize": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
+ "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
+ },
+ "node_modules/@mui/material/node_modules/@mui/styled-engine": {
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz",
+ "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.6",
+ "@emotion/cache": "^11.10.5",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.3.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/@mui/system": {
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.1.tgz",
+ "integrity": "sha512-BEA2S0hay8n8CcZftkeAVsi0nsb5ZjdnZRCahv5lX7QJYwDjO4ucJ6lnvxHe2v/9Te1LLjTO7ojxu/qM6CE5Cg==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.6",
+ "@mui/private-theming": "^5.11.1",
+ "@mui/styled-engine": "^5.11.0",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@mui/material/node_modules/stylis": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz",
+ "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA=="
+ },
+ "node_modules/@mui/private-theming": {
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.1.tgz",
+ "integrity": "sha512-nnHg7kA5RwFRhy0wiDYe59sLCVGORpPypL1JcEdhv0+N0Zbmc2E/y4z2zqMRZ62MAEscpro7cQbvv244ThA84A==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.6",
+ "@mui/utils": "^5.11.1",
"prop-types": "^15.8.1"
},
"engines": {
@@ -3472,9 +3589,9 @@
"integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA=="
},
"node_modules/@mui/types": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz",
- "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz",
+ "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==",
"peerDependencies": {
"@types/react": "*"
},
@@ -3485,11 +3602,11 @@
}
},
"node_modules/@mui/utils": {
- "version": "5.10.16",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz",
- "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==",
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.1.tgz",
+ "integrity": "sha512-lMAPgIJoil8V9ZxsMbEflMsvZmWcHbRVMc4JDY9jPO9V4welpF43h/O267b1RqlcRnC5MEbVQV605GYkTZY29Q==",
"dependencies": {
- "@babel/runtime": "^7.20.1",
+ "@babel/runtime": "^7.20.6",
"@types/prop-types": "^15.7.5",
"@types/react-is": "^16.7.1 || ^17.0.0",
"prop-types": "^15.8.1",
@@ -21062,9 +21179,9 @@
}
},
"@kingsrook/qqq-frontend-core": {
- "version": "1.0.38",
- "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.38/38d5f26bafb713d2f27ffd1d91253fe80ab87028",
- "integrity": "sha512-BpKCLsd8FhxKb0FZTRm1V8wC/jEYjpmOJg50ZaerVDkHkhb02xcMiy++a9AELEaq6KxYFRTpQHiBMJbyop83cQ==",
+ "version": "1.0.39",
+ "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.39/833263d6596029a396125dccb5ab0ac908b15c36",
+ "integrity": "sha512-S9V5zhri30jvNTzMqlbeD2c+zeon+3j+JqM/wt/qsSPys4Pnp6kJDf86dF7QzeFsuzbXJDqVgcQ3AbDrTa0skA==",
"requires": {
"axios": "0.27.2",
"form-data": "4.0.0"
@@ -21076,19 +21193,32 @@
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
},
"@mui/base": {
- "version": "5.0.0-alpha.68",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.68.tgz",
- "integrity": "sha512-q+3gX6EHuM/AyOn8fkoANQxSzIHBeuNsrGgb7SPP0y7NuM+4ZHG/b9882+OfHcilaSqPDWUQoLbphcBpw/m/RA==",
+ "version": "5.0.0-alpha.111",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.111.tgz",
+ "integrity": "sha512-2wfIPpl97S4dPzD0QOM3UIzQ/EuXCYQvHmXxTpfKxev/cfkzOe7Ik/McoYUBbtM1bSOqH3W276R/L2LF9cyXqQ==",
"requires": {
- "@babel/runtime": "^7.17.0",
- "@emotion/is-prop-valid": "^1.1.1",
- "@mui/utils": "^5.4.1",
- "@popperjs/core": "^2.4.4",
- "clsx": "^1.1.1",
- "prop-types": "^15.7.2",
- "react-is": "^17.0.2"
+ "@babel/runtime": "^7.20.6",
+ "@emotion/is-prop-valid": "^1.2.0",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "@popperjs/core": "^2.11.6",
+ "clsx": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ }
}
},
+ "@mui/core-downloads-tracker": {
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.1.tgz",
+ "integrity": "sha512-QVqVNlZ2K+LqUDE5kFgYd0r4KekR/dv2cNYbAutQWbfOA8VPVUVrDz0ELrEcoe8TjM/CwnsmGvaDh/YSNl/ALA=="
+ },
"@mui/icons-material": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.4.1.tgz",
@@ -21098,31 +21228,91 @@
}
},
"@mui/material": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.4.1.tgz",
- "integrity": "sha512-SxAT43UAjFTBBpJrN+oGrv40xP1uCa5Z49NfHt3m93xYeFzbxKOk0V9IKU7zlUjbsaVQ0i+o24yF5GULZmynlA==",
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.1.tgz",
+ "integrity": "sha512-yaZiXvcrl2vgUK+VO24780BWRgwdAMmAyuMVZnRTts1Yu0tWd6PjIYq2ZtaOlpj6/LbaSS+Q2kSfxYnDQ20CEQ==",
"requires": {
- "@babel/runtime": "^7.17.0",
- "@mui/base": "5.0.0-alpha.68",
- "@mui/system": "^5.4.1",
- "@mui/types": "^7.1.1",
- "@mui/utils": "^5.4.1",
- "@types/react-transition-group": "^4.4.4",
- "clsx": "^1.1.1",
- "csstype": "^3.0.10",
- "hoist-non-react-statics": "^3.3.2",
- "prop-types": "^15.7.2",
- "react-is": "^17.0.2",
- "react-transition-group": "^4.4.2"
+ "@babel/runtime": "^7.20.6",
+ "@mui/base": "5.0.0-alpha.111",
+ "@mui/core-downloads-tracker": "^5.11.1",
+ "@mui/system": "^5.11.1",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "@types/react-transition-group": "^4.4.5",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0",
+ "react-transition-group": "^4.4.5"
+ },
+ "dependencies": {
+ "@emotion/cache": {
+ "version": "11.10.5",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz",
+ "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==",
+ "requires": {
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/sheet": "^1.2.1",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
+ "stylis": "4.1.3"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "@emotion/weak-memoize": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
+ "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
+ },
+ "@mui/styled-engine": {
+ "version": "5.11.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz",
+ "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==",
+ "requires": {
+ "@babel/runtime": "^7.20.6",
+ "@emotion/cache": "^11.10.5",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "@mui/system": {
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.1.tgz",
+ "integrity": "sha512-BEA2S0hay8n8CcZftkeAVsi0nsb5ZjdnZRCahv5lX7QJYwDjO4ucJ6lnvxHe2v/9Te1LLjTO7ojxu/qM6CE5Cg==",
+ "requires": {
+ "@babel/runtime": "^7.20.6",
+ "@mui/private-theming": "^5.11.1",
+ "@mui/styled-engine": "^5.11.0",
+ "@mui/types": "^7.2.3",
+ "@mui/utils": "^5.11.1",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "stylis": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz",
+ "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA=="
+ }
}
},
"@mui/private-theming": {
- "version": "5.10.16",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz",
- "integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==",
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.1.tgz",
+ "integrity": "sha512-nnHg7kA5RwFRhy0wiDYe59sLCVGORpPypL1JcEdhv0+N0Zbmc2E/y4z2zqMRZ62MAEscpro7cQbvv244ThA84A==",
"requires": {
- "@babel/runtime": "^7.20.1",
- "@mui/utils": "^5.10.16",
+ "@babel/runtime": "^7.20.6",
+ "@mui/utils": "^5.11.1",
"prop-types": "^15.8.1"
}
},
@@ -21216,16 +21406,16 @@
}
},
"@mui/types": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz",
- "integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA=="
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz",
+ "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw=="
},
"@mui/utils": {
- "version": "5.10.16",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz",
- "integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==",
+ "version": "5.11.1",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.1.tgz",
+ "integrity": "sha512-lMAPgIJoil8V9ZxsMbEflMsvZmWcHbRVMc4JDY9jPO9V4welpF43h/O267b1RqlcRnC5MEbVQV605GYkTZY29Q==",
"requires": {
- "@babel/runtime": "^7.20.1",
+ "@babel/runtime": "^7.20.6",
"@types/prop-types": "^15.7.5",
"@types/react-is": "^16.7.1 || ^17.0.0",
"prop-types": "^15.8.1",
diff --git a/package.json b/package.json
index 52c73bf..be18d3c 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
"@fullcalendar/timegrid": "5.10.0",
"@kingsrook/qqq-frontend-core": "1.0.39",
"@mui/icons-material": "5.4.1",
- "@mui/material": "5.4.1",
+ "@mui/material": "5.11.1",
"@mui/styled-engine": "5.4.1",
"@mui/styles": "5.10.7",
"@mui/system": "5.10.14",
diff --git a/src/App.tsx b/src/App.tsx
index d32ffc7..8107362 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -26,6 +26,7 @@ import {QAppTreeNode} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QApp
import {QAuthenticationMetaData} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QAuthenticationMetaData";
import {QBrandingMetaData} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QBrandingMetaData";
import {QInstance} from "@kingsrook/qqq-frontend-core/lib/model/metaData/QInstance";
+import Avatar from "@mui/material/Avatar";
import CssBaseline from "@mui/material/CssBaseline";
import Icon from "@mui/material/Icon";
import {ThemeProvider} from "@mui/material/styles";
@@ -34,13 +35,10 @@ import React, {JSXElementConstructor, Key, ReactElement, useEffect, useState,} f
import {useCookies} from "react-cookie";
import {Navigate, Route, Routes, useLocation,} from "react-router-dom";
import {Md5} from "ts-md5/dist/md5";
+import {number} from "yup";
import {setMiniSidenav, setOpenConfigurator, useMaterialUIController} from "context";
-import Settings from "layouts/pages/account/settings";
-import ProfileOverview from "layouts/pages/profile/profile-overview";
import QContext from "QContext";
import Sidenav from "qqq/components/Sidenav";
-import Configurator from "qqq/components/Temporary/Configurator";
-import MDAvatar from "qqq/components/Temporary/MDAvatar";
import MDBox from "qqq/components/Temporary/MDBox";
import theme from "qqq/components/Temporary/Theme";
import AppHome from "qqq/pages/app-home";
@@ -390,27 +388,13 @@ export default function App()
type: "collapse",
name: user?.name,
key: "username",
- icon: ,
- collapse: [
- {
- name: "My Profile",
- key: "my-profile",
- route: "/pages/profile/profile-overview",
- component: ,
- },
- {
- name: "Settings",
- key: "profile-settings",
- route: "/pages/account/settings",
- component: ,
- },
- ],
+ noCollapse: true,
+ icon: ,
};
setProfileRoutes(profileRoutes);
const sideNavAppList = [] as any[];
const appRoutesList = [] as any[];
- const mainDashboardsApp = {} as any;
///////////////////////////////////////////////////////////////////////////////////
// iterate throught the list to find the 'main dashboard so we can put it first' //
@@ -565,20 +549,15 @@ export default function App()
}}>
- {layout === "dashboard" && (
- <>
-
-
- >
- )}
+
} />
{appRoutes && getRoutes(appRoutes)}
diff --git a/src/layouts/pages/account/components/BaseLayout/index.tsx b/src/layouts/pages/account/components/BaseLayout/index.tsx
deleted file mode 100644
index 65c7235..0000000
--- a/src/layouts/pages/account/components/BaseLayout/index.tsx
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { useState, useEffect, ReactNode } from "react";
-
-// @mui material components
-import Grid from "@mui/material/Grid";
-import AppBar from "@mui/material/AppBar";
-import Tabs from "@mui/material/Tabs";
-import Tab from "@mui/material/Tab";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-
-// Material Dashboard 2 PRO React TS Base Styles
-import breakpoints from "assets/theme/base/breakpoints";
-
-// Material Dashboard 2 PRO React TS examples components
-import DashboardLayout from "examples/LayoutContainers/DashboardLayout";
-import DashboardNavbar from "examples/Navbars/DashboardNavbar";
-import Footer from "examples/Footer";
-
-// Declaring props types for BaseLayout
-interface Props {
- stickyNavbar?: boolean;
- children: ReactNode;
-}
-
-function BaseLayout({ stickyNavbar, children }: Props): JSX.Element {
- const [tabsOrientation, setTabsOrientation] = useState<"horizontal" | "vertical">("horizontal");
- const [tabValue, setTabValue] = useState(0);
-
- useEffect(() => {
- // A function that sets the orientation state of the tabs.
- function handleTabsOrientation() {
- return window.innerWidth < breakpoints.values.sm
- ? setTabsOrientation("vertical")
- : setTabsOrientation("horizontal");
- }
-
- /**
- The event listener that's calling the handleTabsOrientation function when resizing the window.
- */
- window.addEventListener("resize", handleTabsOrientation);
-
- // Call the handleTabsOrientation function to set the state with the initial value.
- handleTabsOrientation();
-
- // Remove event listener on cleanup
- return () => window.removeEventListener("resize", handleTabsOrientation);
- }, [tabsOrientation]);
-
- const handleSetTabValue = (event: any, newValue: number) => setTabValue(newValue);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {children}
-
-
-
- );
-}
-
-// Declaring default props for BaseLayout
-BaseLayout.defaultProps = {
- stickyNavbar: false,
-};
-
-export default BaseLayout;
diff --git a/src/layouts/pages/account/components/FormField/index.tsx b/src/layouts/pages/account/components/FormField/index.tsx
deleted file mode 100644
index 950103a..0000000
--- a/src/layouts/pages/account/components/FormField/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// Material Dashboard 2 PRO React TS components
-import MDInput from "components/MDInput";
-
-// Declaring props types for FormField
-interface Props {
- label?: string;
- [key: string]: any;
-}
-
-function FormField({ label, ...rest }: Props): JSX.Element {
- return (
-
- );
-}
-
-// Declaring default props for FormField
-FormField.defaultProps = {
- label: " ",
-};
-
-export default FormField;
diff --git a/src/layouts/pages/account/settings/components/Accounts/index.tsx b/src/layouts/pages/account/settings/components/Accounts/index.tsx
deleted file mode 100644
index 6d5a48e..0000000
--- a/src/layouts/pages/account/settings/components/Accounts/index.tsx
+++ /dev/null
@@ -1,273 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { useState } from "react";
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Icon from "@mui/material/Icon";
-import Switch from "@mui/material/Switch";
-import Tooltip from "@mui/material/Tooltip";
-import Divider from "@mui/material/Divider";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDAvatar from "components/MDAvatar";
-import MDInput from "components/MDInput";
-import MDButton from "components/MDButton";
-
-// Images
-import logoSlack from "assets/images/small-logos/logo-slack.svg";
-import logoSpotify from "assets/images/small-logos/logo-spotify.svg";
-import logoAtlassian from "assets/images/small-logos/logo-atlassian.svg";
-import logoAsana from "assets/images/small-logos/logo-asana.svg";
-
-// Material Dashboard 2 PRO React TS components
-import { useMaterialUIController } from "context";
-
-function Accounts(): JSX.Element {
- const [controller] = useMaterialUIController();
- const { darkMode } = controller;
-
- const [slack2FA, setSlack2FA] = useState(true);
- const [spotify2FA, setSpotify2FA] = useState(true);
- const [atlassian2FA, setAtlassian2FA] = useState(true);
- const [asana2FA, setAsana2FA] = useState(false);
-
- const handleSetSlack2FA = () => setSlack2FA(!slack2FA);
- const handleSetSpotify2FA = () => setSpotify2FA(!spotify2FA);
- const handleSetAtlassian2FA = () => setAtlassian2FA(!atlassian2FA);
- const handleSetAsana2FA = () => setAsana2FA(!asana2FA);
-
- return (
-
-
-
- Accounts
-
-
- Here you can setup and manage your integration settings.
-
-
-
-
-
-
-
-
- Slack
-
-
-
- Show less
-
-
- expand_less
-
-
-
-
-
-
-
- {slack2FA ? "Enabled" : "Disabled"}
-
-
-
-
-
-
-
-
-
- You haven't added your Slack yet or you aren't authorized. Please add our
- Slack Bot to your account by clicking on here. When you've added the bot, send your
- verification code that you have received.
-
-
-
- Verification Code
-
-
-
-
-
-
-
-
-
- Connected account
-
-
-
-
- hello@creative-tim.com
-
-
-
- delete
-
-
-
-
-
-
-
-
-
-
- Spotify
-
-
- Music
-
-
-
-
-
-
- {spotify2FA ? "Enabled" : "Disabled"}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Atlassian
-
-
- Payment vendor
-
-
-
-
-
-
- {atlassian2FA ? "Enabled" : "Disabled"}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Asana
-
-
- Organize your team
-
-
-
-
-
-
- {asana2FA ? "Enabled" : "Disabled"}
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Accounts;
diff --git a/src/layouts/pages/account/settings/components/Authentication/index.tsx b/src/layouts/pages/account/settings/components/Authentication/index.tsx
deleted file mode 100644
index 04bc22e..0000000
--- a/src/layouts/pages/account/settings/components/Authentication/index.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Divider from "@mui/material/Divider";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDButton from "components/MDButton";
-import MDBadge from "components/MDBadge";
-
-function Authentication(): JSX.Element {
- return (
-
-
- Two-factor authentication
-
-
-
-
-
- Security keys
-
-
-
-
- No Security keys
-
-
-
- add
-
-
-
-
-
-
- SMS number
-
-
-
-
- +3012374423
-
-
-
- edit
-
-
-
-
-
-
- Authenticator app
-
-
-
-
- Not Configured
-
-
-
- set up
-
-
-
-
-
- );
-}
-
-export default Authentication;
diff --git a/src/layouts/pages/account/settings/components/BasicInfo/data/selectData.ts b/src/layouts/pages/account/settings/components/BasicInfo/data/selectData.ts
deleted file mode 100644
index 07d85f6..0000000
--- a/src/layouts/pages/account/settings/components/BasicInfo/data/selectData.ts
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-const selectData = {
- gender: ["Male", "Female"],
- birthDate: [
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December",
- ],
- days: [
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "10",
- "11",
- "12",
- "13",
- "14",
- "15",
- "16",
- "17",
- "18",
- "19",
- "20",
- "21",
- "22",
- "23",
- "24",
- "25",
- "26",
- "27",
- "28",
- "29",
- "30",
- ],
- years: [
- "1900",
- "1901",
- "1902",
- "1903",
- "1904",
- "1905",
- "1906",
- "1907",
- "1908",
- "1909",
- "1910",
- "1911",
- "1912",
- "1913",
- "1914",
- "1915",
- "1915",
- "1915",
- "1916",
- "1917",
- "1918",
- "1919",
- "1920",
- "1921",
- "1922",
- "1923",
- "1924",
- "1925",
- "1926",
- "1927",
- "1928",
- "1929",
- "1930",
- "1931",
- "1932",
- "1933",
- "1934",
- "1935",
- "1936",
- "1937",
- "1938",
- "1939",
- "1940",
- "1941",
- "1942",
- "1943",
- "1944",
- "1945",
- "1946",
- "1947",
- "1948",
- "1949",
- "1950",
- "1951",
- "1952",
- "1953",
- "1954",
- "1955",
- "1956",
- "1957",
- "1958",
- "1959",
- "1960",
- "1961",
- "1962",
- "1963",
- "1964",
- "1965",
- "1966",
- "1967",
- "1968",
- "1969",
- "1970",
- "1971",
- "1972",
- "1973",
- "1974",
- "1975",
- "1976",
- "1977",
- "1978",
- "1979",
- "1980",
- "1981",
- "1982",
- "1983",
- "1984",
- "1985",
- "1986",
- "1987",
- "1988",
- "1989",
- "1990",
- "1991",
- "1992",
- "1993",
- "1994",
- "1995",
- "1996",
- "1997",
- "1998",
- "1999",
- "2000",
- "2001",
- "2002",
- "2003",
- "2004",
- "2005",
- "2006",
- "2007",
- "2008",
- "2009",
- "2010",
- "2011",
- "2012",
- "2013",
- "2014",
- "2015",
- "2016",
- "2017",
- "2018",
- "2019",
- "2020",
- "2021",
- ],
- skills: ["react", "vue", "angular", "svelte", "javascript"],
-};
-
-export default selectData;
diff --git a/src/layouts/pages/account/settings/components/BasicInfo/index.tsx b/src/layouts/pages/account/settings/components/BasicInfo/index.tsx
deleted file mode 100644
index e9333db..0000000
--- a/src/layouts/pages/account/settings/components/BasicInfo/index.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @material-ui core components
-import Card from "@mui/material/Card";
-import Grid from "@mui/material/Grid";
-import Autocomplete from "@mui/material/Autocomplete";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-// Settings page components
-import FormField from "layouts/pages/account/components/FormField";
-
-// Data
-import selectData from "layouts/pages/account/settings/components/BasicInfo/data/selectData";
-
-function BasicInfo(): JSX.Element {
- return (
-
-
- Basic Info
-
-
-
-
-
-
-
-
-
-
-
-
- (
-
- )}
- />
-
-
-
-
- (
-
- )}
- />
-
-
- (
-
- )}
- />
-
-
- (
-
- )}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- />
-
-
-
-
- );
-}
-
-export default BasicInfo;
diff --git a/src/layouts/pages/account/settings/components/ChangePassword/index.tsx b/src/layouts/pages/account/settings/components/ChangePassword/index.tsx
deleted file mode 100644
index 75c0896..0000000
--- a/src/layouts/pages/account/settings/components/ChangePassword/index.tsx
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Grid from "@mui/material/Grid";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDButton from "components/MDButton";
-import MDInput from "components/MDInput";
-
-function ChangePassword(): JSX.Element {
- const passwordRequirements = [
- "One special characters",
- "Min 6 characters",
- "One number (2 are recommended)",
- "Change it often",
- ];
-
- const renderPasswordRequirements = passwordRequirements.map((item, key) => {
- const itemKey = `element-${key}`;
-
- return (
-
-
- {item}
-
-
- );
- });
-
- return (
-
-
- Change Password
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Password requirements
-
-
-
- Please follow this guide for a strong password
-
-
-
-
- {renderPasswordRequirements}
-
-
-
- update password
-
-
-
-
-
- );
-}
-
-export default ChangePassword;
diff --git a/src/layouts/pages/account/settings/components/DeleteAccount/index.tsx b/src/layouts/pages/account/settings/components/DeleteAccount/index.tsx
deleted file mode 100644
index e5796be..0000000
--- a/src/layouts/pages/account/settings/components/DeleteAccount/index.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDButton from "components/MDButton";
-
-function DeleteAccount(): JSX.Element {
- return (
-
-
-
-
- Delete Account
-
-
- Once you delete your account, there is no going back. Please be certain.
-
-
-
-
- deactivate
-
-
-
- delete account
-
-
-
-
-
- );
-}
-
-export default DeleteAccount;
diff --git a/src/layouts/pages/account/settings/components/Header/index.tsx b/src/layouts/pages/account/settings/components/Header/index.tsx
deleted file mode 100644
index 120ba26..0000000
--- a/src/layouts/pages/account/settings/components/Header/index.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { useState } from "react";
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Grid from "@mui/material/Grid";
-import Switch from "@mui/material/Switch";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDAvatar from "components/MDAvatar";
-
-// Images
-import burceMars from "assets/images/bruce-mars.jpg";
-
-function Header(): JSX.Element {
- const [visible, setVisible] = useState(true);
-
- const handleSetVisible = () => setVisible(!visible);
-
- return (
-
-
-
-
-
-
-
-
-
- Alex Thompson
-
-
- CEO / Co-Founder
-
-
-
-
-
-
- Switch to {visible ? "invisible" : "visible"}
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Header;
diff --git a/src/layouts/pages/account/settings/components/Notifications/index.tsx b/src/layouts/pages/account/settings/components/Notifications/index.tsx
deleted file mode 100644
index cf37879..0000000
--- a/src/layouts/pages/account/settings/components/Notifications/index.tsx
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Table from "@mui/material/Table";
-import TableRow from "@mui/material/TableRow";
-import TableBody from "@mui/material/TableBody";
-import Switch from "@mui/material/Switch";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-// Setting pages components
-import TableCell from "layouts/pages/account/settings/components/TableCell";
-
-function Notifications(): JSX.Element {
- return (
-
-
-
- Notifications
-
-
- Choose how you receive notifications. These notification settings apply to the things
- you’re watching.
-
-
-
-
-
-
-
-
- Activity
-
-
- Email
-
-
- Push
-
-
- SMS
-
-
-
-
-
-
-
-
- Mentions
-
-
- Notify when another user mentions you in a comment
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Comments
-
-
- Notify when another user comments your item.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Follows
-
-
- Notify when another user follows you.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Log in from a new device
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Notifications;
diff --git a/src/layouts/pages/account/settings/components/Sessions/index.tsx b/src/layouts/pages/account/settings/components/Sessions/index.tsx
deleted file mode 100644
index 45f1d95..0000000
--- a/src/layouts/pages/account/settings/components/Sessions/index.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Icon from "@mui/material/Icon";
-import Divider from "@mui/material/Divider";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDBadge from "components/MDBadge";
-
-function Sessions(): JSX.Element {
- const actionButtonStyles = {
- "& .material-icons-round": {
- transform: `translateX(0)`,
- transition: "all 200ms cubic-bezier(0.34,1.61,0.7,1.3)",
- },
-
- "&:hover .material-icons-round, &:focus .material-icons-round": {
- transform: `translateX(4px)`,
- },
- };
-
- return (
-
-
-
- Sessions
-
-
- This is a list of devices that have logged into your account. Remove those that you do not
- recognize.
-
-
-
-
-
-
- desktop_windows
-
-
-
- Bucharest 68.133.163.201
-
-
- Your current session
-
-
-
-
-
-
-
- EU
-
-
-
- See more
- arrow_forward
-
-
-
-
-
-
-
- desktop_windows
-
-
-
- Chrome on macOS
-
-
-
-
-
-
- US
-
-
-
- See more
- arrow_forward
-
-
-
-
-
-
-
- phone_iphone
-
-
-
- Safari on iPhone
-
-
-
-
-
-
- US
-
-
-
- See more
- arrow_forward
-
-
-
-
-
- );
-}
-
-export default Sessions;
diff --git a/src/layouts/pages/account/settings/components/Sidenav/index.tsx b/src/layouts/pages/account/settings/components/Sidenav/index.tsx
deleted file mode 100644
index 4ab704e..0000000
--- a/src/layouts/pages/account/settings/components/Sidenav/index.tsx
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Icon from "@mui/material/Icon";
-import { Theme } from "@mui/material/styles";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-// Material Dashboard 2 PRO React context
-import { useMaterialUIController } from "context";
-
-function Sidenav(): JSX.Element {
- const [controller] = useMaterialUIController();
- const { darkMode } = controller;
-
- const sidenavItems = [
- { icon: "person", label: "profile", href: "profile" },
- { icon: "receipt_long", label: "basic info", href: "basic-info" },
- { icon: "lock", label: "change password", href: "change-password" },
- { icon: "security", label: "2FA", href: "2fa" },
- { icon: "badge", label: "accounts", href: "accounts" },
- { icon: "campaign", label: "notifications", href: "notifications" },
- { icon: "settings_applications", label: "sessions", href: "sessions" },
- { icon: "delete", label: "delete account", href: "delete-account" },
- ];
-
- const renderSidenavItems = sidenavItems.map(({ icon, label, href }, key) => {
- const itemKey = `item-${key}`;
-
- return (
-
- ({
- display: "flex",
- alignItems: "center",
- borderRadius: borderRadius.md,
- padding: `${pxToRem(10)} ${pxToRem(16)}`,
- transition: transitions.create("background-color", {
- easing: transitions.easing.easeInOut,
- duration: transitions.duration.shorter,
- }),
-
- "&:hover": {
- backgroundColor: light.main,
- },
- })}
- >
-
- {icon}
-
- {label}
-
-
- );
- });
-
- return (
- borderRadius.lg,
- position: "sticky",
- top: "1%",
- }}
- >
-
- {renderSidenavItems}
-
-
- );
-}
-
-export default Sidenav;
diff --git a/src/layouts/pages/account/settings/components/TableCell/index.tsx b/src/layouts/pages/account/settings/components/TableCell/index.tsx
deleted file mode 100644
index 1d0de7a..0000000
--- a/src/layouts/pages/account/settings/components/TableCell/index.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { ReactNode } from "react";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-// Declaring props types for TableCell
-interface Props {
- width?: string;
- children: ReactNode;
- align?: string | any;
- padding?: number[];
- noBorder?: boolean;
-}
-
-function TableCell({ width, align, padding, noBorder, children }: Props): JSX.Element {
- return (
-
- noBorder ? 0 : `${borderWidth[1]} solid ${light.main}`,
- }}
- >
-
- {children}
-
-
- );
-}
-
-// Declaring default props for TableCell
-TableCell.defaultProps = {
- width: "auto",
- align: "left",
- padding: [],
- noBorder: false,
-};
-
-export default TableCell;
diff --git a/src/layouts/pages/account/settings/index.tsx b/src/layouts/pages/account/settings/index.tsx
deleted file mode 100644
index 453668d..0000000
--- a/src/layouts/pages/account/settings/index.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Grid from "@mui/material/Grid";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-
-// Settings page components
-import BaseLayout from "layouts/pages/account/components/BaseLayout";
-import Sidenav from "layouts/pages/account/settings/components/Sidenav";
-import Header from "layouts/pages/account/settings/components/Header";
-import BasicInfo from "layouts/pages/account/settings/components/BasicInfo";
-import ChangePassword from "layouts/pages/account/settings/components/ChangePassword";
-import Authentication from "layouts/pages/account/settings/components/Authentication";
-import Accounts from "layouts/pages/account/settings/components/Accounts";
-import Notifications from "layouts/pages/account/settings/components/Notifications";
-import Sessions from "layouts/pages/account/settings/components/Sessions";
-import DeleteAccount from "layouts/pages/account/settings/components/DeleteAccount";
-
-function Settings(): JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Settings;
diff --git a/src/layouts/pages/profile/components/Header/index.tsx b/src/layouts/pages/profile/components/Header/index.tsx
deleted file mode 100644
index b393d4f..0000000
--- a/src/layouts/pages/profile/components/Header/index.tsx
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { useState, useEffect, ReactNode } from "react";
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Grid from "@mui/material/Grid";
-import AppBar from "@mui/material/AppBar";
-import Tabs from "@mui/material/Tabs";
-import Tab from "@mui/material/Tab";
-import Icon from "@mui/material/Icon";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-import MDAvatar from "components/MDAvatar";
-
-// Material Dashboard 2 PRO React TS Base Styles
-import breakpoints from "assets/theme/base/breakpoints";
-
-// Images
-import burceMars from "assets/images/bruce-mars.jpg";
-import backgroundImage from "assets/images/bg-profile.jpeg";
-
-function Header({ children }: { children?: ReactNode }): JSX.Element {
- const [tabsOrientation, setTabsOrientation] = useState<"horizontal" | "vertical">("horizontal");
- const [tabValue, setTabValue] = useState(0);
-
- useEffect(() => {
- // A function that sets the orientation state of the tabs.
- function handleTabsOrientation() {
- return window.innerWidth < breakpoints.values.sm
- ? setTabsOrientation("vertical")
- : setTabsOrientation("horizontal");
- }
-
- /**
- The event listener that's calling the handleTabsOrientation function when resizing the window.
- */
- window.addEventListener("resize", handleTabsOrientation);
-
- // Call the handleTabsOrientation function to set the state with the initial value.
- handleTabsOrientation();
-
- // Remove event listener on cleanup
- return () => window.removeEventListener("resize", handleTabsOrientation);
- }, [tabsOrientation]);
-
- const handleSetTabValue = (event: any, newValue: any) => setTabValue(newValue);
-
- return (
-
-
- `${linearGradient(
- rgba(gradients.info.main, 0.6),
- rgba(gradients.info.state, 0.6)
- )}, url(${backgroundImage})`,
- backgroundSize: "cover",
- backgroundPosition: "50%",
- overflow: "hidden",
- }}
- />
-
-
-
-
-
-
-
-
- Richard Davis
-
-
- CEO / Co-Founder
-
-
-
-
-
-
-
- home
-
- }
- />
-
- email
-
- }
- />
-
- settings
-
- }
- />
-
-
-
-
- {children}
-
-
- );
-}
-
-// Declaring default props for Header
-Header.defaultProps = {
- children: "",
-};
-
-export default Header;
diff --git a/src/layouts/pages/profile/profile-overview/components/PlatformSettings/index.tsx b/src/layouts/pages/profile/profile-overview/components/PlatformSettings/index.tsx
deleted file mode 100644
index 3548bce..0000000
--- a/src/layouts/pages/profile/profile-overview/components/PlatformSettings/index.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-import { useState } from "react";
-
-// @mui material components
-import Card from "@mui/material/Card";
-import Switch from "@mui/material/Switch";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-function PlatformSettings(): JSX.Element {
- const [followsMe, setFollowsMe] = useState(true);
- const [answersPost, setAnswersPost] = useState(false);
- const [mentionsMe, setMentionsMe] = useState(true);
- const [newLaunches, setNewLaunches] = useState(false);
- const [productUpdate, setProductUpdate] = useState(true);
- const [newsletter, setNewsletter] = useState(false);
-
- return (
-
-
-
- platform settings
-
-
-
-
- account
-
-
-
- setFollowsMe(!followsMe)} />
-
-
-
- Email me when someone follows me
-
-
-
-
-
- setAnswersPost(!answersPost)} />
-
-
-
- Email me when someone answers on my post
-
-
-
-
-
- setMentionsMe(!mentionsMe)} />
-
-
-
- Email me when someone mentions me
-
-
-
-
-
- application
-
-
-
-
- setNewLaunches(!newLaunches)} />
-
-
-
- New launches and projects
-
-
-
-
-
- setProductUpdate(!productUpdate)} />
-
-
-
- Monthly product updates
-
-
-
-
-
- setNewsletter(!newsletter)} />
-
-
-
- Subscribe to newsletter
-
-
-
-
-
- );
-}
-
-export default PlatformSettings;
diff --git a/src/layouts/pages/profile/profile-overview/data/profilesListData.ts b/src/layouts/pages/profile/profile-overview/data/profilesListData.ts
deleted file mode 100644
index 48d11b5..0000000
--- a/src/layouts/pages/profile/profile-overview/data/profilesListData.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// Images
-import kal from "assets/images/kal-visuals-square.jpg";
-import marie from "assets/images/marie.jpg";
-import ivana from "assets/images/ivana-square.jpg";
-import team3 from "assets/images/team-3.jpg";
-import team4 from "assets/images/team-4.jpg";
-
-// types
-type Types = any;
-
-const profileListData: Types = [
- {
- image: kal,
- name: "Sophie B.",
- description: "Hi! I need more information..",
- action: {
- type: "internal",
- route: "/pages/profile/profile-overview",
- color: "info",
- label: "reply",
- },
- },
- {
- image: marie,
- name: "Anne Marie",
- description: "Awesome work, can you..",
- action: {
- type: "internal",
- route: "/pages/profile/profile-overview",
- color: "info",
- label: "reply",
- },
- },
- {
- image: ivana,
- name: "Ivanna",
- description: "About files I can..",
- action: {
- type: "internal",
- route: "/pages/profile/profile-overview",
- color: "info",
- label: "reply",
- },
- },
- {
- image: team4,
- name: "Peterson",
- description: "Have a great afternoon..",
- action: {
- type: "internal",
- route: "/pages/profile/profile-overview",
- color: "info",
- label: "reply",
- },
- },
- {
- image: team3,
- name: "Nick Daniel",
- description: "Hi! I need more information..",
- action: {
- type: "internal",
- route: "/pages/profile/profile-overview",
- color: "info",
- label: "reply",
- },
- },
-];
-
-export default profileListData;
diff --git a/src/layouts/pages/profile/profile-overview/index.tsx b/src/layouts/pages/profile/profile-overview/index.tsx
deleted file mode 100644
index f6a3636..0000000
--- a/src/layouts/pages/profile/profile-overview/index.tsx
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
-=========================================================
-* Material Dashboard 2 PRO React TS - v1.0.0
-=========================================================
-
-* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
-* Copyright 2022 Creative Tim (https://www.creative-tim.com)
-
-Coded by www.creative-tim.com
-
- =========================================================
-
-* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-*/
-
-// @mui material components
-import Grid from "@mui/material/Grid";
-import Divider from "@mui/material/Divider";
-
-// @mui icons
-import FacebookIcon from "@mui/icons-material/Facebook";
-import TwitterIcon from "@mui/icons-material/Twitter";
-import InstagramIcon from "@mui/icons-material/Instagram";
-
-// Material Dashboard 2 PRO React TS components
-import MDBox from "components/MDBox";
-import MDTypography from "components/MDTypography";
-
-// Material Dashboard 2 PRO React TS examples components
-import DashboardLayout from "examples/LayoutContainers/DashboardLayout";
-import DashboardNavbar from "examples/Navbars/DashboardNavbar";
-import Footer from "examples/Footer";
-import ProfileInfoCard from "examples/Cards/InfoCards/ProfileInfoCard";
-import ProfilesList from "examples/Lists/ProfilesList";
-import DefaultProjectCard from "examples/Cards/ProjectCards/DefaultProjectCard";
-
-// Overview page components
-import Header from "layouts/pages/profile/components/Header";
-import PlatformSettings from "layouts/pages/profile/profile-overview/components/PlatformSettings";
-
-// Data
-import profilesListData from "layouts/pages/profile/profile-overview/data/profilesListData";
-
-// Images
-import homeDecor1 from "assets/images/home-decor-1.jpg";
-import homeDecor2 from "assets/images/home-decor-2.jpg";
-import homeDecor3 from "assets/images/home-decor-3.jpg";
-import homeDecor4 from "assets/images/home-decor-4.jpeg";
-import team1 from "assets/images/team-1.jpg";
-import team2 from "assets/images/team-2.jpg";
-import team3 from "assets/images/team-3.jpg";
-import team4 from "assets/images/team-4.jpg";
-
-function Overview(): JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
-
-
- ,
- color: "facebook",
- },
- {
- link: "https://twitter.com/creativetim",
- icon: ,
- color: "twitter",
- },
- {
- link: "https://www.instagram.com/creativetimofficial/",
- icon: ,
- color: "instagram",
- },
- ]}
- action={{ route: "", tooltip: "Edit Profile" }}
- shadow={false}
- />
-
-
-
-
-
-
-
-
-
- Projects
-
-
-
- Architects design houses
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Overview;
diff --git a/src/qqq/components/DashboardWidgets.tsx b/src/qqq/components/DashboardWidgets.tsx
index f78167e..29def43 100644
--- a/src/qqq/components/DashboardWidgets.tsx
+++ b/src/qqq/components/DashboardWidgets.tsx
@@ -104,7 +104,6 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
{
widgetData[i] = await qController.widget(widgetMetaDataList[i].name, getQueryParams(null));
setWidgetCounter(widgetCounter + 1);
- console.log(`widget data: ${JSON.stringify(widgetData[i])}`)
forceUpdate();
})();
}
diff --git a/src/qqq/components/Navbar/index.tsx b/src/qqq/components/Navbar/index.tsx
index 6297ffe..7b2c7fa 100644
--- a/src/qqq/components/Navbar/index.tsx
+++ b/src/qqq/components/Navbar/index.tsx
@@ -19,23 +19,25 @@
* along with this program. If not, see .
*/
+import {Popper} from "@mui/material";
import AppBar from "@mui/material/AppBar";
+import Autocomplete from "@mui/material/Autocomplete";
+import Badge from "@mui/material/Badge";
+import Box from "@mui/material/Box";
import Icon from "@mui/material/Icon";
import IconButton from "@mui/material/IconButton";
import ListItemIcon from "@mui/material/ListItemIcon";
import Menu from "@mui/material/Menu";
-import MenuItem from "@mui/material/MenuItem";
+import TextField from "@mui/material/TextField";
import Toolbar from "@mui/material/Toolbar";
-import React, {useState, useEffect} from "react";
+import React, {useEffect, useState} from "react";
import {useLocation, useNavigate} from "react-router-dom";
-import {useMaterialUIController, setTransparentNavbar, setMiniSidenav, setOpenConfigurator,} from "context";
-import {navbar, navbarContainer, navbarRow, navbarIconButton, navbarDesktopMenu, navbarMobileMenu,} from "qqq/components/Navbar/styles";
+import {boolean} from "yup";
+import {setTransparentNavbar, useMaterialUIController,} from "context";
+import {navbar, navbarContainer, navbarIconButton, navbarRow,} from "qqq/components/Navbar/styles";
import QBreadcrumbs, {routeToLabel} from "qqq/components/QBreadcrumbs";
-import MDBadge from "qqq/components/Temporary/MDBadge";
-import MDBox from "qqq/components/Temporary/MDBox";
-import MDInput from "qqq/components/Temporary/MDInput";
import NotificationItem from "qqq/components/Temporary/NotificationItem";
-import HistoryUtils, {QHistoryEntry} from "qqq/utils/HistoryUtils";
+import HistoryUtils from "qqq/utils/HistoryUtils";
// Declaring prop types for Navbar
interface Props
@@ -45,15 +47,21 @@ interface Props
isMini?: boolean;
}
+interface HistoryEntry {
+ id: number;
+ path: string;
+ label: string;
+ iconName?: string;
+}
+
function Navbar({absolute, light, isMini}: Props): JSX.Element
{
const [navbarType, setNavbarType] = useState<"fixed" | "absolute" | "relative" | "static" | "sticky">();
const [controller, dispatch] = useMaterialUIController();
- const {
- miniSidenav, transparentNavbar, fixedNavbar, openConfigurator, darkMode,
- } = controller;
+ const {transparentNavbar, fixedNavbar, darkMode,} = controller;
const [openMenu, setOpenMenu] = useState(false);
- const [openHistory, setOpenHistory] = useState(false);
+ const [history, setHistory] = useState([] as HistoryEntry[]);
+ const [autocompleteValue, setAutocompleteValue] = useState(null);
const route = useLocation().pathname.split("/").slice(1);
const navigate = useNavigate();
@@ -84,59 +92,84 @@ function Navbar({absolute, light, isMini}: Props): JSX.Element
// Call the handleTransparentNavbar function to set the state with the initial value.
handleTransparentNavbar();
+ buildHistoryEntries();
+
+ const history = HistoryUtils.get();
+ setHistory([ {label: "The Godfather", id: 1}, {label: "Pulp Fiction", id: 2}]);
+ const options = [] as any;
+ history.entries.reverse().forEach((entry, index) =>
+ options.push({label: `${entry.label} index`, id: index, key: index, path: entry.path, iconName: entry.iconName})
+ )
+ setHistory(options);
+
// Remove event listener on cleanup
return () => window.removeEventListener("scroll", handleTransparentNavbar);
}, [dispatch, fixedNavbar]);
- const handleMiniSidenav = () => setMiniSidenav(dispatch, !miniSidenav);
- const handleConfiguratorOpen = () => setOpenConfigurator(dispatch, !openConfigurator);
+ const goToHistory = (path: string) =>
+ {
+ navigate(path);
+ }
+
+ function buildHistoryEntries()
+ {
+ const history = HistoryUtils.get();
+ const options = [] as any;
+ history.entries.reverse().forEach((entry, index) =>
+ options.push({label: entry.label, id: index, key: index, path: entry.path, iconName: entry.iconName})
+ )
+ setHistory(options);
+ }
+
const handleOpenMenu = (event: any) => setOpenMenu(event.currentTarget);
const handleCloseMenu = () => setOpenMenu(false);
- const handleHistory = (event: any) =>
+ const handleAutocompleteOnChange = (event: any, value: any, reason: any, details: any) =>
{
- setOpenHistory(event.currentTarget);
+ if(value)
+ {
+ goToHistory(value.path);
+ }
+ setAutocompleteValue(null);
}
- const handleCloseHistory = () =>
+ const CustomPopper = function (props: any)
{
- setOpenHistory(false);
- }
-
- const goToHistory = (entry: QHistoryEntry) =>
- {
- navigate(entry.path);
- handleCloseHistory();
+ return ()
}
const renderHistory = () =>
{
- const history = HistoryUtils.get();
-
return (
-
+ />
);
- };
+ }
// Render the notifications menu
@@ -192,63 +225,28 @@ function Navbar({absolute, light, isMini}: Props): JSX.Element
})}
>
- navbarRow(theme, {isMini})}>
+ navbarRow(theme, {isMini})}>
-
-
- {miniSidenav ? "menu_open" : "menu"}
-
-
-
+
{isMini ? null : (
- navbarRow(theme, {isMini})}>
-
-
-
-
-
-
- {miniSidenav ? "menu_open" : "menu"}
-
-
-
- history
-
+ navbarRow(theme, {isMini})}>
+
{renderHistory()}
-
- settings
-
+
+
-
+
notifications
-
+
{renderMenu()}
-
-
+
+
)}
diff --git a/src/qqq/components/QDynamicSelect/QDynamicSelect.tsx b/src/qqq/components/QDynamicSelect/QDynamicSelect.tsx
index b83464e..6955430 100644
--- a/src/qqq/components/QDynamicSelect/QDynamicSelect.tsx
+++ b/src/qqq/components/QDynamicSelect/QDynamicSelect.tsx
@@ -66,7 +66,8 @@ function QDynamicSelect({tableName, fieldName, fieldLabel, inForm, initialValue,
const [ options, setOptions ] = useState([]);
const [ searchTerm, setSearchTerm ] = useState(null);
const [ firstRender, setFirstRender ] = useState(true);
- const [defaultValue, _] = useState(initialValue && initialDisplayValue ? {id: initialValue, label: initialDisplayValue} : null);
+ // @ts-ignore
+ const [defaultValue, _] = useState(initialValue && initialDisplayValue ? [{id: initialValue, label: initialDisplayValue}] : null);
// const loading = open && options.length === 0;
const [loading, setLoading] = useState(false);
const [ switchChecked, setSwitchChecked ] = useState(false);
@@ -224,7 +225,7 @@ function QDynamicSelect({tableName, fieldName, fieldLabel, inForm, initialValue,
setOpen(false);
}}
isOptionEqualToValue={(option, value) => option.id === value.id}
- getOptionLabel={(option) => option.label}
+ getOptionLabel={(option) => (option as QPossibleValue).label}
options={options}
loading={loading}
onInputChange={inputChanged}
diff --git a/src/qqq/components/Sidenav/index.tsx b/src/qqq/components/Sidenav/index.tsx
index cf8ec5b..3bd8c2d 100644
--- a/src/qqq/components/Sidenav/index.tsx
+++ b/src/qqq/components/Sidenav/index.tsx
@@ -253,7 +253,8 @@ function Sidenav({color, icon, logo, companyName, routes, ...rest}: Props): JSX.
icon={icon}
active={key === collapseName}
open={openCollapse === key}
- onClick={() => (openCollapse === key ? setOpenCollapse(false) : setOpenCollapse(key))}
+ noCollapse={noCollapse}
+ onClick={() => (! noCollapse ? (openCollapse === key ? setOpenCollapse(false) : setOpenCollapse(key)) : null) }
>
{collapse ? renderCollapse(collapse) : null}
diff --git a/src/qqq/components/Temporary/DataTable/index.tsx b/src/qqq/components/Temporary/DataTable/index.tsx
index 73de877..7a79050 100644
--- a/src/qqq/components/Temporary/DataTable/index.tsx
+++ b/src/qqq/components/Temporary/DataTable/index.tsx
@@ -207,9 +207,9 @@ function DataTable({
disableClearable
value={pageSize.toString()}
options={entries}
- onChange={(event, newValue) =>
+ onChange={(event, newValues) =>
{
- setEntriesPerPage(parseInt(newValue, 10));
+ setEntriesPerPage(parseInt(newValues[0], 10));
}}
size="small"
sx={{width: "5rem"}}
diff --git a/src/qqq/components/Temporary/MDAvatar/MDAvatarRoot.tsx b/src/qqq/components/Temporary/MDAvatar/MDAvatarRoot.tsx
deleted file mode 100644
index ecacf3f..0000000
--- a/src/qqq/components/Temporary/MDAvatar/MDAvatarRoot.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * QQQ - Low-code Application Framework for Engineers.
- * Copyright (C) 2021-2022. Kingsrook, LLC
- * 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
- * contact@kingsrook.com
- * https://github.com/Kingsrook/
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-import Avatar from "@mui/material/Avatar";
-import {styled, Theme} from "@mui/material/styles";
-
-export default styled(Avatar)(({theme, ownerState}: { theme?: Theme | any; ownerState: any }) =>
-{
- const {palette, functions, typography, boxShadows} = theme;
- const {shadow, bgColor, size} = ownerState;
-
- const {gradients, transparent, white} = palette;
- const {pxToRem, linearGradient} = functions;
- const {size: fontSize, fontWeightRegular} = typography;
-
- // backgroundImage value
- const backgroundValue =
- bgColor === "transparent"
- ? transparent.main
- : linearGradient(gradients[bgColor].main, gradients[bgColor].state);
-
- // size value
- let sizeValue;
-
- switch (size)
- {
- case "xs":
- sizeValue = {
- width: pxToRem(24),
- height: pxToRem(24),
- fontSize: fontSize.xs,
- };
- break;
- case "sm":
- sizeValue = {
- width: pxToRem(36),
- height: pxToRem(36),
- fontSize: fontSize.sm,
- };
- break;
- case "lg":
- sizeValue = {
- width: pxToRem(58),
- height: pxToRem(58),
- fontSize: fontSize.sm,
- };
- break;
- case "xl":
- sizeValue = {
- width: pxToRem(74),
- height: pxToRem(74),
- fontSize: fontSize.md,
- };
- break;
- case "xxl":
- sizeValue = {
- width: pxToRem(110),
- height: pxToRem(110),
- fontSize: fontSize.md,
- };
- break;
- default: {
- sizeValue = {
- width: pxToRem(48),
- height: pxToRem(48),
- fontSize: fontSize.md,
- };
- }
- }
-
- return {
- background: backgroundValue,
- color: white.main,
- fontWeight: fontWeightRegular,
- boxShadow: boxShadows[shadow],
- ...sizeValue,
- };
-});
diff --git a/src/qqq/components/Temporary/MDAvatar/index.tsx b/src/qqq/components/Temporary/MDAvatar/index.tsx
deleted file mode 100644
index f1e6a44..0000000
--- a/src/qqq/components/Temporary/MDAvatar/index.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * QQQ - Low-code Application Framework for Engineers.
- * Copyright (C) 2021-2022. Kingsrook, LLC
- * 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
- * contact@kingsrook.com
- * https://github.com/Kingsrook/
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-import {AvatarProps} from "@mui/material";
-import {FC, forwardRef} from "react";
-import MDAvatarRoot from "qqq/components/Temporary/MDAvatar/MDAvatarRoot";
-
-// declare props types for MDAvatar
-interface Props extends AvatarProps {
- bgColor?:
- | "transparent"
- | "primary"
- | "secondary"
- | "info"
- | "success"
- | "warning"
- | "error"
- | "light"
- | "dark";
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
- shadow?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "inset";
- [key: string]: any;
-}
-
-const MDAvatar: FC = forwardRef(({bgColor, size, shadow, ...rest}, ref) => (
-
-));
-
-// Declaring default props for MDAvatar
-MDAvatar.defaultProps = {
- bgColor: "transparent",
- size: "md",
- shadow: "none",
-};
-
-export default MDAvatar;
diff --git a/src/qqq/pages/dashboards/Widgets/USMapWidget.tsx b/src/qqq/pages/dashboards/Widgets/USMapWidget.tsx
index 88ef558..e09e938 100644
--- a/src/qqq/pages/dashboards/Widgets/USMapWidget.tsx
+++ b/src/qqq/pages/dashboards/Widgets/USMapWidget.tsx
@@ -70,8 +70,6 @@ function USMapWidget(props: Props, ): JSX.Element
})();
}, []);
- console.log(JSON.stringify(props))
-
return (