diff --git a/package-lock.json b/package-lock.json
index 4e4b686..1815461 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,7 +23,7 @@
"bootstrap-icons": "^1.11.3",
"cropperjs": "^1.6.2",
"dompurify": "^3.1.5",
- "firebase": "^10.12.2",
+ "firebase": "^10.12.3",
"image-conversion": "^2.1.1",
"install": "^0.13.0",
"marked": "^13.0.1",
@@ -2394,20 +2394,21 @@
},
"node_modules/@fastify/busboy": {
"version": "2.1.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+ "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
"engines": {
"node": ">=14"
}
},
"node_modules/@firebase/analytics": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.4.tgz",
- "integrity": "sha512-OJEl/8Oye/k+vJ1zV/1L6eGpc1XzAj+WG2TPznJ7PszL7sOFLBXkL9IjHfOCGDGpXeO3btozy/cYUqv4zgNeHg==",
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.5.tgz",
+ "integrity": "sha512-d0X2ksTOKHMf5zFAMKFZWXa8hSbgohsG507xFsGhF4Uet2b8uEUL/YLrEth67jXEbGEi1UQZX4AaGBxKNiDzjw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2415,14 +2416,14 @@
}
},
"node_modules/@firebase/analytics-compat": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.10.tgz",
- "integrity": "sha512-ia68RcLQLLMFWrM10JfmFod7eJGwqr4/uyrtzHpTDnxGX/6gNCBTOuxdAbyWIqXI5XmcMQdz9hDijGKOHgDfPw==",
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.11.tgz",
+ "integrity": "sha512-wmXxJ49pEY7H549Pa4CDPOTzkPJnfG2Yolptg72ntTgSrbKVq+Eg9cAQY6Z5Kn9ATSQRX5oGXKlNfEk5DJBvvA==",
"dependencies": {
- "@firebase/analytics": "0.10.4",
+ "@firebase/analytics": "0.10.5",
"@firebase/analytics-types": "0.8.2",
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2435,24 +2436,25 @@
"integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw=="
},
"node_modules/@firebase/app": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.5.tgz",
- "integrity": "sha512-iY/fNot+hWPk9sTX8aHMqlcX9ynRvpGkskWAdUZ2eQQdLo8d1hSFYcYNwPv0Q/frGMasw8udKWMcFOEpC9fG8g==",
+ "version": "0.10.6",
+ "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.6.tgz",
+ "integrity": "sha512-/r8Ikp7TOrIIdp7v2adD2kg9SqIXMGOoJXJB1HsX7LjpjWdsoy1fMkP0HlI7GQqqRxDueHNhETx5Zn5E8HyVAQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/app-check": {
- "version": "0.8.4",
- "license": "Apache-2.0",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.5.tgz",
+ "integrity": "sha512-WyIckkVYAfnzsPIw6EAt/qBUANkUAVl6irF0xuJ1R9ISNyUT1h7dPAwvs/g3rsx0fpBWaHRAH0IFiN6zO6yLqQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2460,14 +2462,15 @@
}
},
"node_modules/@firebase/app-check-compat": {
- "version": "0.3.11",
- "license": "Apache-2.0",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.12.tgz",
+ "integrity": "sha512-p/5w3pMih3JVT6u7g04KXgSZr6HDsQXyeWZkIe0+r71dPOlcKyUooe9/feTc8BWpjha3rUOkqQ7+JXZObwvYoQ==",
"dependencies": {
- "@firebase/app-check": "0.8.4",
+ "@firebase/app-check": "0.8.5",
"@firebase/app-check-types": "0.5.2",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2476,37 +2479,40 @@
},
"node_modules/@firebase/app-check-interop-types": {
"version": "0.3.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz",
+ "integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ=="
},
"node_modules/@firebase/app-check-types": {
"version": "0.5.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.2.tgz",
+ "integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA=="
},
"node_modules/@firebase/app-compat": {
- "version": "0.2.35",
- "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.35.tgz",
- "integrity": "sha512-vgay/WRjeH0r97/Q6L6df2CMx7oyNFDsE5yPQ9oR1G+zx2eT0s8vNNh0WlKqQxUEWaOLRnXhQ8gy7uu0cBgTRg==",
+ "version": "0.2.36",
+ "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.36.tgz",
+ "integrity": "sha512-qsf+pllpgy1IGe2f5vfenOHSX8Cs58sVR5L6h/zBlNy9Yo54B2jy61KxLpSOgyRZb18IlnLLGjo7VtGU1CHvHA==",
"dependencies": {
- "@firebase/app": "0.10.5",
- "@firebase/component": "0.6.7",
+ "@firebase/app": "0.10.6",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/app-types": {
"version": "0.9.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.2.tgz",
+ "integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ=="
},
"node_modules/@firebase/auth-compat": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.9.tgz",
- "integrity": "sha512-RX8Zh/3zz2CsVbmYfgHkfUm4fAEPCl+KHVIImNygV5jTGDF6oKOhBIpf4Yigclyu8ESQKZ4elyN0MBYm9/7zGw==",
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.10.tgz",
+ "integrity": "sha512-epDhgNIXmhl9DPuTW9Ec5NDJJKMFIdXBXiQI9O0xNHveow/ETtBCY86srzF7iCacqsd30CcpLwwXlhk8Y19Olg==",
"dependencies": {
- "@firebase/auth": "1.7.4",
+ "@firebase/auth": "1.7.5",
"@firebase/auth-types": "0.12.2",
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -2515,13 +2521,13 @@
}
},
"node_modules/@firebase/auth-compat/node_modules/@firebase/auth": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.4.tgz",
- "integrity": "sha512-d2Fw17s5QesojwebrA903el20Li9/YGgkoOGJjagM4I1qAT36APa/FcZ+OX86KxbYKCtQKTMqraU8pxG7C2JWA==",
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.5.tgz",
+ "integrity": "sha512-DMFR1OA/f1/voeuFbSORg9AP36pMgOoSb/DRgiDalLmIJsDTlQNMCu+givjMP4s/XL85+tBk2MerYnK/AscJjw==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -2537,7 +2543,8 @@
},
"node_modules/@firebase/auth-interop-types": {
"version": "0.2.3",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz",
+ "integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ=="
},
"node_modules/@firebase/auth-types": {
"version": "0.12.2",
@@ -2549,55 +2556,59 @@
}
},
"node_modules/@firebase/component": {
- "version": "0.6.7",
- "license": "Apache-2.0",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.8.tgz",
+ "integrity": "sha512-LcNvxGLLGjBwB0dJUsBGCej2fqAepWyBubs4jt1Tiuns7QLbXHuyObZ4aMeBjZjWx4m8g1LoVI9QFpSaq/k4/g==",
"dependencies": {
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database": {
- "version": "1.0.5",
- "license": "Apache-2.0",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.6.tgz",
+ "integrity": "sha512-nrexUEG/fpVlHtWKkyfhTC3834kZ1WS7voNyqbBsBCqHXQOvznN5Z0L3nxBqdXSJyltNAf4ndFlQqm5gZiEczQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
"@firebase/auth-interop-types": "0.2.3",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"faye-websocket": "0.11.4",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database-compat": {
- "version": "1.0.5",
- "license": "Apache-2.0",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.6.tgz",
+ "integrity": "sha512-1OGA0sLY47mkXjhICCrUTXEYFnSSXoiXWm1SHsN62b+Lzs5aKA3aWTjTUmYIoK93kDAMPkYpulSv8jcbH4Hwew==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/database": "1.0.5",
- "@firebase/database-types": "1.0.3",
+ "@firebase/component": "0.6.8",
+ "@firebase/database": "1.0.6",
+ "@firebase/database-types": "1.0.4",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/database-types": {
- "version": "1.0.3",
- "license": "Apache-2.0",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.4.tgz",
+ "integrity": "sha512-mz9ZzbH6euFXbcBo+enuJ36I5dR5w+enJHHjy9Y5ThCdKUseqfDjW3vCp1YxE9zygFCSjJJ/z1cQ+zodvUcwPQ==",
"dependencies": {
"@firebase/app-types": "0.9.2",
- "@firebase/util": "1.9.6"
+ "@firebase/util": "1.9.7"
}
},
"node_modules/@firebase/firestore": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.3.tgz",
- "integrity": "sha512-d/+N2iUsiJ/Dc7fApdpdmmTXzwuTCromsdA1lKwYfZtMIOd1fI881NSLwK2wV4I38wkLnvfKJUV6WpU1f3/ONg==",
+ "version": "4.6.4",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.4.tgz",
+ "integrity": "sha512-vk2MoH5HxYEhiNg1l+yBXq1Fkhue/11bFg4HdlTv6BJHcTnnAj2a+/afPpatcW4MOdYA3Tv+d5nGzWbbOC1SHw==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
- "@firebase/webchannel-wrapper": "1.0.0",
+ "@firebase/util": "1.9.7",
+ "@firebase/webchannel-wrapper": "1.0.1",
"@grpc/grpc-js": "~1.9.0",
"@grpc/proto-loader": "^0.7.8",
"tslib": "^2.1.0",
@@ -2611,14 +2622,14 @@
}
},
"node_modules/@firebase/firestore-compat": {
- "version": "0.3.32",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.32.tgz",
- "integrity": "sha512-at71mwK7a/mUXH0OgyY0+gUzedm/EUydDFYSFsBoO8DYowZ23Mgd6P4Rzq/Ll3zI/3xJN7LGe7Qp4iE/V/3Arg==",
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.33.tgz",
+ "integrity": "sha512-i42a2l31N95CwYEB7zmfK0FS1mrO6pwOLwxavCrwu1BCFrVVVQhUheTPIda/iGguK/2Nog0RaIR1bo7QkZEz3g==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/firestore": "4.6.3",
+ "@firebase/component": "0.6.8",
+ "@firebase/firestore": "4.6.4",
"@firebase/firestore-types": "3.0.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2635,14 +2646,15 @@
}
},
"node_modules/@firebase/functions": {
- "version": "0.11.5",
- "license": "Apache-2.0",
+ "version": "0.11.6",
+ "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.6.tgz",
+ "integrity": "sha512-GPfIBPtpwQvsC7SQbgaUjLTdja0CsNwMoKSgrzA1FGGRk4NX6qO7VQU6XCwBiAFWbpbQex6QWkSMsCzLx1uibQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
"@firebase/auth-interop-types": "0.2.3",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/messaging-interop-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -2651,13 +2663,14 @@
}
},
"node_modules/@firebase/functions-compat": {
- "version": "0.3.11",
- "license": "Apache-2.0",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.12.tgz",
+ "integrity": "sha512-r3XUb5VlITWpML46JymfJPkK6I9j4SNlO7qWIXUc0TUmkv0oAfVoiIt1F83/NuMZXaGr4YWA/794nVSy4GV8tw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/functions": "0.11.5",
+ "@firebase/component": "0.6.8",
+ "@firebase/functions": "0.11.6",
"@firebase/functions-types": "0.6.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2666,14 +2679,16 @@
},
"node_modules/@firebase/functions-types": {
"version": "0.6.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.2.tgz",
+ "integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w=="
},
"node_modules/@firebase/installations": {
- "version": "0.6.7",
- "license": "Apache-2.0",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.8.tgz",
+ "integrity": "sha512-57V374qdb2+wT5v7+ntpLXBjZkO6WRgmAUbVkRfFTM/4t980p0FesbqTAcOIiM8U866UeuuuF8lYH70D3jM/jQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
},
@@ -2682,13 +2697,14 @@
}
},
"node_modules/@firebase/installations-compat": {
- "version": "0.2.7",
- "license": "Apache-2.0",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.8.tgz",
+ "integrity": "sha512-pI2q8JFHB7yIq/szmhzGSWXtOvtzl6tCUmyykv5C8vvfOVJUH6mP4M4iwjbK8S1JotKd/K70+JWyYlxgQ0Kpyw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/installations-types": "0.5.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2697,26 +2713,29 @@
},
"node_modules/@firebase/installations-types": {
"version": "0.5.2",
- "license": "Apache-2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.2.tgz",
+ "integrity": "sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==",
"peerDependencies": {
"@firebase/app-types": "0.x"
}
},
"node_modules/@firebase/logger": {
"version": "0.4.2",
- "license": "Apache-2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.2.tgz",
+ "integrity": "sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/messaging": {
- "version": "0.12.9",
- "license": "Apache-2.0",
+ "version": "0.12.10",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.10.tgz",
+ "integrity": "sha512-fGbxJPKpl2DIKNJGhbk4mYPcM+qE2gl91r6xPoiol/mN88F5Ym6UeRdMVZah+pijh9WxM55alTYwXuW40r1Y2Q==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/messaging-interop-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"idb": "7.1.1",
"tslib": "^2.1.0"
},
@@ -2725,12 +2744,13 @@
}
},
"node_modules/@firebase/messaging-compat": {
- "version": "0.2.9",
- "license": "Apache-2.0",
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.10.tgz",
+ "integrity": "sha512-FXQm7rcowkDm8kFLduHV35IRYCRo+Ng0PIp/t1+EBuEbyplaKkGjZ932pE+owf/XR+G/60ku2QRBptRGLXZydg==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/messaging": "0.12.9",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/messaging": "0.12.10",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2739,16 +2759,18 @@
},
"node_modules/@firebase/messaging-interop-types": {
"version": "0.2.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.2.tgz",
+ "integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA=="
},
"node_modules/@firebase/performance": {
- "version": "0.6.7",
- "license": "Apache-2.0",
+ "version": "0.6.8",
+ "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.8.tgz",
+ "integrity": "sha512-F+alziiIZ6Yn8FG47mxwljq+4XkgkT2uJIFRlkyViUQRLzrogaUJW6u/+6ZrePXnouKlKIwzqos3PVJraPEcCA==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2756,14 +2778,15 @@
}
},
"node_modules/@firebase/performance-compat": {
- "version": "0.2.7",
- "license": "Apache-2.0",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.8.tgz",
+ "integrity": "sha512-o7TFClRVJd3VIBoY7KZQqtCeW0PC6v9uBzM6Lfw3Nc9D7hM6OonqecYvh7NwJ6R14k+xM27frLS4BcCvFHKw2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/performance": "0.6.7",
+ "@firebase/performance": "0.6.8",
"@firebase/performance-types": "0.2.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2772,16 +2795,18 @@
},
"node_modules/@firebase/performance-types": {
"version": "0.2.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.2.tgz",
+ "integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA=="
},
"node_modules/@firebase/remote-config": {
- "version": "0.4.7",
- "license": "Apache-2.0",
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.8.tgz",
+ "integrity": "sha512-AMLqe6wfIRnjc6FkCWOSUjhc1fSTEf8o+cv1NolFvbiJ/tU+TqN4pI7pT+MIKQzNiq5fxLehkOx+xtAQBxPJKQ==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/installations": "0.6.7",
+ "@firebase/component": "0.6.8",
+ "@firebase/installations": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2789,14 +2814,15 @@
}
},
"node_modules/@firebase/remote-config-compat": {
- "version": "0.2.7",
- "license": "Apache-2.0",
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.8.tgz",
+ "integrity": "sha512-UxSFOp6dzFj2AHB8Bq/BYtbq5iFyizKx4Rd6WxAdaKYM8cnPMeK+l2v+Oogtjae+AeyHRI+MfL2acsfVe5cd2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/remote-config": "0.4.7",
+ "@firebase/remote-config": "0.4.8",
"@firebase/remote-config-types": "0.3.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2805,14 +2831,16 @@
},
"node_modules/@firebase/remote-config-types": {
"version": "0.3.2",
- "license": "Apache-2.0"
+ "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.2.tgz",
+ "integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA=="
},
"node_modules/@firebase/storage": {
- "version": "0.12.5",
- "license": "Apache-2.0",
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.6.tgz",
+ "integrity": "sha512-Zgb9WuehJxzhj7pGXUvkAEaH+3HvLjD9xSZ9nepuXf5f8378xME7oGJtREr/RnepdDA5YW0XIxe0QQBNHpe1nw==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/util": "1.9.6",
+ "@firebase/component": "0.6.8",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -2821,13 +2849,14 @@
}
},
"node_modules/@firebase/storage-compat": {
- "version": "0.3.8",
- "license": "Apache-2.0",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.9.tgz",
+ "integrity": "sha512-WWgAp5bTW961oIsCc9+98m4MIVKpEqztAlIngfHfwO/x3DYoBPRl/awMRG3CAXyVxG+7B7oHC5IsnqM+vTwx2A==",
"dependencies": {
- "@firebase/component": "0.6.7",
- "@firebase/storage": "0.12.5",
+ "@firebase/component": "0.6.8",
+ "@firebase/storage": "0.12.6",
"@firebase/storage-types": "0.8.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"peerDependencies": {
@@ -2836,28 +2865,30 @@
},
"node_modules/@firebase/storage-types": {
"version": "0.8.2",
- "license": "Apache-2.0",
+ "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.2.tgz",
+ "integrity": "sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==",
"peerDependencies": {
"@firebase/app-types": "0.x",
"@firebase/util": "1.x"
}
},
"node_modules/@firebase/util": {
- "version": "1.9.6",
- "license": "Apache-2.0",
+ "version": "1.9.7",
+ "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.7.tgz",
+ "integrity": "sha512-fBVNH/8bRbYjqlbIhZ+lBtdAAS4WqZumx03K06/u7fJSpz1TGjEMm1ImvKD47w+xaFKIP2ori6z8BrbakRfjJA==",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/@firebase/vertexai-preview": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.2.tgz",
- "integrity": "sha512-NOOL63kFQRq45ioi5P+hlqj/4LNmvn1URhGjQdvyV54c1Irvoq26aW861PRRLjrSMIeNeiLtCLD5pe+ediepAg==",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.3.tgz",
+ "integrity": "sha512-KVtUWLp+ScgiwkDKAvNkVucAyhLVQp6C6lhnVEuIg4mWhWcS3oerjAeVhZT4uNofKwWxRsOaB2Yec7DMTXlQPQ==",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.2",
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0"
},
"engines": {
@@ -2869,9 +2900,9 @@
}
},
"node_modules/@firebase/webchannel-wrapper": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.0.tgz",
- "integrity": "sha512-zuWxyfXNbsKbm96HhXzainONPFqRcoZblQ++e9cAIGUuHfl2cFSBzW01jtesqWG/lqaUyX3H8O1y9oWboGNQBA=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.1.tgz",
+ "integrity": "sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ=="
},
"node_modules/@floating-ui/core": {
"version": "1.6.1",
@@ -9085,47 +9116,47 @@
}
},
"node_modules/firebase": {
- "version": "10.12.2",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.12.2.tgz",
- "integrity": "sha512-ZxEdtSvP1I9su1yf32D8TIdgxtPgxwr6z3jYAR1TXS/t+fVfpoPc/N1/N2bxOco9mNjUoc+od34v5Fn4GeKs6Q==",
- "dependencies": {
- "@firebase/analytics": "0.10.4",
- "@firebase/analytics-compat": "0.2.10",
- "@firebase/app": "0.10.5",
- "@firebase/app-check": "0.8.4",
- "@firebase/app-check-compat": "0.3.11",
- "@firebase/app-compat": "0.2.35",
+ "version": "10.12.3",
+ "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.12.3.tgz",
+ "integrity": "sha512-dO2cQ8eP6RnM2wcGzbxnoljjjMBf1suUrHYFftjSpbPn/8bEx959cwTRDHqBx3MwSzNsg6zZV/wiWydJPhUKgw==",
+ "dependencies": {
+ "@firebase/analytics": "0.10.5",
+ "@firebase/analytics-compat": "0.2.11",
+ "@firebase/app": "0.10.6",
+ "@firebase/app-check": "0.8.5",
+ "@firebase/app-check-compat": "0.3.12",
+ "@firebase/app-compat": "0.2.36",
"@firebase/app-types": "0.9.2",
- "@firebase/auth": "1.7.4",
- "@firebase/auth-compat": "0.5.9",
- "@firebase/database": "1.0.5",
- "@firebase/database-compat": "1.0.5",
- "@firebase/firestore": "4.6.3",
- "@firebase/firestore-compat": "0.3.32",
- "@firebase/functions": "0.11.5",
- "@firebase/functions-compat": "0.3.11",
- "@firebase/installations": "0.6.7",
- "@firebase/installations-compat": "0.2.7",
- "@firebase/messaging": "0.12.9",
- "@firebase/messaging-compat": "0.2.9",
- "@firebase/performance": "0.6.7",
- "@firebase/performance-compat": "0.2.7",
- "@firebase/remote-config": "0.4.7",
- "@firebase/remote-config-compat": "0.2.7",
- "@firebase/storage": "0.12.5",
- "@firebase/storage-compat": "0.3.8",
- "@firebase/util": "1.9.6",
- "@firebase/vertexai-preview": "0.0.2"
+ "@firebase/auth": "1.7.5",
+ "@firebase/auth-compat": "0.5.10",
+ "@firebase/database": "1.0.6",
+ "@firebase/database-compat": "1.0.6",
+ "@firebase/firestore": "4.6.4",
+ "@firebase/firestore-compat": "0.3.33",
+ "@firebase/functions": "0.11.6",
+ "@firebase/functions-compat": "0.3.12",
+ "@firebase/installations": "0.6.8",
+ "@firebase/installations-compat": "0.2.8",
+ "@firebase/messaging": "0.12.10",
+ "@firebase/messaging-compat": "0.2.10",
+ "@firebase/performance": "0.6.8",
+ "@firebase/performance-compat": "0.2.8",
+ "@firebase/remote-config": "0.4.8",
+ "@firebase/remote-config-compat": "0.2.8",
+ "@firebase/storage": "0.12.6",
+ "@firebase/storage-compat": "0.3.9",
+ "@firebase/util": "1.9.7",
+ "@firebase/vertexai-preview": "0.0.3"
}
},
"node_modules/firebase/node_modules/@firebase/auth": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.4.tgz",
- "integrity": "sha512-d2Fw17s5QesojwebrA903el20Li9/YGgkoOGJjagM4I1qAT36APa/FcZ+OX86KxbYKCtQKTMqraU8pxG7C2JWA==",
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.5.tgz",
+ "integrity": "sha512-DMFR1OA/f1/voeuFbSORg9AP36pMgOoSb/DRgiDalLmIJsDTlQNMCu+givjMP4s/XL85+tBk2MerYnK/AscJjw==",
"dependencies": {
- "@firebase/component": "0.6.7",
+ "@firebase/component": "0.6.8",
"@firebase/logger": "0.4.2",
- "@firebase/util": "1.9.6",
+ "@firebase/util": "1.9.7",
"tslib": "^2.1.0",
"undici": "5.28.4"
},
@@ -18643,9 +18674,9 @@
}
},
"node_modules/protobufjs": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz",
- "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz",
+ "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==",
"hasInstallScript": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
@@ -21378,7 +21409,8 @@
},
"node_modules/undici": {
"version": "5.28.4",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
+ "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
diff --git a/package.json b/package.json
index 09eca39..2d68cfa 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"bootstrap-icons": "^1.11.3",
"cropperjs": "^1.6.2",
"dompurify": "^3.1.5",
- "firebase": "^10.12.2",
+ "firebase": "^10.12.3",
"image-conversion": "^2.1.1",
"install": "^0.13.0",
"marked": "^13.0.1",
diff --git a/src/components/EventDetails/EventDetails.css b/src/components/EventDetails/EventDetails.css
index 12637d9..3e1c846 100644
--- a/src/components/EventDetails/EventDetails.css
+++ b/src/components/EventDetails/EventDetails.css
@@ -9,22 +9,20 @@
.card-image {
pointer-events: none;
border-radius: 10px 10px 10px 10px;
- /* height: 450px; */
object-fit: cover;
}
@media (min-width: 1024px) {
- .card_image {
+ .card-image {
height: 450px;
}
}
@media (min-width: 768px) {
- .card_image {
+ .card-image {
height: 200px;
}
}
-
@media (max-width: 767px) {
- .card_image {
+ .card-image {
height: 150px;
}
}
diff --git a/src/components/EventDetails/EventDetails.tsx b/src/components/EventDetails/EventDetails.tsx
index 8b49075..a6a1758 100644
--- a/src/components/EventDetails/EventDetails.tsx
+++ b/src/components/EventDetails/EventDetails.tsx
@@ -1,31 +1,18 @@
import React, { useEffect, useState } from "react";
-import {
- Container,
- Row,
- Col,
- Button,
- Badge,
- Card,
- FormControl,
- InputGroup,
- Spinner,
-} from "react-bootstrap";
-import { Image as BootstrapImage } from "react-bootstrap";
-import "./EventDetails.css";
-import bannerImage from "../image_assets/bannerImage.png";
-import { Link, useParams } from "react-router-dom";
+import { Container, Row, Col, Button, Card, FormControl, InputGroup, Spinner } from "react-bootstrap";
+import { useParams } from "react-router-dom";
import { ref, get, update } from "firebase/database";
-import { Zoom, toast } from "react-toastify";
import { database } from "../../firebaseConf";
import PageTitle from "../../utils/PageTitle";
import moment from "moment";
+import "./EventDetails.css";
const EventDetails = () => {
const { id } = useParams();
const userUid = localStorage.getItem("userUid");
const [isHost, setIsHost] = useState(false);
const [isLoading, setIsLoading] = useState(true);
- const [banner_Image, setBannerImage] = useState(bannerImage);
+ const [banner_Image, setBannerImage] = useState("");
const [title, setTitle] = useState("");
const [description, setDescription] = useState("");
const [tags, setTags] = useState([]);
@@ -35,21 +22,23 @@ const EventDetails = () => {
const [hostName, setHostName] = useState("");
const [lastEdited, setLastEdited] = useState(null);
const [registeredUsers, setRegisteredUsers] = useState([]);
- const [googleMeetLink, setGoogleMeetLink] = useState(
- "Nothing yet, ask the host to add one"
- );
+ const [googleMeetLink, setGoogleMeetLink] = useState("Nothing yet, ask the host to add one");
useEffect(() => {
+
+ if (!userUid) {
+ window.location.href = "#/dashboard";
+
if (userUid == null) {
window.location.href = "/dashboard";
toast.warn("You are not signed in", { transition: Zoom });
+
}
const fetchData = async () => {
- const eventRef = ref(database, "events/" + id);
+ const eventRef = ref(database, `events/${id}`);
const snapshot = await get(eventRef);
if (snapshot.exists()) {
const eventData = snapshot.val();
-
setBannerImage(eventData.banner);
setTitle(eventData.title);
setDescription(eventData.description);
@@ -66,6 +55,10 @@ const EventDetails = () => {
if (eventData.registrants) {
setRegisteredUsers(eventData.registrants.split(","));
+ if (!eventData.registrants.split(",").includes(userUid) && userUid !== eventData.host) {
+ window.location.href = "#/dashboard";
+
+
if (
(!eventData.registrants.split(",").includes(userUid) ||
userUid == null) &&
@@ -75,25 +68,21 @@ const EventDetails = () => {
toast.warn("You are not registered for this event", {
transition: Zoom,
});
+
}
}
if (eventData.googleMeetLink) {
setGoogleMeetLink(eventData.googleMeetLink);
}
setIsLoading(false);
- } else {
- toast.error("Event not found", { transition: Zoom });
}
};
fetchData();
}, [id, userUid]);
const addMeetingLink = () => {
- const eventRef = ref(database, "events/" + id);
- update(eventRef, {
- googleMeetLink: googleMeetLink,
- });
- toast.success("Google Meet link added successfully", { transition: Zoom });
+ const eventRef = ref(database, `events/${id}`);
+ update(eventRef, { googleMeetLink });
};
return (
@@ -101,12 +90,7 @@ const EventDetails = () => {