From 6743126001fa0b71c214687f862811a006767ac2 Mon Sep 17 00:00:00 2001 From: CosmosMil <107584409+CosmosMil@users.noreply.github.com> Date: Wed, 28 Jun 2023 15:28:05 +0200 Subject: [PATCH 01/24] independent message component --- .../src/components/chat/main-chat/message.tsx | 323 ++++++++++++++++ .../src/pages/main-chat/[chatId].tsx | 269 +------------ apps/codac-quasseln/tsconfig.json | 3 +- pnpm-lock.yaml | 355 +++--------------- 4 files changed, 375 insertions(+), 575 deletions(-) create mode 100644 apps/codac-quasseln/src/components/chat/main-chat/message.tsx diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx new file mode 100644 index 00000000..3b7b88b0 --- /dev/null +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -0,0 +1,323 @@ +import { useState } from "react" +import React from 'react' +import { useAuth } from "#/contexts/authContext"; +import { gql, useQuery } from "@apollo/client"; + +import { formatDate } from "#/utils/api-helpers"; + + + +// const [deleteModal, setDeleteModal] = useState(false); +// const [optionsModal, setOptionsModal] = useState(false); +// const toogleDeleteModal = () => { +// setDeleteModal(!deleteModal); +// }; +// const toogleOptionsModal = () => { +// setOptionsModal(!optionsModal); +// }; +const Message = ({ message }: { message: any }) => { + + + console.log("message.id: ", message.id); + + const getSingleMessage = gql` + query GetMessageById($id: ID) { + message(id: $id ){ + data{ + id + attributes{ + body + } + } + } + + } + `; + + + + const { loading, error, data } = useQuery(getSingleMessage, { + variables: { id: message.id }, + }); + + console.log("data: ", data); + + const { user } = useAuth(); + + return ( +
+
+ {/*
+ + + {user?.username !== data.author.username ? ( + {data.attributes.author.data?.attributes.username} + ) : ( + me + )} + + {formatDate(data.attributes.createdAt)} +
*/} + +
+ {/* + */} +
+
+
+

{data && data.message.data.attributes?.body}

+
+ {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} + {/* {optionsModal && ( +
+
+
{ + e.stopPropagation(); + }} + style={{ + position: "relative", + zIndex: "1000", + display: "flex", + flexDirection: "column", + width: "35%", + height: "25%", + border: "white solid 3px", + borderRadius: "10px", + backgroundColor: "white", + margin: "auto", + marginTop: "200px", + }} + > + +
{ + updateMessage(e, message); + }} + > + + + + +
+
+
+
+ )} */} + + {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} + {/* {deleteModal && ( +
+
+
{ + e.stopPropagation(); + }} + style={{ + position: "relative", + zIndex: "1000", + display: "flex", + flexDirection: "column", + width: "35%", + height: "25%", + border: "white solid 3px", + borderRadius: "10px", + backgroundColor: "white", + margin: "auto", + marginTop: "200px", + }} + > + +
{ + deleteMessage(e, message); + }} + > +
+

Do you want to delete your message?

+
+
+ + + +
+
+
+
+
+ )} */} +
+ + ) +} + +export default Message \ No newline at end of file diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index b1aa3f37..52aa4ccc 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -3,6 +3,7 @@ import { gql, useQuery, useMutation } from "@apollo/client"; import React, { FormEvent, useState } from "react"; import { useAuth } from "#/contexts/authContext"; import { timeStamp } from "console"; +import Message from "#/components/chat/main-chat/message"; // This query is to find the chatroom.... NOT all the messages... const getSingleChat = gql` @@ -325,274 +326,8 @@ const SingleChat = (props: Props) => { {allMessages && allMessages?.conversation?.data.attributes?.messages?.data?.map((message: any) => { return ( -
-
-
- {/*

id: {message.id}

*/} - - {user?.username !== message.attributes.author.data?.attributes.username ? ( - {message.attributes.author.data?.attributes.username} - ) : ( - me - )} - {formatDate(message.attributes.createdAt)} -
- -
- - -
-
-
-

{message.attributes.body}

-
- {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} - {optionsModal && ( -
-
-
{ - e.stopPropagation(); - }} - style={{ - position: "relative", - zIndex: "1000", - display: "flex", - flexDirection: "column", - width: "35%", - height: "25%", - border: "white solid 3px", - borderRadius: "10px", - backgroundColor: "white", - margin: "auto", - marginTop: "200px", - }} - > - {/*
{ deleteMessage(e, message) }} > aquí viene la funcion!! */} - { - updateMessage(e, message); - }} - > - - - - -
-
-
-
- )} - - {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} - {deleteModal && ( -
-
-
{ - e.stopPropagation(); - }} - style={{ - position: "relative", - zIndex: "1000", - display: "flex", - flexDirection: "column", - width: "35%", - height: "25%", - border: "white solid 3px", - borderRadius: "10px", - backgroundColor: "white", - margin: "auto", - marginTop: "200px", - }} - > - {/* onSubmit={deleteMessage} */} - {/* {( - - -
- -
-
-
- )} - + ); })} diff --git a/apps/codac-quasseln/tsconfig.json b/apps/codac-quasseln/tsconfig.json index 847ef386..d19bdd55 100644 --- a/apps/codac-quasseln/tsconfig.json +++ b/apps/codac-quasseln/tsconfig.json @@ -10,7 +10,8 @@ "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "esModuleInterop": true, - "incremental": true + "incremental": true, + "noEmit": true }, "include": [ "next-env.d.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54ac5cac..4f631f0d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,9 +1,5 @@ lockfileVersion: '6.0' -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - importers: .: @@ -76,7 +72,7 @@ importers: version: 29.1.0(@babel/core@7.22.5)(esbuild@0.17.19)(jest@29.5.0)(typescript@5.0.4) turbo: specifier: latest - version: 1.10.6 + version: 1.10.3 typescript: specifier: ^5.0.4 version: 5.0.4 @@ -94,7 +90,7 @@ importers: version: link:../../packages/codac-ui next: specifier: 13.4.1 - version: 13.4.1(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) nookies: specifier: ^2.5.2 version: 2.5.2 @@ -149,7 +145,7 @@ importers: version: link:../../packages/tailwind-config tailwindcss: specifier: ^3.2.4 - version: 3.3.2 + version: 3.3.2(ts-node@10.9.1) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -164,7 +160,7 @@ importers: version: link:../../packages/codac-ui next: specifier: 13.4.1 - version: 13.4.1(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: ^4.22.1 version: 4.22.1(next@13.4.1)(react-dom@18.2.0)(react@18.2.0) @@ -219,7 +215,7 @@ importers: version: link:../../packages/tailwind-config tailwindcss: specifier: ^3.2.4 - version: 3.3.2 + version: 3.3.2(ts-node@10.9.1) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -243,7 +239,7 @@ importers: version: link:../../packages/codac-ui next: specifier: 13.4.1 - version: 13.4.1(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) nookies: specifier: ^2.5.2 version: 2.5.2 @@ -298,7 +294,7 @@ importers: version: link:../../packages/tailwind-config tailwindcss: specifier: ^3.2.4 - version: 3.3.2 + version: 3.3.2(ts-node@10.9.1) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -310,7 +306,7 @@ importers: devDependencies: '@apollo/client': specifier: ^3.7.1 - version: 3.7.1(graphql@16.6.0) + version: 3.7.1(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) '@graphql-codegen/add': specifier: ^3.2.1 version: 3.2.1(graphql@16.6.0) @@ -600,7 +596,7 @@ importers: version: 5.10.3(eslint@8.40.0)(typescript@5.1.3) next: specifier: 13.4.1 - version: 13.4.1(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) devDependencies: eslint: specifier: 8.40.0 @@ -619,7 +615,7 @@ importers: version: 29.5.0 next: specifier: 13.4.1 - version: 13.4.1(react-dom@18.2.0)(react@18.2.0) + version: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) packages/next-config: devDependencies: @@ -643,7 +639,7 @@ importers: version: 8.4.23 tailwindcss: specifier: 3.3.2 - version: 3.3.2 + version: 3.3.2(ts-node@10.9.1) packages/tsconfig: {} @@ -665,40 +661,6 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 - /@apollo/client@3.7.1(graphql@16.6.0): - resolution: {integrity: sha512-xu5M/l7p9gT9Fx7nF3AQivp0XukjB7TM7tOd5wifIpI8RskYveL4I+rpTijzWrnqCPZabkbzJKH7WEAKdctt9w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - '@wry/context': 0.7.3 - '@wry/equality': 0.5.6 - '@wry/trie': 0.3.2 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) - hoist-non-react-statics: 3.3.2 - optimism: 0.16.2 - prop-types: 15.8.1 - response-iterator: 0.2.6 - symbol-observable: 4.0.0 - ts-invariant: 0.10.3 - tslib: 2.5.3 - zen-observable-ts: 1.2.5 - dev: true - /@apollo/client@3.7.1(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xu5M/l7p9gT9Fx7nF3AQivp0XukjB7TM7tOd5wifIpI8RskYveL4I+rpTijzWrnqCPZabkbzJKH7WEAKdctt9w==} peerDependencies: @@ -1058,7 +1020,6 @@ packages: /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.21.8): resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} @@ -1516,7 +1477,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} @@ -1525,7 +1485,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -1543,7 +1502,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.8): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -1657,7 +1615,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1675,7 +1632,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} @@ -1685,7 +1641,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1703,7 +1658,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -1721,7 +1675,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -1739,7 +1692,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -1757,7 +1709,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -1775,7 +1726,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -1793,7 +1743,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.8): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -1833,7 +1782,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.5): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} @@ -1843,7 +1791,6 @@ packages: dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -3210,7 +3157,6 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true /@chevrotain/cst-dts-gen@10.5.0: resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} @@ -3415,7 +3361,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} @@ -4384,12 +4329,10 @@ packages: get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - dev: true /@jest/console@29.5.0: resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} @@ -4401,7 +4344,6 @@ packages: jest-message-util: 29.5.0 jest-util: 29.5.0 slash: 3.0.0 - dev: true /@jest/core@29.5.0(ts-node@10.9.1): resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} @@ -4443,7 +4385,6 @@ packages: transitivePeerDependencies: - supports-color - ts-node - dev: true /@jest/environment@29.5.0: resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} @@ -4453,14 +4394,12 @@ packages: '@jest/types': 29.5.0 '@types/node': 18.16.6 jest-mock: 29.5.0 - dev: true /@jest/expect-utils@29.5.0: resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 - dev: true /@jest/expect@29.5.0: resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} @@ -4470,7 +4409,6 @@ packages: jest-snapshot: 29.5.0 transitivePeerDependencies: - supports-color - dev: true /@jest/fake-timers@29.5.0: resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} @@ -4482,7 +4420,6 @@ packages: jest-message-util: 29.5.0 jest-mock: 29.5.0 jest-util: 29.5.0 - dev: true /@jest/globals@29.5.0: resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} @@ -4494,7 +4431,6 @@ packages: jest-mock: 29.5.0 transitivePeerDependencies: - supports-color - dev: true /@jest/reporters@29.5.0: resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} @@ -4531,14 +4467,12 @@ packages: v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color - dev: true /@jest/schemas@29.4.3: resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.25.24 - dev: true /@jest/source-map@29.4.3: resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} @@ -4547,7 +4481,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 callsites: 3.1.0 graceful-fs: 4.2.11 - dev: true /@jest/test-result@29.5.0: resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} @@ -4557,7 +4490,6 @@ packages: '@jest/types': 29.5.0 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 - dev: true /@jest/test-sequencer@29.5.0: resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} @@ -4567,7 +4499,6 @@ packages: graceful-fs: 4.2.11 jest-haste-map: 29.5.0 slash: 3.0.0 - dev: true /@jest/transform@29.5.0: resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} @@ -4590,7 +4521,6 @@ packages: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - dev: true /@jest/types@27.5.1: resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} @@ -4613,7 +4543,6 @@ packages: '@types/node': 18.16.6 '@types/yargs': 17.0.24 chalk: 4.1.2 - dev: true /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -4630,7 +4559,6 @@ packages: /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} @@ -4660,7 +4588,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /@juggle/resize-observer@3.4.0: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} @@ -5190,19 +5117,16 @@ packages: /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} - dev: true /@sinonjs/commons@3.0.0: resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 - dev: true /@sinonjs/fake-timers@10.2.0: resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==} dependencies: '@sinonjs/commons': 3.0.0 - dev: true /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} @@ -7664,7 +7588,7 @@ packages: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.3.2 + tailwindcss: 3.3.2(ts-node@10.9.1) dev: true /@tailwindcss/typography@0.5.9(tailwindcss@3.3.2): @@ -7676,7 +7600,7 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.2 + tailwindcss: 3.3.2(ts-node@10.9.1) dev: true /@testing-library/dom@8.20.0: @@ -7761,19 +7685,15 @@ packages: /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true /@tweenjs/tween.js@18.6.4: resolution: {integrity: sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==} @@ -7803,26 +7723,22 @@ packages: '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 - dev: true /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.22.5 - dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.22.5 '@babel/types': 7.22.5 - dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: '@babel/types': 7.22.5 - dev: true /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} @@ -7926,7 +7842,6 @@ packages: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: '@types/node': 18.16.6 - dev: true /@types/hast@2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} @@ -7939,19 +7854,16 @@ packages: /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 - dev: true /@types/istanbul-reports@3.0.1: resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 - dev: true /@types/jest@29.5.1: resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} @@ -8038,7 +7950,6 @@ packages: /@types/node@18.16.6: resolution: {integrity: sha512-N7KINmeB8IN3vRR8dhgHEp+YpWvGFcpDoh5XZ8jB5a00AdFKCKEyyGTOPTddUf4JqU1ZKTVxkOxakDvchNVI2Q==} - dev: true /@types/node@20.3.1: resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} @@ -8069,7 +7980,6 @@ packages: /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true /@types/pretty-hrtime@1.0.1: resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} @@ -8149,7 +8059,6 @@ packages: /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true /@types/stats.js@0.17.0: resolution: {integrity: sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==} @@ -8190,7 +8099,6 @@ packages: /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true /@types/yargs@16.0.5: resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} @@ -8202,7 +8110,6 @@ packages: resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: '@types/yargs-parser': 21.0.0 - dev: true /@typescript-eslint/eslint-plugin@5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@5.1.3): resolution: {integrity: sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==} @@ -8694,7 +8601,6 @@ packages: /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: true /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -8807,7 +8713,6 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} @@ -8855,7 +8760,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true /apollo-upload-client@17.0.0(@apollo/client@3.7.1)(graphql@16.6.0): resolution: {integrity: sha512-pue33bWVbdlXAGFPkgz53TTmxVMrKeQr0mdRcftNY+PoHIdbGZD0hoaXHvO6OePJAkFz7OiCFUf98p1G/9+Ykw==} @@ -8887,7 +8791,6 @@ packages: /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -8897,7 +8800,6 @@ packages: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 - dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -9120,7 +9022,6 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true /babel-loader@9.1.2(@babel/core@7.22.5)(webpack@5.86.0): resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} @@ -9150,7 +9051,6 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true /babel-plugin-jest-hoist@29.5.0: resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} @@ -9160,7 +9060,6 @@ packages: '@babel/types': 7.22.5 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 - dev: true /babel-plugin-named-exports-order@0.0.2: resolution: {integrity: sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==} @@ -9270,7 +9169,6 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) - dev: true /babel-preset-fbjs@3.4.0(@babel/core@7.22.5): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} @@ -9318,7 +9216,6 @@ packages: '@babel/core': 7.22.5 babel-plugin-jest-hoist: 29.5.0 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) - dev: true /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -9524,7 +9421,6 @@ packages: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 - dev: true /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -9532,7 +9428,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} @@ -9647,12 +9542,10 @@ packages: /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - dev: true /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true /camera-controls@2.4.2(three@0.152.2): resolution: {integrity: sha512-blYDPECYFT/4egDMNWqKc2lBrpOfIAjPPRUNVswQELPi8naGBXUvZM3sDJSNuIRaHqid+JKPtlcoZk+Cb+X5qg==} @@ -9759,7 +9652,6 @@ packages: /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - dev: true /character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -9818,7 +9710,6 @@ packages: /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - dev: true /cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} @@ -9829,7 +9720,6 @@ packages: /cjs-module-lexer@1.2.3: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} - dev: true /clean-css@5.3.2: resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} @@ -9916,7 +9806,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true /clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} @@ -9940,11 +9829,9 @@ packages: /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true /collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -10133,7 +10020,6 @@ packages: /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -10260,7 +10146,6 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true /cross-fetch@3.1.6: resolution: {integrity: sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==} @@ -10462,7 +10347,6 @@ packages: /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true /deep-equal@2.2.1: resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==} @@ -10492,7 +10376,6 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - dev: true /default-browser-id@3.0.0: resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} @@ -10601,7 +10484,6 @@ packages: /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - dev: true /detect-package-manager@2.0.1: resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==} @@ -10627,12 +10509,10 @@ packages: /diff-sequences@29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: true /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} @@ -10808,11 +10688,9 @@ packages: /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -10895,7 +10773,6 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true /error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -11254,7 +11131,6 @@ packages: /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -11293,7 +11169,7 @@ packages: eslint: 8.40.0 eslint-import-resolver-node: 0.3.7 eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.40.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) eslint-plugin-react: 7.32.2(eslint@8.40.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.40.0) @@ -11318,7 +11194,7 @@ packages: eslint: 8.42.0 eslint-import-resolver-node: 0.3.7 eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.42.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.42.0) eslint-plugin-react: 7.32.2(eslint@8.42.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.42.0) @@ -11367,7 +11243,7 @@ packages: enhanced-resolve: 5.14.1 eslint: 8.40.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) get-tsconfig: 4.6.0 globby: 13.1.4 is-core-module: 2.12.1 @@ -11391,7 +11267,7 @@ packages: enhanced-resolve: 5.14.1 eslint: 8.42.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) get-tsconfig: 4.6.0 globby: 13.1.4 is-core-module: 2.12.1 @@ -11482,40 +11358,7 @@ packages: doctrine: 2.1.0 eslint: 8.40.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint@8.40.0) - has: 1.0.3 - is-core-module: 2.12.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - semver: 6.3.0 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: false - - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.59.5(eslint@8.42.0)(typescript@5.1.3) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.42.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.40.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -11558,6 +11401,7 @@ packages: '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@5.1.3) '@typescript-eslint/utils': 5.59.9(eslint@8.40.0)(typescript@5.1.3) eslint: 8.40.0 + jest: 29.5.0(@types/node@18.16.6)(ts-node@10.9.1) transitivePeerDependencies: - supports-color - typescript @@ -11900,7 +11744,6 @@ packages: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -11990,7 +11833,6 @@ packages: /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - dev: true /expect@29.5.0: resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} @@ -12001,7 +11843,6 @@ packages: jest-matcher-utils: 29.5.0 jest-message-util: 29.5.0 jest-util: 29.5.0 - dev: true /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} @@ -12118,7 +11959,6 @@ packages: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 - dev: true /fbjs-css-vars@1.0.2: resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} @@ -12235,7 +12075,6 @@ packages: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -12372,7 +12211,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind@1.1.1: @@ -12412,7 +12250,6 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} @@ -12430,7 +12267,6 @@ packages: /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - dev: true /get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} @@ -12913,7 +12749,6 @@ packages: /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} @@ -13111,7 +12946,6 @@ packages: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -13217,7 +13051,6 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -13279,7 +13112,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} @@ -13289,7 +13121,6 @@ packages: /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - dev: true /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} @@ -13533,7 +13364,6 @@ packages: /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} - dev: true /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} @@ -13546,7 +13376,6 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: true /istanbul-lib-report@3.0.0: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} @@ -13555,7 +13384,6 @@ packages: istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 supports-color: 7.2.0 - dev: true /istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} @@ -13566,7 +13394,6 @@ packages: source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true /istanbul-reports@3.1.5: resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} @@ -13574,7 +13401,6 @@ packages: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 - dev: true /its-fine@1.1.1(react@18.2.0): resolution: {integrity: sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==} @@ -13602,7 +13428,6 @@ packages: dependencies: execa: 5.1.1 p-limit: 3.1.0 - dev: true /jest-circus@29.5.0: resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} @@ -13630,7 +13455,6 @@ packages: stack-utils: 2.0.6 transitivePeerDependencies: - supports-color - dev: true /jest-cli@29.5.0(@types/node@18.16.6)(ts-node@10.9.1): resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} @@ -13658,7 +13482,6 @@ packages: - '@types/node' - supports-color - ts-node - dev: true /jest-config@29.5.0(@types/node@18.16.6)(ts-node@10.9.1): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} @@ -13698,7 +13521,6 @@ packages: ts-node: 10.9.1(@types/node@18.16.6)(typescript@5.0.4) transitivePeerDependencies: - supports-color - dev: true /jest-diff@29.5.0: resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} @@ -13708,14 +13530,12 @@ packages: diff-sequences: 29.4.3 jest-get-type: 29.4.3 pretty-format: 29.5.0 - dev: true /jest-docblock@29.4.3: resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 - dev: true /jest-each@29.5.0: resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} @@ -13726,7 +13546,6 @@ packages: jest-get-type: 29.4.3 jest-util: 29.5.0 pretty-format: 29.5.0 - dev: true /jest-environment-jsdom@29.5.0: resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} @@ -13761,12 +13580,10 @@ packages: '@types/node': 18.16.6 jest-mock: 29.5.0 jest-util: 29.5.0 - dev: true /jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-haste-map@29.5.0: resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} @@ -13785,7 +13602,6 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 - dev: true /jest-leak-detector@29.5.0: resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} @@ -13793,7 +13609,6 @@ packages: dependencies: jest-get-type: 29.4.3 pretty-format: 29.5.0 - dev: true /jest-matcher-utils@29.5.0: resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} @@ -13803,7 +13618,6 @@ packages: jest-diff: 29.5.0 jest-get-type: 29.4.3 pretty-format: 29.5.0 - dev: true /jest-message-util@29.5.0: resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} @@ -13818,7 +13632,6 @@ packages: pretty-format: 29.5.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true /jest-mock@27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} @@ -13835,7 +13648,6 @@ packages: '@jest/types': 29.5.0 '@types/node': 18.16.6 jest-util: 29.5.0 - dev: true /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -13847,12 +13659,10 @@ packages: optional: true dependencies: jest-resolve: 29.5.0 - dev: true /jest-regex-util@29.4.3: resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-resolve-dependencies@29.5.0: resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} @@ -13862,7 +13672,6 @@ packages: jest-snapshot: 29.5.0 transitivePeerDependencies: - supports-color - dev: true /jest-resolve@29.5.0: resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} @@ -13877,7 +13686,6 @@ packages: resolve: 1.22.2 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true /jest-runner@29.5.0: resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} @@ -13906,7 +13714,6 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true /jest-runtime@29.5.0: resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} @@ -13936,7 +13743,6 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true /jest-snapshot@29.5.0: resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} @@ -13967,7 +13773,6 @@ packages: semver: 7.5.1 transitivePeerDependencies: - supports-color - dev: true /jest-util@29.5.0: resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} @@ -13979,7 +13784,6 @@ packages: ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true /jest-validate@29.5.0: resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} @@ -13991,7 +13795,6 @@ packages: jest-get-type: 29.4.3 leven: 3.1.0 pretty-format: 29.5.0 - dev: true /jest-watcher@29.5.0: resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} @@ -14005,7 +13808,6 @@ packages: emittery: 0.13.1 jest-util: 29.5.0 string-length: 4.0.2 - dev: true /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} @@ -14024,7 +13826,6 @@ packages: jest-util: 29.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true /jest@29.5.0(@types/node@18.16.6)(ts-node@10.9.1): resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} @@ -14044,7 +13845,6 @@ packages: - '@types/node' - supports-color - ts-node - dev: true /jiti@1.17.1: resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} @@ -14076,7 +13876,6 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -14201,7 +14000,6 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -14271,7 +14069,6 @@ packages: /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - dev: true /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} @@ -14340,7 +14137,6 @@ packages: /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - dev: true /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -14368,7 +14164,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /lint-staged@13.2.2: resolution: {integrity: sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==} @@ -14478,7 +14273,6 @@ packages: engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} @@ -14638,17 +14432,14 @@ packages: engines: {node: '>=8'} dependencies: semver: 6.3.0 - dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 - dev: true /map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} @@ -15396,7 +15187,7 @@ packages: '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.14.4 - next: 13.4.1(react-dom@18.2.0)(react@18.2.0) + next: 13.4.1(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) oauth: 0.9.15 openid-client: 5.4.2 preact: 10.15.1 @@ -15547,7 +15338,6 @@ packages: /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true /node-polyfill-webpack-plugin@2.0.1(webpack@5.86.0): resolution: {integrity: sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==} @@ -15622,7 +15412,6 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} @@ -15905,7 +15694,6 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 - dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} @@ -15925,7 +15713,6 @@ packages: engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} @@ -15943,7 +15730,6 @@ packages: /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -16001,7 +15787,6 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true /parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} @@ -16160,7 +15945,6 @@ packages: /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} - dev: true /pkg-dir@3.0.0: resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} @@ -16174,7 +15958,6 @@ packages: engines: {node: '>=8'} dependencies: find-up: 4.1.0 - dev: true /pkg-dir@5.0.0: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} @@ -16238,7 +16021,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-load-config@4.0.1(postcss@8.4.23): + /postcss-load-config@4.0.1(postcss@8.4.23)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -16252,6 +16035,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.23 + ts-node: 10.9.1(@types/node@18.16.6)(typescript@5.0.4) yaml: 2.3.1 dev: true @@ -16429,7 +16213,6 @@ packages: '@jest/schemas': 29.4.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /pretty-format@3.8.0: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} @@ -16481,7 +16264,6 @@ packages: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -16577,7 +16359,6 @@ packages: /pure-rand@6.0.2: resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} - dev: true /pvtsutils@1.3.2: resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} @@ -17154,7 +16935,6 @@ packages: /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} @@ -17178,7 +16958,6 @@ packages: engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 - dev: true /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -17187,7 +16966,6 @@ packages: /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true /resolve-global@1.0.0: resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} @@ -17214,7 +16992,6 @@ packages: /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} - dev: true /resolve@1.22.2: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} @@ -17634,7 +17411,6 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -17711,7 +17487,6 @@ packages: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -17723,7 +17498,6 @@ packages: /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} @@ -17780,14 +17554,12 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 - dev: true /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -17875,7 +17647,6 @@ packages: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -17884,7 +17655,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -17981,7 +17751,6 @@ packages: /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - dev: true /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} @@ -18034,22 +17803,6 @@ packages: client-only: 0.0.1 react: 18.2.0 - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - client-only: 0.0.1 - react: 18.2.0 - /sucrase@3.32.0: resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} @@ -18081,7 +17834,6 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -18121,7 +17873,7 @@ packages: tslib: 2.5.3 dev: false - /tailwindcss@3.3.2: + /tailwindcss@3.3.2(ts-node@10.9.1): resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} engines: {node: '>=14.0.0'} hasBin: true @@ -18143,7 +17895,7 @@ packages: postcss: 8.4.23 postcss-import: 15.1.0(postcss@8.4.23) postcss-js: 4.0.1(postcss@8.4.23) - postcss-load-config: 4.0.1(postcss@8.4.23) + postcss-load-config: 4.0.1(postcss@8.4.23)(ts-node@10.9.1) postcss-nested: 6.0.1(postcss@8.4.23) postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 @@ -18261,7 +18013,6 @@ packages: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true /text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} @@ -18362,7 +18113,6 @@ packages: /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -18565,7 +18315,6 @@ packages: typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-pnp@1.2.0(typescript@5.1.3): resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} @@ -18954,65 +18703,65 @@ packages: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} dev: true - /turbo-darwin-64@1.10.6: - resolution: {integrity: sha512-s2Gc7i9Ud+H9GDcrGJjPIyscJfzDGQ6il4Sl2snfvwngJs4/TaqKuBoX3HNt/7F4NiFRs7ZhlLV1/Yu9zGBRhw==} + /turbo-darwin-64@1.10.3: + resolution: {integrity: sha512-IIB9IomJGyD3EdpSscm7Ip1xVWtYb7D0x7oH3vad3gjFcjHJzDz9xZ/iw/qItFEW+wGFcLSRPd+1BNnuLM8AsA==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.10.6: - resolution: {integrity: sha512-tgl70t5PBLyRcNTdP9N6NjvdvQ5LUk8Z60JGUhBhnc+oCOdA4pltrDJNPyel3tQAXXt1dDpl8pp9vUrbwoVyGg==} + /turbo-darwin-arm64@1.10.3: + resolution: {integrity: sha512-SBNmOZU9YEB0eyNIxeeQ+Wi0Ufd+nprEVp41rgUSRXEIpXjsDjyBnKnF+sQQj3+FLb4yyi/yZQckB+55qXWEsw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.10.6: - resolution: {integrity: sha512-h7eyAA3xtAVpamcYJYUwe0xm0LWdbv7/I7QiM09AZ67TTNpyUgqW8giFN3h793BHEQ2Rcnk9FNkpIbjWBbyamg==} + /turbo-linux-64@1.10.3: + resolution: {integrity: sha512-kvAisGKE7xHJdyMxZLvg53zvHxjqPK1UVj4757PQqtx9dnjYHSc8epmivE6niPgDHon5YqImzArCjVZJYpIGHQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.10.6: - resolution: {integrity: sha512-8cZhOeLqu3QZ27yLd6bw4FNaB8y5pLdWeRLJeiWHkIb/cptKnRKJFP+keBJzJi8ovaMqdBpabrxiBRN2lhau5Q==} + /turbo-linux-arm64@1.10.3: + resolution: {integrity: sha512-Qgaqln0IYRgyL0SowJOi+PNxejv1I2xhzXOI+D+z4YHbgSx87ox1IsALYBlK8VRVYY8VCXl+PN12r1ioV09j7A==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.10.6: - resolution: {integrity: sha512-qx5jcfCJodN1Mh0KtSVQau7pK8CxDvtif7+joPHI2HbQPAADgdUl0LHfA5tFHh6aWgfvhxbvIXqJd6v7Mqkj9g==} + /turbo-windows-64@1.10.3: + resolution: {integrity: sha512-rbH9wManURNN8mBnN/ZdkpUuTvyVVEMiUwFUX4GVE5qmV15iHtZfDLUSGGCP2UFBazHcpNHG1OJzgc55GFFrUw==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.10.6: - resolution: {integrity: sha512-vTQaRG3/s2XTreOBr6J9HKFtjzusvwGQg0GtuW2+9Z7fizdzP8MuhaDbN6FhKHcWC81PQPD61TBIKTVTsYOEZg==} + /turbo-windows-arm64@1.10.3: + resolution: {integrity: sha512-ThlkqxhcGZX39CaTjsHqJnqVe+WImjX13pmjnpChz6q5HHbeRxaJSFzgrHIOt0sUUVx90W/WrNRyoIt/aafniw==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.10.6: - resolution: {integrity: sha512-0/wbjw4HvmPP1abVWHTdeFRfCA9cn5oxCPP5bDixagLzvDgGWE3xfdlsyGmq779Ekr9vjtDPgC2Y4JlXEhyryw==} + /turbo@1.10.3: + resolution: {integrity: sha512-U4gKCWcKgLcCjQd4Pl8KJdfEKumpyWbzRu75A6FCj6Ctea1PIm58W6Ltw1QXKqHrl2pF9e1raAskf/h6dlrPCA==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.10.6 - turbo-darwin-arm64: 1.10.6 - turbo-linux-64: 1.10.6 - turbo-linux-arm64: 1.10.6 - turbo-windows-64: 1.10.6 - turbo-windows-arm64: 1.10.6 + turbo-darwin-64: 1.10.3 + turbo-darwin-arm64: 1.10.3 + turbo-linux-64: 1.10.3 + turbo-linux-arm64: 1.10.3 + turbo-windows-64: 1.10.3 + turbo-windows-arm64: 1.10.3 dev: true /type-check@0.3.2: @@ -19031,7 +18780,6 @@ packages: /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - dev: true /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} @@ -19050,7 +18798,6 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} @@ -19096,7 +18843,6 @@ packages: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true - dev: true /typescript@5.1.3: resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} @@ -19381,7 +19127,6 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true /v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} @@ -19390,7 +19135,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 - dev: true /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -19444,7 +19188,6 @@ packages: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 - dev: true /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} @@ -19706,7 +19449,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -19725,7 +19467,6 @@ packages: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true /ws@6.2.2: resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} @@ -19806,7 +19547,6 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -19844,7 +19584,6 @@ packages: /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - dev: true /yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} @@ -19887,7 +19626,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} @@ -19899,7 +19637,6 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -19934,3 +19671,7 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false From bfa9d5a46d3be90d2f43617eb4558c7764745c48 Mon Sep 17 00:00:00 2001 From: Doron-Breska <124248816+Doron-Breska@users.noreply.github.com> Date: Thu, 29 Jun 2023 15:10:42 +0200 Subject: [PATCH 02/24] first commit --- .../src/components/chat/main-chat/message.tsx | 38 ++++++++----------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index 3b7b88b0..05084bd9 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -1,12 +1,10 @@ -import { useState } from "react" -import React from 'react' +import { useState } from "react"; +import React from "react"; import { useAuth } from "#/contexts/authContext"; import { gql, useQuery } from "@apollo/client"; import { formatDate } from "#/utils/api-helpers"; - - // const [deleteModal, setDeleteModal] = useState(false); // const [optionsModal, setOptionsModal] = useState(false); // const toogleDeleteModal = () => { @@ -16,27 +14,22 @@ import { formatDate } from "#/utils/api-helpers"; // setOptionsModal(!optionsModal); // }; const Message = ({ message }: { message: any }) => { - - console.log("message.id: ", message.id); const getSingleMessage = gql` - query GetMessageById($id: ID) { - message(id: $id ){ - data{ - id - attributes{ - body + query GetMessageById($id: ID) { + message(id: $id) { + data { + id + attributes { + body + } } } } - - } `; - - - const { loading, error, data } = useQuery(getSingleMessage, { + const { loading, error, data, refetch } = useQuery(getSingleMessage, { variables: { id: message.id }, }); @@ -99,7 +92,9 @@ const Message = ({ message }: { message: any }) => {
-

{data && data.message.data.attributes?.body}

+

+ {data && data.message.data.attributes?.body} +

{/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} {/* {optionsModal && ( @@ -316,8 +311,7 @@ const Message = ({ message }: { message: any }) => { )} */} + ); +}; - ) -} - -export default Message \ No newline at end of file +export default Message; From e090a43a9e939d3d1ccdac7c811a99f50fc1455e Mon Sep 17 00:00:00 2001 From: Doron-Breska <124248816+Doron-Breska@users.noreply.github.com> Date: Thu, 29 Jun 2023 17:38:08 +0200 Subject: [PATCH 03/24] testing functions for the Message component --- .../src/components/chat/main-chat/message.tsx | 440 ++++++------------ .../src/pages/main-chat/[chatId].tsx | 206 ++++---- 2 files changed, 260 insertions(+), 386 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index 05084bd9..9ef48903 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -1,315 +1,183 @@ -import { useState } from "react"; +import { FormEvent, useState } from "react"; import React from "react"; import { useAuth } from "#/contexts/authContext"; -import { gql, useQuery } from "@apollo/client"; +import { gql, useQuery, useMutation } from "@apollo/client"; import { formatDate } from "#/utils/api-helpers"; -// const [deleteModal, setDeleteModal] = useState(false); -// const [optionsModal, setOptionsModal] = useState(false); -// const toogleDeleteModal = () => { -// setDeleteModal(!deleteModal); -// }; -// const toogleOptionsModal = () => { -// setOptionsModal(!optionsModal); -// }; -const Message = ({ message }: { message: any }) => { - console.log("message.id: ", message.id); - - const getSingleMessage = gql` - query GetMessageById($id: ID) { - message(id: $id) { - data { - id - attributes { - body +const upDateChatMessage = gql` + mutation updateMessage($id: ID!, $body: String!) { + updateMessage(id: $id, data: { body: $body }) { + data { + id + attributes { + body + } + } + } + } +`; + +const getSingleMessage = gql` + query GetMessageById($id: ID) { + message(id: $id) { + data { + id + attributes { + body + author { + data { + id + attributes { + username + avatar { + data { + attributes { + url + } + } + } + } + } } } } } - `; + } +`; + +const deleteChatMessage = gql` + mutation deleteMessage($id: ID!) { + deleteMessage(id: $id) { + data { + id + } + } + } +`; + +const Message = ({ message }: { message: any }) => { + console.log("message.id: ", message.id); + const [hiddenDiv, setHiddenDiv] = useState(false); + const [editToggle, setEditToggle] = useState(false); + const [newMsg, setNewMsg] = useState(""); const { loading, error, data, refetch } = useQuery(getSingleMessage, { variables: { id: message.id }, }); - console.log("data: ", data); + // console.log("data: ", data); const { user } = useAuth(); - return ( -
-
- {/*
- - - {user?.username !== data.author.username ? ( - {data.attributes.author.data?.attributes.username} - ) : ( - me - )} - - {formatDate(data.attributes.createdAt)} -
*/} + const userId = user?.id; + + const [updateMessageMutation] = useMutation(upDateChatMessage); + + const [deleteMessageMutation] = useMutation(deleteChatMessage); + // the mentor has permmision to delete as well... condicional... id not working and only deleting first message... + const deleteMessage = async (messageId: any) => { + console.log("object :>> ", message.attributes.author.data?.id); + if (userId === message.attributes.author.data.id || user?.role?.name === "Mentor") { + deleteMessageMutation({ + variables: { + id: message.id, + }, + }); + await refetch(); + } + }; + const updateMessage = async (e: FormEvent, message: any) => { + e.preventDefault(); + console.log("message.id :>> ", message.id); + if (userId === message.attributes.author.data.id || user?.role?.name === "Mentor") { + if (newMsg) { + updateMessageMutation({ + variables: { + id: message.id, + body: newMsg, // we need to create a new form with this variable as msg body + }, + }); + } + setNewMsg(""); + // await refetch(); + refetch(); + } + }; -
- {/* - */} -
-
-
-

- {data && data.message.data.attributes?.body} -

-
- {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} - {/* {optionsModal && ( -
-
-
{ - e.stopPropagation(); - }} - style={{ - position: "relative", - zIndex: "1000", - display: "flex", - flexDirection: "column", - width: "35%", - height: "25%", - border: "white solid 3px", - borderRadius: "10px", - backgroundColor: "white", - margin: "auto", - marginTop: "200px", - }} - > - -
{ - updateMessage(e, message); + return ( +
+ {!editToggle && ( + <> +
+

+ {message && message.attributes.author.data.attributes.username} -{" "} + {message && message.attributes.createdAt}{" "} + - +

+

{message && message.attributes?.body}

+ {hiddenDiv && ( + <> + No + { + deleteMessage(message.id); }} - onClick={toogleOptionsModal} > - Cancel - - -
+ Yes + + + )}
-
- )} */} - - {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} - {/* {deleteModal && ( -
-
-
{ - e.stopPropagation(); - }} - style={{ - position: "relative", - zIndex: "1000", - display: "flex", - flexDirection: "column", - width: "35%", - height: "25%", - border: "white solid 3px", - borderRadius: "10px", - backgroundColor: "white", - margin: "auto", - marginTop: "200px", - }} - > - -
{ - deleteMessage(e, message); + + )} + {editToggle && ( + <> +
+ + + +
+ + +
+ +
+
+
+ )} + + {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} + {deleteChatMessage && ( +
+
+
{ + e.stopPropagation(); + }} + > + {/* onSubmit={deleteMessage} */} + {/* {( + + +
+ +
+
+
+ )} +
+
+
+ ); })} -
-
- {/* +++++++++++++++++++++++++ TEXT BODY +++++++++++++++++++ */} -
- - +
+ + + +
- + + ); }; export default SingleChat; - - diff --git a/apps/codac-quasseln/src/pages/main-chat/index.tsx b/apps/codac-quasseln/src/pages/main-chat/index.tsx index 33ed6b84..99a7a492 100644 --- a/apps/codac-quasseln/src/pages/main-chat/index.tsx +++ b/apps/codac-quasseln/src/pages/main-chat/index.tsx @@ -1,37 +1,36 @@ -import { useAuth } from '#/contexts/authContext'; +import { useAuth } from "#/contexts/authContext"; -import React, { useEffect, useState } from 'react' +import React, { useEffect, useState } from "react"; import { gql, useQuery } from "@apollo/client"; -import Link from 'next/link'; -import { useSocket } from '#/contexts/socketContext'; -import { Enum_Componentleadlifecycle_State } from 'codac-graphql-types'; - - +import Link from "next/link"; +import { useSocket } from "#/contexts/socketContext"; +import { Enum_Componentleadlifecycle_State } from "codac-graphql-types"; const GetAllChats = gql` -query getAllChats { - chatrooms { - data { - id - attributes { - name - createdAt - users_permissions_users { - data { - id - attributes { - username - avatar { - data { - attributes { - url + query getAllChats { + chatrooms { + data { + id + attributes { + name + createdAt + users_permissions_users { + data { + id + attributes { + username + avatar { + data { + attributes { + url + } } } - } - role { - data { - attributes { - name + role { + data { + attributes { + name + } } } } @@ -41,15 +40,14 @@ query getAllChats { } } } -} `; -type Props = {} +type Props = {}; const ChrisChat = (props: Props) => { const { data, error, loading } = useQuery(GetAllChats); const { user } = useAuth(); - console.log('user :>> ', user); + console.log("user :>> ", user); // do I need this connected state??? const [connected, setConnected] = useState(false); @@ -59,45 +57,42 @@ const ChrisChat = (props: Props) => { if (socket) { setConnected(true); } else { - setConnected(false) + setConnected(false); } }, [socket]); - console.log('socket :>> ', socket); - console.log('user :>> ', user); - console.log('data from chris query :>> ', data); + console.log("socket :>> ", socket); + console.log("user :>> ", user); + console.log("data from chris query :>> ", data); return ( <> -
-
Chat Rooms
-
index -

Index For Alls Chatrooms...

-
-
- {data && data?.chatrooms?.data.map((chat: any) => { +

Chatrooms Access

+
+ {data && + data?.chatrooms?.data.map((chat: any) => { return ( -
+
{/* se puede con el nombre?? sería mejor... */} - -

{chat.attributes.name}

+ + <> + + + + {chat.attributes.name} +
- ) + ); })} - -
-
- ) -} + ); +}; -export default ChrisChat \ No newline at end of file +export default ChrisChat; diff --git a/apps/codac-quasseln/styles/_chatrooms.scss b/apps/codac-quasseln/styles/_chatrooms.scss index cf34dff8..6c0cb0e1 100644 --- a/apps/codac-quasseln/styles/_chatrooms.scss +++ b/apps/codac-quasseln/styles/_chatrooms.scss @@ -1,76 +1,355 @@ +.go-to-chat-container { + margin-top: $reg-space; +} +.go-to-chat { + display: flex; + gap: $sm-space; + align-items: center; + width: fit-content; + color: white; + font-weight: 600; + border-bottom: $border-solid white; + .icon path { + fill: white; + } + &:hover { + border-bottom: $border-solid transparent; + } +} + /** messages chronology **/ +h1 { + color: white; + font-size: xx-large; +} + +.chatroom-access-link-container { + display: flex; + gap: $reg-space !important; + margin: $reg-space 0; + flex-direction: column; + .chatroom-access-link { + padding: $reg-space; + border-radius: $border-radius; + cursor: pointer; + display: flex; + gap: $reg-space; + align-items: center; + border: $border-solid-xl transparent; + background-color: rgb(30, 30, 30); + color: white; + .icon path { + fill: white; + } + } +} .chatroom-container { display: flex; flex-direction: column; gap: $reg-space; border: 2px solid orange; - // display: grid; - // grid-template-columns: 1fr 1fr; - // gap: $reg-space; - - // .message-container { - // display: grid; - // grid-template-columns: 1fr 1fr; - // gap: $reg-space; - // } - // applying to all messages - // .message { - // grid-column: span 1; - // padding: $sm-space $reg-space $reg-space; - // border-radius: $border-radius; - - // .message-label { - // font-size: $smaller-text; - // padding: $sm-space 0; - // } - // } - // my messages - // .my-message { - // background-color: white; - // grid-column-start: 2; - - // .message-label { - // text-align: right; - // } - // } - // other users' messages - // .you-all-message { - // background-color: lighten($codac-primary-color, 60%); - // grid-column-start: 1; - // } } -/** send a message **/ +/////////////// -.send-message-container { - display: grid; - grid-template-columns: 1fr 1fr; - gap: $reg-space; +.chat-container { + color: white; + margin: $reg-space 0; + display: flex; - div { + .chat-dashboard-container { display: flex; - gap: $sm-space; flex-direction: column; - width: 100%; - grid-column-start: 2; - align-items: flex-end; + min-width: 20em; + width: 30%; + background-color: rgb(20, 20, 20); + + .pinned-conversations-container, + .unpinned-conversations-container { + display: flex; + flex-direction: column; + gap: $reg-space; + padding: $reg-space $reg-space * 2 $reg-space $reg-space; + + .pinned-conversation, + .unpinned-conversation { + padding: $reg-space; + border-radius: $border-radius; + cursor: pointer; + display: flex; + gap: $reg-space; + align-items: center; + font-weight: 600; + border: $border-solid-xl transparent; + } + } + .pinned-conversations-container { + background-color: $codac-primary-color; + border-radius: $border-radius 0 0 0; + + .pinned-conversation { + color: darken($codac-primary-color, 20%); + background-color: lighten($codac-primary-color, 60%); + &.is-inactive { + background-color: darken($codac-primary-color, 5%); + color: white; + .pin-icon path { + fill: lighten($codac-primary-color, 20%); + } + &:hover { + color: darken($codac-primary-color, 20%); + .pin-icon path { + fill: darken($codac-primary-color, 20%); + } + } + } + + .pin-icon { + path { + fill: darken($codac-primary-color, 10%); + } + } + + &:hover { + background-color: lighten($codac-primary-color, 50%); + } + + &:active { + border: $border-solid-xl lighten($codac-primary-color, 20%); + } + } + } + .unpinned-conversations-container { + background-color: rgb(30, 30, 30); + border-radius: 0 0 0 $border-radius; + height: 100%; + .unpinned-conversation { + background-color: rgb(20, 20, 20); + + .unpin-icon { + path { + fill: lighten($codac-primary-color, 20%); + } + } + + &.is-active { + background-color: white; + color: rgb(20, 20, 20); + } + } + } + + .conversations-container-title { + font-size: 80%; + } } - textarea { + .chat-convo-container { + background-color: rgb(40, 40, 40); + border-radius: 0 $border-radius $border-radius 0; + padding: $reg-space $reg-space $reg-space $reg-space * 2; width: 100%; - border-radius: $border-radius; - background-color: lighten($codac-primary-color, 70%); + display: flex; + flex-direction: column; + gap: $reg-space !important; + + .message-container { + display: grid; + grid-template-columns: 1fr 1fr; + width: 100%; + gap: $reg-space; + + .message-bubble { + border-radius: $border-radius; + color: black; + + .message-label { + font-size: 80%; + color: white; + padding: $xs-space; + display: flex; + gap: $xs-space; + justify-content: flex-end; + + .message-functions-panel { + padding: 0 $border-radius; + display: flex; + gap: $sm-space; + + .icon { + path { + fill: white; + &:hover { + fill: lighten($codac-primary-color, 70%); + } + &:active { + fill: lighten($codac-primary-color, 50%); + } + } + } + } + } + + &.my-message { + grid-column-start: 2; + .message-text { + background-color: white; + } + } + &.user-message { + .message-text { + background-color: lighten($codac-primary-color, 70%); + } + } + } + } } } -.activity-message { - color: white; - font-size: $smaller-text; +.message-text { + padding: $reg-space; + border-radius: $border-radius; } -.chatroom-nav { +.edit-message-modal-overlay, +.delete-post-modal-overlay { + width: 100vw; + height: 100vh; + top: 0; + left: 0; + right: 0; + bottom: 0; + position: fixed; + background-color: rgba(0, 0, 0, 0.5); +} +.edit-message-modal-container, +.delete-message-modal_container { + z-index: 999; display: flex; + flex-direction: column; + width: 35%; + border-radius: $border-radius; + background-color: lighten($codac-primary-color, 70%); + justify-content: center; + padding: $reg-space; + margin: 15rem auto; gap: $reg-space; + + p { + color: darken($codac-primary-color, 60%); + } + + form { + display: flex; + flex-direction: column; + gap: $sm-space; + label { + font-weight: 600; + } + textarea { + margin: $sm-space 0; + border-radius: $border-radius; + padding: $reg-space; + border: $border-solid $codac-primary-color; + } + .buttons-container { + display: flex; + gap: $sm-space; + margin-top: $reg-space; + button { + padding: $sm-space; + border-radius: $border-radius; + font-weight: 600; + } + button.primary { + background-color: $codac-primary-color; + color: white; + border: $border-solid transparent; + &:hover { + background-color: darken($codac-primary-color, 5%); + border: $border-solid transparent; + } + &:active { + background-color: darken($codac-primary-color, 5%); + border: $border-solid lighten($codac-primary-color, 20%); + } + } + button.secondary { + border: $border-solid $codac-primary-color; + color: $codac-primary-color; + &:hover { + background-color: lighten($codac-primary-color, 75%); + } + &:active { + border: $border-solid lighten($codac-primary-color, 20%); + } + } + } + } +} + +.send-message-container { + display: flex; + justify-content: flex-end; align-items: center; + gap: $reg-space; + + textarea { + color: black; + width: 100%; + border-radius: $border-radius; + } + + button { + height: fit-content; + width: fit-content; + padding: $reg-space; + border-radius: $border-radius; + color: darken($codac-primary-color, 20%); + background-color: lighten($codac-primary-color, 30%); + display: flex; + gap: $sm-space; + align-items: center; + &:hover { + background-color: lighten($codac-primary-color, 50%); + } + &:active { + border: $border-solid lighten($codac-primary-color, 20%); + } + } } + +// /** send a message **/ + +// .send-message-container { +// display: grid; +// grid-template-columns: 1fr 1fr; +// gap: $reg-space; + +// div { +// display: flex; +// gap: $sm-space; +// flex-direction: column; +// width: 100%; +// grid-column-start: 2; +// align-items: flex-end; +// } + +// textarea { +// width: 100%; +// border-radius: $border-radius; +// background-color: lighten($codac-primary-color, 70%); +// } +// } + +// .activity-message { +// color: white; +// font-size: $smaller-text; +// } + +// .chatroom-nav { +// display: flex; +// gap: $reg-space; +// align-items: center; +// } diff --git a/apps/codac-quasseln/styles/_vars.scss b/apps/codac-quasseln/styles/_vars.scss index 430d6515..5e556fac 100644 --- a/apps/codac-quasseln/styles/_vars.scss +++ b/apps/codac-quasseln/styles/_vars.scss @@ -2,7 +2,8 @@ $codac-primary-color: #02645a; $border-solid: 1px solid; -$border-radius: 0.75em; +$border-solid-xl: 3px solid; +$border-radius: 0.25em; //T $smaller-text: 60%; diff --git a/apps/codac-quasseln/styles/globals.css b/apps/codac-quasseln/styles/globals.css index 14af92d7..b53471c6 100644 --- a/apps/codac-quasseln/styles/globals.css +++ b/apps/codac-quasseln/styles/globals.css @@ -1,4 +1,51 @@ +.go-to-chat-container { + margin-top: 1rem; +} + +.go-to-chat { + display: flex; + gap: 0.5rem; + align-items: center; + width: -moz-fit-content; + width: fit-content; + color: white; + font-weight: 600; + border-bottom: 1px solid white; +} +.go-to-chat .icon path { + fill: white; +} +.go-to-chat:hover { + border-bottom: 1px solid transparent; +} + /** messages chronology **/ +h1 { + color: white; + font-size: xx-large; +} + +.chatroom-access-link-container { + display: flex; + gap: 1rem !important; + margin: 1rem 0; + flex-direction: column; +} +.chatroom-access-link-container .chatroom-access-link { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + border: 3px solid transparent; + background-color: rgb(30, 30, 30); + color: white; +} +.chatroom-access-link-container .chatroom-access-link .icon path { + fill: white; +} + .chatroom-container { display: flex; flex-direction: column; @@ -6,33 +53,257 @@ border: 2px solid orange; } -/** send a message **/ -.send-message-container { +.chat-container { + color: white; + margin: 1rem 0; + display: flex; +} +.chat-container .chat-dashboard-container { + display: flex; + flex-direction: column; + min-width: 20em; + width: 30%; + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .pinned-conversations-container, +.chat-container .chat-dashboard-container .unpinned-conversations-container { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1rem 2rem 1rem 1rem; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .pinned-conversations-container .unpinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + font-weight: 600; + border: 3px solid transparent; +} +.chat-container .chat-dashboard-container .pinned-conversations-container { + background-color: #02645a; + border-radius: 0.25em 0 0 0; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation { + color: black; + background-color: #9bfdf3; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive { + background-color: #024b44; + color: white; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive .pin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover { + color: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover .pin-icon path { + fill: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation .pin-icon path { + fill: #01322d; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:hover { + background-color: #69fced; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:active { + border: 3px solid #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container { + background-color: rgb(30, 30, 30); + border-radius: 0 0 0 0.25em; + height: 100%; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation .unpin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation.is-active { + background-color: white; + color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .conversations-container-title { + font-size: 80%; +} +.chat-container .chat-convo-container { + background-color: rgb(40, 40, 40); + border-radius: 0 0.25em 0.25em 0; + padding: 1rem 1rem 1rem 2rem; + width: 100%; + display: flex; + flex-direction: column; + gap: 1rem !important; +} +.chat-container .chat-convo-container .message-container { display: grid; grid-template-columns: 1fr 1fr; + width: 100%; gap: 1rem; } -.send-message-container div { +.chat-container .chat-convo-container .message-container .message-bubble { + border-radius: 0.25em; + color: black; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label { + font-size: 80%; + color: white; + padding: 0.25rem; + display: flex; + gap: 0.25rem; + justify-content: flex-end; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel { + padding: 0 0.25em; display: flex; gap: 0.5rem; - flex-direction: column; - width: 100%; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path { + fill: white; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:hover { + fill: #cdfef9; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:active { + fill: #69fced; +} +.chat-container .chat-convo-container .message-container .message-bubble.my-message { grid-column-start: 2; - align-items: flex-end; } -.send-message-container textarea { - width: 100%; - border-radius: 0.75em; +.chat-container .chat-convo-container .message-container .message-bubble.my-message .message-text { + background-color: white; +} +.chat-container .chat-convo-container .message-container .message-bubble.user-message .message-text { background-color: #cdfef9; } -.activity-message { +.message-text { + padding: 1rem; + border-radius: 0.25em; +} + +.edit-message-modal-overlay, +.delete-post-modal-overlay { + width: 100vw; + height: 100vh; + top: 0; + left: 0; + right: 0; + bottom: 0; + position: fixed; + background-color: rgba(0, 0, 0, 0.5); +} + +.edit-message-modal-container, +.delete-message-modal_container { + z-index: 999; + display: flex; + flex-direction: column; + width: 35%; + border-radius: 0.25em; + background-color: #cdfef9; + justify-content: center; + padding: 1rem; + margin: 15rem auto; + gap: 1rem; +} +.edit-message-modal-container p, +.delete-message-modal_container p { + color: black; +} +.edit-message-modal-container form, +.delete-message-modal_container form { + display: flex; + flex-direction: column; + gap: 0.5rem; +} +.edit-message-modal-container form label, +.delete-message-modal_container form label { + font-weight: 600; +} +.edit-message-modal-container form textarea, +.delete-message-modal_container form textarea { + margin: 0.5rem 0; + border-radius: 0.25em; + padding: 1rem; + border: 1px solid #02645a; +} +.edit-message-modal-container form .buttons-container, +.delete-message-modal_container form .buttons-container { + display: flex; + gap: 0.5rem; + margin-top: 1rem; +} +.edit-message-modal-container form .buttons-container button, +.delete-message-modal_container form .buttons-container button { + padding: 0.5rem; + border-radius: 0.25em; + font-weight: 600; +} +.edit-message-modal-container form .buttons-container button.primary, +.delete-message-modal_container form .buttons-container button.primary { + background-color: #02645a; color: white; - font-size: 60%; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:hover, +.delete-message-modal_container form .buttons-container button.primary:hover { + background-color: #024b44; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:active, +.delete-message-modal_container form .buttons-container button.primary:active { + background-color: #024b44; + border: 1px solid #04c8b4; +} +.edit-message-modal-container form .buttons-container button.secondary, +.delete-message-modal_container form .buttons-container button.secondary { + border: 1px solid #02645a; + color: #02645a; +} +.edit-message-modal-container form .buttons-container button.secondary:hover, +.delete-message-modal_container form .buttons-container button.secondary:hover { + background-color: #e6fffc; +} +.edit-message-modal-container form .buttons-container button.secondary:active, +.delete-message-modal_container form .buttons-container button.secondary:active { + border: 1px solid #04c8b4; } -.chatroom-nav { +.send-message-container { display: flex; + justify-content: flex-end; + align-items: center; gap: 1rem; +} +.send-message-container textarea { + color: black; + width: 100%; + border-radius: 0.25em; +} +.send-message-container button { + height: -moz-fit-content; + height: fit-content; + width: -moz-fit-content; + width: fit-content; + padding: 1rem; + border-radius: 0.25em; + color: black; + background-color: #05fae1; + display: flex; + gap: 0.5rem; align-items: center; +} +.send-message-container button:hover { + background-color: #69fced; +} +.send-message-container button:active { + border: 1px solid #04c8b4; }/*# sourceMappingURL=globals.css.map */ \ No newline at end of file diff --git a/apps/codac-quasseln/styles/globals.css.map b/apps/codac-quasseln/styles/globals.css.map index 478f12eb..edff4ad4 100644 --- a/apps/codac-quasseln/styles/globals.css.map +++ b/apps/codac-quasseln/styles/globals.css.map @@ -1 +1 @@ -{"version":3,"sources":["_chatrooms.scss","_vars.scss","globals.css"],"names":[],"mappings":"AAAA,0BAAA;AAEA;EACE,aAAA;EACA,sBAAA;EACA,SCKU;EDJV,wBAAA;AEAF;;AFqCA,qBAAA;AAEA;EACE,aAAA;EACA,8BAAA;EACA,SCtCU;ACGZ;AFqCE;EACE,aAAA;EACA,WCzCO;ED0CP,sBAAA;EACA,WAAA;EACA,oBAAA;EACA,qBAAA;AEnCJ;AFsCE;EACE,WAAA;EACA,qBCzDY;ED0DZ,yBAAA;AEpCJ;;AFwCA;EACE,YAAA;EACA,cC7Da;ACwBf;;AFwCA;EACE,aAAA;EACA,SC/DU;EDgEV,mBAAA;AErCF","file":"globals.css"} \ No newline at end of file +{"version":3,"sources":["_chatrooms.scss","_vars.scss","globals.css"],"names":[],"mappings":"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","file":"globals.css"} \ No newline at end of file diff --git a/packages/codac-sassy/src/stories/bubble/bubble.css b/packages/codac-sassy/src/stories/bubble/bubble.css index e64644c3..0d2cf9a0 100644 --- a/packages/codac-sassy/src/stories/bubble/bubble.css +++ b/packages/codac-sassy/src/stories/bubble/bubble.css @@ -1,4 +1,51 @@ +.go-to-chat-container { + margin-top: 1rem; +} + +.go-to-chat { + display: flex; + gap: 0.5rem; + align-items: center; + width: -moz-fit-content; + width: fit-content; + color: white; + font-weight: 600; + border-bottom: 1px solid white; +} +.go-to-chat .icon path { + fill: white; +} +.go-to-chat:hover { + border-bottom: 1px solid transparent; +} + /** messages chronology **/ +h1 { + color: white; + font-size: xx-large; +} + +.chatroom-access-link-container { + display: flex; + gap: 1rem !important; + margin: 1rem 0; + flex-direction: column; +} +.chatroom-access-link-container .chatroom-access-link { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + border: 3px solid transparent; + background-color: rgb(30, 30, 30); + color: white; +} +.chatroom-access-link-container .chatroom-access-link .icon path { + fill: white; +} + .chatroom-container { display: flex; flex-direction: column; @@ -6,36 +53,260 @@ border: 2px solid orange; } -/** send a message **/ -.send-message-container { +.chat-container { + color: white; + margin: 1rem 0; + display: flex; +} +.chat-container .chat-dashboard-container { + display: flex; + flex-direction: column; + min-width: 20em; + width: 30%; + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .pinned-conversations-container, +.chat-container .chat-dashboard-container .unpinned-conversations-container { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1rem 2rem 1rem 1rem; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .pinned-conversations-container .unpinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + font-weight: 600; + border: 3px solid transparent; +} +.chat-container .chat-dashboard-container .pinned-conversations-container { + background-color: #02645a; + border-radius: 0.25em 0 0 0; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation { + color: black; + background-color: #9bfdf3; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive { + background-color: #024b44; + color: white; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive .pin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover { + color: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover .pin-icon path { + fill: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation .pin-icon path { + fill: #01322d; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:hover { + background-color: #69fced; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:active { + border: 3px solid #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container { + background-color: rgb(30, 30, 30); + border-radius: 0 0 0 0.25em; + height: 100%; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation .unpin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation.is-active { + background-color: white; + color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .conversations-container-title { + font-size: 80%; +} +.chat-container .chat-convo-container { + background-color: rgb(40, 40, 40); + border-radius: 0 0.25em 0.25em 0; + padding: 1rem 1rem 1rem 2rem; + width: 100%; + display: flex; + flex-direction: column; + gap: 1rem !important; +} +.chat-container .chat-convo-container .message-container { display: grid; grid-template-columns: 1fr 1fr; + width: 100%; gap: 1rem; } -.send-message-container div { +.chat-container .chat-convo-container .message-container .message-bubble { + border-radius: 0.25em; + color: black; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label { + font-size: 80%; + color: white; + padding: 0.25rem; + display: flex; + gap: 0.25rem; + justify-content: flex-end; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel { + padding: 0 0.25em; display: flex; gap: 0.5rem; - flex-direction: column; - width: 100%; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path { + fill: white; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:hover { + fill: #cdfef9; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:active { + fill: #69fced; +} +.chat-container .chat-convo-container .message-container .message-bubble.my-message { grid-column-start: 2; - align-items: flex-end; } -.send-message-container textarea { - width: 100%; - border-radius: 0.75em; +.chat-container .chat-convo-container .message-container .message-bubble.my-message .message-text { + background-color: white; +} +.chat-container .chat-convo-container .message-container .message-bubble.user-message .message-text { background-color: #cdfef9; } -.activity-message { +.message-text { + padding: 1rem; + border-radius: 0.25em; +} + +.edit-message-modal-overlay, +.delete-post-modal-overlay { + width: 100vw; + height: 100vh; + top: 0; + left: 0; + right: 0; + bottom: 0; + position: fixed; + background-color: rgba(0, 0, 0, 0.5); +} + +.edit-message-modal-container, +.delete-message-modal_container { + z-index: 999; + display: flex; + flex-direction: column; + width: 35%; + border-radius: 0.25em; + background-color: #cdfef9; + justify-content: center; + padding: 1rem; + margin: 15rem auto; + gap: 1rem; +} +.edit-message-modal-container p, +.delete-message-modal_container p { + color: black; +} +.edit-message-modal-container form, +.delete-message-modal_container form { + display: flex; + flex-direction: column; + gap: 0.5rem; +} +.edit-message-modal-container form label, +.delete-message-modal_container form label { + font-weight: 600; +} +.edit-message-modal-container form textarea, +.delete-message-modal_container form textarea { + margin: 0.5rem 0; + border-radius: 0.25em; + padding: 1rem; + border: 1px solid #02645a; +} +.edit-message-modal-container form .buttons-container, +.delete-message-modal_container form .buttons-container { + display: flex; + gap: 0.5rem; + margin-top: 1rem; +} +.edit-message-modal-container form .buttons-container button, +.delete-message-modal_container form .buttons-container button { + padding: 0.5rem; + border-radius: 0.25em; + font-weight: 600; +} +.edit-message-modal-container form .buttons-container button.primary, +.delete-message-modal_container form .buttons-container button.primary { + background-color: #02645a; color: white; - font-size: 60%; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:hover, +.delete-message-modal_container form .buttons-container button.primary:hover { + background-color: #024b44; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:active, +.delete-message-modal_container form .buttons-container button.primary:active { + background-color: #024b44; + border: 1px solid #04c8b4; +} +.edit-message-modal-container form .buttons-container button.secondary, +.delete-message-modal_container form .buttons-container button.secondary { + border: 1px solid #02645a; + color: #02645a; +} +.edit-message-modal-container form .buttons-container button.secondary:hover, +.delete-message-modal_container form .buttons-container button.secondary:hover { + background-color: #e6fffc; +} +.edit-message-modal-container form .buttons-container button.secondary:active, +.delete-message-modal_container form .buttons-container button.secondary:active { + border: 1px solid #04c8b4; } -.chatroom-nav { +.send-message-container { display: flex; + justify-content: flex-end; + align-items: center; gap: 1rem; +} +.send-message-container textarea { + color: black; + width: 100%; + border-radius: 0.25em; +} +.send-message-container button { + height: -moz-fit-content; + height: fit-content; + width: -moz-fit-content; + width: fit-content; + padding: 1rem; + border-radius: 0.25em; + color: black; + background-color: #05fae1; + display: flex; + gap: 0.5rem; align-items: center; } +.send-message-container button:hover { + background-color: #69fced; +} +.send-message-container button:active { + border: 1px solid #04c8b4; +} .bubble-container { font-family: "Noto Sans", sans-serif; @@ -57,7 +328,7 @@ } .bubble-container .bubble-dashboard { justify-content: flex-end; - margin: 0.25rem 0.75em 0; + margin: 0.25rem 0.25em 0; align-items: center; gap: 0.5rem; display: flex; @@ -87,7 +358,7 @@ min-height: 2rem; max-height: -moz-fit-content; max-height: fit-content; - border-radius: 0.75em; + border-radius: 0.25em; padding: 1rem; font-family: "Noto Sans", sans-serif; background-color: #cdfef9; diff --git a/packages/codac-sassy/src/stories/bubble/bubble.css.map b/packages/codac-sassy/src/stories/bubble/bubble.css.map index 7c2e3900..517cd5f9 100644 --- a/packages/codac-sassy/src/stories/bubble/bubble.css.map +++ b/packages/codac-sassy/src/stories/bubble/bubble.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../../apps/codac-quasseln/styles/_chatrooms.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","bubble.css","bubble.scss"],"names":[],"mappings":"AAAA,0BAAA;AAEA;EACE,aAAA;EACA,sBAAA;EACA,SCKU;EDJV,wBAAA;AEAF;;AFqCA,qBAAA;AAEA;EACE,aAAA;EACA,8BAAA;EACA,SCtCU;ACGZ;AFqCE;EACE,aAAA;EACA,WCzCO;ED0CP,sBAAA;EACA,WAAA;EACA,oBAAA;EACA,qBAAA;AEnCJ;AFsCE;EACE,WAAA;EACA,qBCzDY;ED0DZ,yBAAA;AEpCJ;;AFwCA;EACE,YAAA;EACA,cC7Da;ACwBf;;AFwCA;EACE,aAAA;EACA,SC/DU;EDgEV,mBAAA;AErCF;;ACnCA;EACE,oCFWK;EEVL,aAAA;EACA,8BAAA;EACA,SFIU;ACkCZ;ACnCI;EACE,oBAAA;ADqCN;ACjCE;EACE,cAAA;ADmCJ;AC/BI;EACE,uBAAA;ADiCN;AC/BI;EACE,YAAA;ADiCN;AC7BE;EACE,yBAAA;EACA,wBAAA;EACA,mBAAA;EACA,WFpBO;EEqBP,aAAA;EACA,wBAAA;EAAA,mBAAA;AD+BJ;AC9BI;EACE,6BAAA;EACA,YAAA;EACA,mBAAA;EACA,cAAA;EACA,aAAA;ADgCN;AC9BM;EACE,YAAA;ADgCR;AC7BM;EACE,aAAA;EACA,qBAAA;AD+BR;AC5BM;EACE,YAAA;EACA,WAAA;EACA,gBAAA;AD8BR;AC1BE;EACE,gBAAA;EACA,4BAAA;EAAA,uBAAA;EACA,qBFxDY;EEyDZ,aFnDQ;EEoDR,oCFhDG;EEiDH,yBAAA;AD4BJ","file":"bubble.css"} \ No newline at end of file +{"version":3,"sources":["../../../../../apps/codac-quasseln/styles/_chatrooms.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","bubble.css","bubble.scss"],"names":[],"mappings":"AAAA;EACE,gBCUU;ACTZ;;AFCA;EACE,aAAA;EACA,WCOS;EDNT,mBAAA;EACA,uBAAA;EAAA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,8BAAA;AEEF;AFDE;EACE,WAAA;AEGJ;AFDE;EACE,oCAAA;AEGJ;;AFCA,0BAAA;AACA;EACE,YAAA;EACA,mBAAA;AEEF;;AFCA;EACE,aAAA;EACA,oBAAA;EACA,cAAA;EACA,sBAAA;AEEF;AFDE;EACE,aCpBQ;EDqBR,qBC3BY;ED4BZ,eAAA;EACA,aAAA;EACA,SCxBQ;EDyBR,mBAAA;EACA,6BAAA;EACA,iCAAA;EACA,YAAA;AEGJ;AFFI;EACE,WAAA;AEIN;;AFCA;EACE,aAAA;EACA,sBAAA;EACA,SCtCU;EDuCV,wBAAA;AEEF;;AFGA;EACE,YAAA;EACA,cAAA;EACA,aAAA;AEAF;AFEE;EACE,aAAA;EACA,sBAAA;EACA,eAAA;EACA,UAAA;EACA,iCAAA;AEAJ;AFEI;;EAEE,aAAA;EACA,sBAAA;EACA,SC5DM;ED6DN,4BAAA;AEAN;AFEM;;;;EAEE,aCjEI;EDkEJ,qBCxEQ;EDyER,eAAA;EACA,aAAA;EACA,SCrEI;EDsEJ,mBAAA;EACA,gBAAA;EACA,6BAAA;AEER;AFCI;EACE,yBCtFgB;EDuFhB,2BAAA;AECN;AFCM;EACE,YAAA;EACA,yBAAA;AECR;AFAQ;EACE,yBAAA;EACA,YAAA;AEEV;AFDU;EACE,aAAA;AEGZ;AFDU;EACE,YAAA;AEGZ;AFFY;EACE,WAAA;AEId;AFEU;EACE,aAAA;AEAZ;AFIQ;EACE,yBAAA;AEFV;AFKQ;EACE,yBAAA;AEHV;AFOI;EACE,iCAAA;EACA,2BAAA;EACA,YAAA;AELN;AFMM;EACE,iCAAA;AEJR;AFOU;EACE,aAAA;AELZ;AFSQ;EACE,uBAAA;EACA,sBAAA;AEPV;AFYI;EACE,cAAA;AEVN;AFcE;EACE,iCAAA;EACA,gCAAA;EACA,4BAAA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,oBAAA;AEZJ;AFcI;EACE,aAAA;EACA,8BAAA;EACA,WAAA;EACA,SCrJM;ACyIZ;AFcM;EACE,qBC9JQ;ED+JR,YAAA;AEZR;AFcQ;EACE,cAAA;EACA,YAAA;EACA,gBC5JC;ED6JD,aAAA;EACA,YC9JC;ED+JD,yBAAA;AEZV;AFcU;EACE,iBAAA;EACA,aAAA;EACA,WCrKD;ACyJX;AFec;EACE,WAAA;AEbhB;AFcgB;EACE,aAAA;AEZlB;AFcgB;EACE,aAAA;AEZlB;AFmBQ;EACE,oBAAA;AEjBV;AFkBU;EACE,uBAAA;AEhBZ;AFoBU;EACE,yBAAA;AElBZ;;AF0BA;EACE,aCvMU;EDwMV,qBC9Mc;ACuLhB;;AF0BA;;EAEE,YAAA;EACA,aAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,eAAA;EACA,oCAAA;AEvBF;;AFyBA;;EAEE,YAAA;EACA,aAAA;EACA,sBAAA;EACA,UAAA;EACA,qBClOc;EDmOd,yBAAA;EACA,uBAAA;EACA,aC/NU;EDgOV,kBAAA;EACA,SCjOU;AC2MZ;AFwBE;;EACE,YAAA;AErBJ;AFwBE;;EACE,aAAA;EACA,sBAAA;EACA,WCzOO;ACoNX;AFsBI;;EACE,gBAAA;AEnBN;AFqBI;;EACE,gBAAA;EACA,qBCtPU;EDuPV,aCjPM;EDkPN,yBAAA;AElBN;AFoBI;;EACE,aAAA;EACA,WCrPK;EDsPL,gBCvPM;ACsOZ;AFkBM;;EACE,eCxPG;EDyPH,qBChQQ;EDiQR,gBAAA;AEfR;AFiBM;;EACE,yBCxQc;EDyQd,YAAA;EACA,6BAAA;AEdR;AFeQ;;EACE,yBAAA;EACA,6BAAA;AEZV;AFcQ;;EACE,yBAAA;EACA,yBAAA;AEXV;AFcM;;EACE,yBAAA;EACA,cCtRc;AC2QtB;AFYQ;;EACE,yBAAA;AETV;AFWQ;;EACE,yBAAA;AERV;;AFeA;EACE,aAAA;EACA,yBAAA;EACA,mBAAA;EACA,SC5RU;ACgRZ;AFcE;EACE,YAAA;EACA,WAAA;EACA,qBCvSY;AC2RhB;AFeE;EACE,wBAAA;EAAA,mBAAA;EACA,uBAAA;EAAA,kBAAA;EACA,aCvSQ;EDwSR,qBC9SY;ED+SZ,YAAA;EACA,yBAAA;EACA,aAAA;EACA,WC3SO;ED4SP,mBAAA;AEbJ;AFcI;EACE,yBAAA;AEZN;AFcI;EACE,yBAAA;AEZN;;AC/SA;EACE,oCFYK;EEXL,aAAA;EACA,8BAAA;EACA,SFKU;AC6SZ;AC/SI;EACE,oBAAA;ADiTN;AC7SE;EACE,cAAA;AD+SJ;AC3SI;EACE,uBAAA;AD6SN;AC3SI;EACE,YAAA;AD6SN;ACzSE;EACE,yBAAA;EACA,wBAAA;EACA,mBAAA;EACA,WFnBO;EEoBP,aAAA;EACA,wBAAA;EAAA,mBAAA;AD2SJ;AC1SI;EACE,6BAAA;EACA,YAAA;EACA,mBAAA;EACA,cAAA;EACA,aAAA;AD4SN;AC1SM;EACE,YAAA;AD4SR;ACzSM;EACE,aAAA;EACA,qBAAA;AD2SR;ACxSM;EACE,YAAA;EACA,WAAA;EACA,gBAAA;AD0SR;ACtSE;EACE,gBAAA;EACA,4BAAA;EAAA,uBAAA;EACA,qBFvDY;EEwDZ,aFlDQ;EEmDR,oCF/CG;EEgDH,yBAAA;ADwSJ","file":"bubble.css"} \ No newline at end of file diff --git a/packages/codac-sassy/src/stories/button/button.css b/packages/codac-sassy/src/stories/button/button.css index 355b5040..baa3e228 100644 --- a/packages/codac-sassy/src/stories/button/button.css +++ b/packages/codac-sassy/src/stories/button/button.css @@ -1,4 +1,51 @@ +.go-to-chat-container { + margin-top: 1rem; +} + +.go-to-chat { + display: flex; + gap: 0.5rem; + align-items: center; + width: -moz-fit-content; + width: fit-content; + color: white; + font-weight: 600; + border-bottom: 1px solid white; +} +.go-to-chat .icon path { + fill: white; +} +.go-to-chat:hover { + border-bottom: 1px solid transparent; +} + /** messages chronology **/ +h1 { + color: white; + font-size: xx-large; +} + +.chatroom-access-link-container { + display: flex; + gap: 1rem !important; + margin: 1rem 0; + flex-direction: column; +} +.chatroom-access-link-container .chatroom-access-link { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + border: 3px solid transparent; + background-color: rgb(30, 30, 30); + color: white; +} +.chatroom-access-link-container .chatroom-access-link .icon path { + fill: white; +} + .chatroom-container { display: flex; flex-direction: column; @@ -6,36 +53,260 @@ border: 2px solid orange; } -/** send a message **/ -.send-message-container { +.chat-container { + color: white; + margin: 1rem 0; + display: flex; +} +.chat-container .chat-dashboard-container { + display: flex; + flex-direction: column; + min-width: 20em; + width: 30%; + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .pinned-conversations-container, +.chat-container .chat-dashboard-container .unpinned-conversations-container { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1rem 2rem 1rem 1rem; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .pinned-conversations-container .unpinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .pinned-conversation, +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + padding: 1rem; + border-radius: 0.25em; + cursor: pointer; + display: flex; + gap: 1rem; + align-items: center; + font-weight: 600; + border: 3px solid transparent; +} +.chat-container .chat-dashboard-container .pinned-conversations-container { + background-color: #02645a; + border-radius: 0.25em 0 0 0; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation { + color: black; + background-color: #9bfdf3; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive { + background-color: #024b44; + color: white; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive .pin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover { + color: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation.is-inactive:hover .pin-icon path { + fill: black; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation .pin-icon path { + fill: #01322d; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:hover { + background-color: #69fced; +} +.chat-container .chat-dashboard-container .pinned-conversations-container .pinned-conversation:active { + border: 3px solid #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container { + background-color: rgb(30, 30, 30); + border-radius: 0 0 0 0.25em; + height: 100%; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation { + background-color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation .unpin-icon path { + fill: #04c8b4; +} +.chat-container .chat-dashboard-container .unpinned-conversations-container .unpinned-conversation.is-active { + background-color: white; + color: rgb(20, 20, 20); +} +.chat-container .chat-dashboard-container .conversations-container-title { + font-size: 80%; +} +.chat-container .chat-convo-container { + background-color: rgb(40, 40, 40); + border-radius: 0 0.25em 0.25em 0; + padding: 1rem 1rem 1rem 2rem; + width: 100%; + display: flex; + flex-direction: column; + gap: 1rem !important; +} +.chat-container .chat-convo-container .message-container { display: grid; grid-template-columns: 1fr 1fr; + width: 100%; gap: 1rem; } -.send-message-container div { +.chat-container .chat-convo-container .message-container .message-bubble { + border-radius: 0.25em; + color: black; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label { + font-size: 80%; + color: white; + padding: 0.25rem; + display: flex; + gap: 0.25rem; + justify-content: flex-end; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel { + padding: 0 0.25em; display: flex; gap: 0.5rem; - flex-direction: column; - width: 100%; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path { + fill: white; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:hover { + fill: #cdfef9; +} +.chat-container .chat-convo-container .message-container .message-bubble .message-label .message-functions-panel .icon path:active { + fill: #69fced; +} +.chat-container .chat-convo-container .message-container .message-bubble.my-message { grid-column-start: 2; - align-items: flex-end; } -.send-message-container textarea { - width: 100%; - border-radius: 0.75em; +.chat-container .chat-convo-container .message-container .message-bubble.my-message .message-text { + background-color: white; +} +.chat-container .chat-convo-container .message-container .message-bubble.user-message .message-text { background-color: #cdfef9; } -.activity-message { +.message-text { + padding: 1rem; + border-radius: 0.25em; +} + +.edit-message-modal-overlay, +.delete-post-modal-overlay { + width: 100vw; + height: 100vh; + top: 0; + left: 0; + right: 0; + bottom: 0; + position: fixed; + background-color: rgba(0, 0, 0, 0.5); +} + +.edit-message-modal-container, +.delete-message-modal_container { + z-index: 999; + display: flex; + flex-direction: column; + width: 35%; + border-radius: 0.25em; + background-color: #cdfef9; + justify-content: center; + padding: 1rem; + margin: 15rem auto; + gap: 1rem; +} +.edit-message-modal-container p, +.delete-message-modal_container p { + color: black; +} +.edit-message-modal-container form, +.delete-message-modal_container form { + display: flex; + flex-direction: column; + gap: 0.5rem; +} +.edit-message-modal-container form label, +.delete-message-modal_container form label { + font-weight: 600; +} +.edit-message-modal-container form textarea, +.delete-message-modal_container form textarea { + margin: 0.5rem 0; + border-radius: 0.25em; + padding: 1rem; + border: 1px solid #02645a; +} +.edit-message-modal-container form .buttons-container, +.delete-message-modal_container form .buttons-container { + display: flex; + gap: 0.5rem; + margin-top: 1rem; +} +.edit-message-modal-container form .buttons-container button, +.delete-message-modal_container form .buttons-container button { + padding: 0.5rem; + border-radius: 0.25em; + font-weight: 600; +} +.edit-message-modal-container form .buttons-container button.primary, +.delete-message-modal_container form .buttons-container button.primary { + background-color: #02645a; color: white; - font-size: 60%; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:hover, +.delete-message-modal_container form .buttons-container button.primary:hover { + background-color: #024b44; + border: 1px solid transparent; +} +.edit-message-modal-container form .buttons-container button.primary:active, +.delete-message-modal_container form .buttons-container button.primary:active { + background-color: #024b44; + border: 1px solid #04c8b4; +} +.edit-message-modal-container form .buttons-container button.secondary, +.delete-message-modal_container form .buttons-container button.secondary { + border: 1px solid #02645a; + color: #02645a; +} +.edit-message-modal-container form .buttons-container button.secondary:hover, +.delete-message-modal_container form .buttons-container button.secondary:hover { + background-color: #e6fffc; +} +.edit-message-modal-container form .buttons-container button.secondary:active, +.delete-message-modal_container form .buttons-container button.secondary:active { + border: 1px solid #04c8b4; } -.chatroom-nav { +.send-message-container { display: flex; + justify-content: flex-end; + align-items: center; gap: 1rem; +} +.send-message-container textarea { + color: black; + width: 100%; + border-radius: 0.25em; +} +.send-message-container button { + height: -moz-fit-content; + height: fit-content; + width: -moz-fit-content; + width: fit-content; + padding: 1rem; + border-radius: 0.25em; + color: black; + background-color: #05fae1; + display: flex; + gap: 0.5rem; align-items: center; } +.send-message-container button:hover { + background-color: #69fced; +} +.send-message-container button:active { + border: 1px solid #04c8b4; +} .storybook-button { border-radius: 50px; diff --git a/packages/codac-sassy/src/stories/button/button.css.map b/packages/codac-sassy/src/stories/button/button.css.map index 26c96ad7..4a2270ae 100644 --- a/packages/codac-sassy/src/stories/button/button.css.map +++ b/packages/codac-sassy/src/stories/button/button.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../../apps/codac-quasseln/styles/_chatrooms.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","button.css","button.scss"],"names":[],"mappings":"AAAA,0BAAA;AAEA;EACE,aAAA;EACA,sBAAA;EACA,SCKU;EDJV,wBAAA;AEAF;;AFqCA,qBAAA;AAEA;EACE,aAAA;EACA,8BAAA;EACA,SCtCU;ACGZ;AFqCE;EACE,aAAA;EACA,WCzCO;ED0CP,sBAAA;EACA,WAAA;EACA,oBAAA;EACA,qBAAA;AEnCJ;AFsCE;EACE,WAAA;EACA,qBCzDY;ED0DZ,yBAAA;AEpCJ;;AFwCA;EACE,YAAA;EACA,cC7Da;ACwBf;;AFwCA;EACE,aAAA;EACA,SC/DU;EDgEV,mBAAA;AErCF;;ACnCA;EACE,mBAAA;EACA,eAAA;EACA,cAAA;EACA,6BAAA;EACA,6BAAA;EACA,aAAA;EACA,mBAAA;EAEA,wBAAA;EAAA,mBAAA;EACA,uBAAA;EAAA,kBAAA;ADqCF;ACpCE;EACE,eAAA;EACA,kCFDG;ACuCP;ACnCE;EACE,WAAA;EACA,oBAAA;ADqCJ;AClCE;EACE,iBAAA;ADoCJ;ACjCE;EACE,cAAA;ADmCJ;AChCE;EACE,YAAA;EACA,yBFhCkB;ACkEtB;AChCI;EACE,yBAAA;ADkCN;AChCI;EACE,yBAAA;ADkCN;AC9BE;EACE,YAAA;EACA,yBAAA;ADgCJ;AC9BI;EACE,yBAAA;ADgCN;AC9BI;EACE,yBAAA;ADgCN","file":"button.css"} \ No newline at end of file +{"version":3,"sources":["../../../../../apps/codac-quasseln/styles/_chatrooms.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","button.css","button.scss"],"names":[],"mappings":"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","file":"button.css"} \ No newline at end of file diff --git a/packages/codac-sassy/src/stories/input/input.css b/packages/codac-sassy/src/stories/input/input.css index ae2be51e..b026104d 100644 --- a/packages/codac-sassy/src/stories/input/input.css +++ b/packages/codac-sassy/src/stories/input/input.css @@ -1,5 +1,5 @@ textarea { - border-radius: 0.75em; + border-radius: 0.25em; border: none; padding: 1rem; font-size: 16px; diff --git a/packages/codac-sassy/src/stories/input/input.css.map b/packages/codac-sassy/src/stories/input/input.css.map index b1aa1404..d4770f97 100644 --- a/packages/codac-sassy/src/stories/input/input.css.map +++ b/packages/codac-sassy/src/stories/input/input.css.map @@ -1 +1 @@ -{"version":3,"sources":["input.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","input.css"],"names":[],"mappings":"AAEA;EACE,qBCCc;EDAd,YAAA;EACA,aCKU;EDJV,eAAA;EACA,kCAAA;EACA,YAAA;AEDF;AFGE;EACE,yBAAA;EACA,yBAAA;AEDJ;AFIE;EACE,yBAAA;EACA,uBAAA;AEFJ","file":"input.css"} \ No newline at end of file +{"version":3,"sources":["input.scss","../../../../../apps/codac-quasseln/styles/_vars.scss","input.css"],"names":[],"mappings":"AAEA;EACE,qBCEc;EDDd,YAAA;EACA,aCMU;EDLV,eAAA;EACA,kCAAA;EACA,YAAA;AEDF;AFGE;EACE,yBAAA;EACA,yBAAA;AEDJ;AFIE;EACE,yBAAA;EACA,uBAAA;AEFJ","file":"input.css"} \ No newline at end of file diff --git a/packages/codac-ui/src/layouts/dashboard-layout.tsx b/packages/codac-ui/src/layouts/dashboard-layout.tsx index 18196ffb..0f227ed2 100644 --- a/packages/codac-ui/src/layouts/dashboard-layout.tsx +++ b/packages/codac-ui/src/layouts/dashboard-layout.tsx @@ -11,15 +11,6 @@ export function DashboardLayout({ }) { return ( <> - {/* - CODAC - - - - */} {navigation} - {/* */} -
-
-
-
- -
-
+
+
+
{children}
- - {/* */}
- {/* - */} ); } From 5bc9299d5f8fe8cccdbf15d2a459916baddf624b Mon Sep 17 00:00:00 2001 From: ROXBOZ Date: Mon, 3 Jul 2023 12:51:16 +0200 Subject: [PATCH 12/24] first commit --- .../src/pages/main-chat/[chatId].tsx | 461 +++++++++--------- 1 file changed, 236 insertions(+), 225 deletions(-) diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index 185bc023..6918cd87 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -2,10 +2,10 @@ import { useRouter } from "next/router"; import { gql, useQuery, useMutation } from "@apollo/client"; import React, { FormEvent, useEffect, useRef, useState } from "react"; import { useAuth } from "#/contexts/authContext"; -import { timeStamp } from "console"; import Message from "#/components/chat/main-chat/message"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faBookmark } from "@fortawesome/free-solid-svg-icons"; +// import { timeStamp } from "console"; +// import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +// import { faBookmark } from "@fortawesome/free-solid-svg-icons"; const getSingleChat = gql` query GetChatQuery($id: ID) { @@ -229,247 +229,259 @@ const SingleChat = (props: Props) => { return (
-

Welcome to {conversations?Chatrooms?chatroom.data?.attributes.name}

- +

Welcome to {conversations?.chatroom.data?.attributes.name}

- Pinned Conversations of {conversations?.chatroom.data?.attributes.name} + Pinned Conversations of{" "} + {conversations?.chatroom.data?.attributes.name} - {chatRooms && - chatRooms.chatroom?.data?.attributes.conversations?.data?.map((conversation: any) => { - if (conversation.attributes.pinned === true) { - return ( -
{ - setActive(conversation.id); - }} - > - <> - {user?.role?.name === "Mentor" ? ( - - - - ) : ( - - - - )} - - {conversation.attributes?.title} -
- ); + + {conversations && + conversations.chatroom?.data?.attributes.conversations?.data?.map( + (conversation: any) => { + if (conversation.attributes.pinned === true) { + return ( +
{ + setActive(conversation.id); + }} + > + <> + {user?.role?.name === "Mentor" ? ( + + + + ) : ( + + + + )} + + {conversation.attributes?.title} +
+ ); + } } - })} + )}
-
- Other Conversations of {chatRooms?.chatroom.data?.attributes.name} + Other Conversations of{" "} + {conversations?.chatroom.data?.attributes.name} - {chatRooms && - chatRooms.chatroom?.data?.attributes.conversations?.data?.map((conversation: any) => { - if (conversation.attributes.pinned === false) { - return ( -
{ - setActive(conversation.id); - }} - > - <> - {user?.role?.name === "Mentor" ? ( - - - - ) : ( - - - - )} - - {conversation.attributes?.title} -
- ); + {conversations && + conversations.chatroom?.data?.attributes.conversations?.data?.map( + (conversation: any) => { + if (conversation.attributes.pinned === false) { + return ( +
{ + setActive(conversation.id); + }} + > + <> + {user?.role?.name === "Mentor" ? ( + + + + ) : ( + + + + )} + + {conversation.attributes?.title} +
+ ); + } } - })} + )}
{allMessages && allMessages?.conversation?.data.attributes?.messages?.data?.map((message: any) => { return ( -
-
-
- {user?.username !== message.attributes.author.data?.attributes.username ? ( - {message.attributes.author.data?.attributes.username} - ) : ( - me - )}{" "} - {formatDate(message.attributes.createdAt)} - <> - {user?.username === - message.attributes.author.data?.attributes.username && ( -
- - -
- )} - -
+ + //
+ //
+ //
+ // {user?.username !== message.attributes.author.data?.attributes.username ? ( + // {message.attributes.author.data?.attributes.username} + // ) : ( + // me + // )}{" "} + // {formatDate(message.attributes.createdAt)} + // <> + // {user?.username === + // message.attributes.author.data?.attributes.username && ( + //
+ // -
-
-

{message.attributes.body}

-
- {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} - {upDateChatMessage && ( -
-
-
{ - e.stopPropagation(); - }} - > - {/*
{ deleteMessage(e, message) }} > aquí viene la funcion!! */} - { - updateMessage(e, message); - }} - > - - -
- - -
-
-
-
-
- )} + // + //
+ // )} + // + //
- {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} - {deleteChatMessage && ( -
-
-
{ - e.stopPropagation(); - }} - > - {/* onSubmit={deleteMessage} */} - {/* {( + //
+ //
+ //

{message.attributes.body}

+ //
- -
- -
-
-
- )} -
-
-
+ // {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} + // {upDateChatMessage && ( + //
+ //
+ //
{ + // e.stopPropagation(); + // }} + // > + // {/*
{ deleteMessage(e, message) }} > aquí viene la funcion!! */} + // { + // console.log("submit :"); + // // upDateChatMessage(e, message); + // }} + // > + // + // + //
+ // + // + //
+ //
+ //
+ //
+ //
+ // )} + + // {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} + // {deleteChatMessage && ( + //
+ //
+ //
{ + // e.stopPropagation(); + // }} + // > + // {/* onSubmit={deleteMessage} */} + // {/* {( + + // + //
+ // + //
+ //
+ //
+ // )} + //
+ //
+ //
); })} @@ -500,8 +512,7 @@ const SingleChat = (props: Props) => {
- - +
); }; From 2b84c3bdc7c4062fc2aad82cc4008e4c47155abc Mon Sep 17 00:00:00 2001 From: Christian Vargas Date: Mon, 3 Jul 2023 13:07:46 +0200 Subject: [PATCH 13/24] main chat link added to the dashboard --- .../src/components/chat/main-chat/message.tsx | 5 ++++- apps/codac-quasseln/src/components/navigation.tsx | 2 ++ apps/codac-quasseln/src/constants/navigation.ts | 11 +++++++++++ apps/codac-quasseln/src/contexts/authContext.tsx | 5 +++-- apps/codac-quasseln/src/pages/dashboard.tsx | 1 + .../codac-quasseln/src/pages/main-chat/[chatId].tsx | 13 +++++++------ packages/codac-ui/src/layouts/address-bar.tsx | 1 + 7 files changed, 29 insertions(+), 9 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index 1f05b14e..9cbf3b04 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -77,7 +77,7 @@ const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void } // the mentor has permmision to delete as well... condicional... id not working and only deleting first message... const deleteMessage = (messageId: any) => { // console.log("object :>> ", message.attributes.author.data?.id); - if (userId === message.attributes.author.data.id || user?.role?.name === "Mentor") { + if (userId === message.attributes.author.data?.id || user?.role?.name === "Mentor") { deleteMessageMutation({ variables: { id: message.id, @@ -85,6 +85,7 @@ const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void } }); deleteMsg() } + setHiddenDiv(false) }; const updateMessage = async (e: FormEvent, message: any) => { e.preventDefault(); @@ -100,9 +101,11 @@ const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void } }); } setNewMsg(""); + setEditToggle(false); // await refetch(); refetch(); } + }; // testing click outside the div closes it ..... diff --git a/apps/codac-quasseln/src/components/navigation.tsx b/apps/codac-quasseln/src/components/navigation.tsx index 13d9f13b..922e317f 100644 --- a/apps/codac-quasseln/src/components/navigation.tsx +++ b/apps/codac-quasseln/src/components/navigation.tsx @@ -2,8 +2,10 @@ import Link from "next/link"; import React from "react"; import { navigation } from "#/constants/navigation"; +// This comes from navigation.ts... the u can add allements to the dashboard... const Navigation = () => { + return (
{navigation.map((section) => { diff --git a/apps/codac-quasseln/src/constants/navigation.ts b/apps/codac-quasseln/src/constants/navigation.ts index 81bff090..0fd1bcdf 100644 --- a/apps/codac-quasseln/src/constants/navigation.ts +++ b/apps/codac-quasseln/src/constants/navigation.ts @@ -25,4 +25,15 @@ export const navigation: { name: string; items: Item[] }[] = [ }, ], }, + { + name: "Main Chat", + items: [ + { + name: "Main Chat", + slug: "main-chat", + description: "main chat", + }, + ], + }, ]; +// New section "Main Chat" added by Christian. diff --git a/apps/codac-quasseln/src/contexts/authContext.tsx b/apps/codac-quasseln/src/contexts/authContext.tsx index 7bc20719..2344f76c 100644 --- a/apps/codac-quasseln/src/contexts/authContext.tsx +++ b/apps/codac-quasseln/src/contexts/authContext.tsx @@ -2,7 +2,7 @@ import { useGetMeQuery, type UsersPermissionsLoginPayload, type UsersPermissionsMe, - type ChatroomEntityResponseCollection, + type ChatEntityResponseCollection, } from "codac-graphql-types"; import { destroyCookie, setCookie } from "nookies"; import { createContext, type ReactNode, useContext, useEffect, useState } from "react"; @@ -12,7 +12,7 @@ import { type } from "os"; type User = UsersPermissionsMe | null; -type ChatRooms = ChatroomEntityResponseCollection | null; +type ChatRooms = ChatEntityResponseCollection | null; export interface AuthContextValue { user: User; @@ -41,6 +41,7 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => { const [user, setUser] = useState(null); const [chatRooms, setChatRooms] = useState(null); const { data, error, loading: authLoading, refetch: getMe } = useGetMeQuery(); + console.log('data finding names to add main-chat :>> ', data); useEffect(() => { if (data?.me && !error) { diff --git a/apps/codac-quasseln/src/pages/dashboard.tsx b/apps/codac-quasseln/src/pages/dashboard.tsx index ee2286db..1ca9b940 100644 --- a/apps/codac-quasseln/src/pages/dashboard.tsx +++ b/apps/codac-quasseln/src/pages/dashboard.tsx @@ -3,6 +3,7 @@ import { useAuth } from "#/contexts/authContext"; export default function Dashboard() { const { user, authLoading } = useAuth(); + return (

CODAC QUASSELN

diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index 7f639dfb..fa4dc9ee 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -205,13 +205,12 @@ const SingleChat = (props: Props) => { // FUNCTION TO SCROLL DOWN TO THE LAST MESSAGE IN THE CHAT const messagesEndRef = React.useRef(null); const scrollToBottom = () => { - messagesEndRef.current?.scrollIntoView({ behavior: "auto" }); + messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); // behaivor options: instant, auto and smooth... } useEffect(scrollToBottom, [allMessages]); - // do I need this chatHistory state???? // const [chatHistory, setChatHistory] = useState([]); const [messageText, setMessageText] = useState(""); @@ -221,7 +220,7 @@ const SingleChat = (props: Props) => { const [newMessageMutation] = useMutation(createNewMessage); const sendMessage = () => { - if (messageText) { + if (messageText.length >= 1) { newMessageMutation({ variables: { conversationId: active, @@ -231,6 +230,9 @@ const SingleChat = (props: Props) => { }); setMessageText(""); } + else { + return + } refetch(); // setTestVariable(!testVariable); @@ -438,7 +440,7 @@ const SingleChat = (props: Props) => { justifyContent: "center", }} > - + >
diff --git a/apps/codac-quasseln/src/pages/main-chat/index.tsx b/apps/codac-quasseln/src/pages/main-chat/index.tsx index b8359960..4c0c161f 100644 --- a/apps/codac-quasseln/src/pages/main-chat/index.tsx +++ b/apps/codac-quasseln/src/pages/main-chat/index.tsx @@ -65,9 +65,6 @@ const ChrisChat = (props: Props) => { <>
Chat Rooms
-
index -

Index For Alls Chatrooms...

-
{data && data?.chatrooms?.data.map((chat: any) => { return ( From 650ad16ec23ef7762a931368a9d4eecba4883a10 Mon Sep 17 00:00:00 2001 From: ROXBOZ Date: Mon, 3 Jul 2023 14:15:07 +0200 Subject: [PATCH 16/24] fixed conflicts --- .../src/pages/main-chat/[chatId].tsx | 170 ++---------------- 1 file changed, 13 insertions(+), 157 deletions(-) diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index 6918cd87..7a3eedbc 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -328,163 +328,14 @@ const SingleChat = (props: Props) => { } )}
+
-
- {allMessages && - allMessages?.conversation?.data.attributes?.messages?.data?.map((message: any) => { - return ( - - //
- //
- //
- // {user?.username !== message.attributes.author.data?.attributes.username ? ( - // {message.attributes.author.data?.attributes.username} - // ) : ( - // me - // )}{" "} - // {formatDate(message.attributes.createdAt)} - // <> - // {user?.username === - // message.attributes.author.data?.attributes.username && ( - //
- // - - // - //
- // )} - // - //
- - //
- //
- //

{message.attributes.body}

- //
- - // {/* +++++++++++++++++++++++++++++ EDIT MODAL +++++++++++++++++++++ */} - // {upDateChatMessage && ( - //
- //
- //
{ - // e.stopPropagation(); - // }} - // > - // {/*
{ deleteMessage(e, message) }} > aquí viene la funcion!! */} - // { - // console.log("submit :"); - // // upDateChatMessage(e, message); - // }} - // > - // - // - //
- // - // - //
- //
- //
- //
- //
- // )} - - // {/* // +++++++++++++++++++++++++ DELETE MODAL +++++++++++++++++++ */} - // {deleteChatMessage && ( - //
- //
- //
{ - // e.stopPropagation(); - // }} - // > - // {/* onSubmit={deleteMessage} */} - // {/* {( - - // - //
- // - //
- //
- //
- // )} - //
- //
- //
- ); - })} - +
+ {allMessages && + allMessages?.conversation?.data.attributes?.messages?.data?.map((message: any) => { + return ; + })} + {active !== "" ? (
-
+ ) : ( +
+

🍕 Select a conversation to be able to chat

+
+ )}
From 981b9a7001933758fa3f158c4acf93417b7fdaa4 Mon Sep 17 00:00:00 2001 From: ROXBOZ Date: Mon, 3 Jul 2023 14:15:30 +0200 Subject: [PATCH 17/24] fixed conflicts --- .../src/components/chat/main-chat/message.tsx | 103 +++++++++++------- .../src/constants/navigation.ts | 5 + apps/codac-quasseln/styles/_chatrooms.scss | 7 ++ apps/codac-quasseln/styles/globals.css | 7 ++ apps/codac-quasseln/styles/globals.css.map | 2 +- .../codac-sassy/src/stories/bubble/bubble.css | 7 ++ .../src/stories/bubble/bubble.css.map | 2 +- .../codac-sassy/src/stories/button/button.css | 7 ++ .../src/stories/button/button.css.map | 2 +- 9 files changed, 97 insertions(+), 45 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index 1f05b14e..8f8bb11d 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -2,7 +2,6 @@ import { FormEvent, useEffect, useRef, useState } from "react"; import React from "react"; import { useAuth } from "#/contexts/authContext"; import { gql, useQuery, useMutation } from "@apollo/client"; - import { formatDate } from "#/utils/api-helpers"; const upDateChatMessage = gql` @@ -17,7 +16,6 @@ const upDateChatMessage = gql` } } `; - const getSingleMessage = gql` query GetMessageById($id: ID) { message(id: $id) { @@ -45,7 +43,6 @@ const getSingleMessage = gql` } } `; - const deleteChatMessage = gql` mutation deleteMessage($id: ID!) { deleteMessage(id: $id) { @@ -56,7 +53,7 @@ const deleteChatMessage = gql` } `; -const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void }) => { +const Message = ({ message, deleteMsg }: { message: any; deleteMsg: () => void }) => { // console.log("message.id: ", message.id); const [hiddenDiv, setHiddenDiv] = useState(false); const [editToggle, setEditToggle] = useState(false); @@ -83,7 +80,7 @@ const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void } id: message.id, }, }); - deleteMsg() + deleteMsg(); } }; const updateMessage = async (e: FormEvent, message: any) => { @@ -122,48 +119,72 @@ const Message = ({ message, deleteMsg }: { message: any, deleteMsg: () => void } }; }, []); - - - return (
{!editToggle && ( <>
-

- {message && message.attributes.author.data?.attributes.username} -{" "} - {message && message.attributes.createdAt}{" "} - - -

-

{message && message.attributes?.body}

+ className={`message-bubble option-A ${ + user?.username === message.attributes.author.data?.attributes.username + ? "my-message" + : "user-message" + }`} + > +
+ {user?.username !== message.attributes.author.data?.attributes.username ? ( + {message.attributes.author.data?.attributes.username} + ) : ( + me + )} + {message && message.attributes.createdAt} + {user?.username === message.attributes.author.data?.attributes.username && ( +
+ + +
+ )} +
+

{message && message.attributes?.body}

{hiddenDiv && (
+ > + No + -
- : ( -
-

🍕 Select a conversation to be able to chat

-
+ +
+ ) : ( +
+

🍕 Select a conversation to be able to chat

+
)} - +
); From 7dc4f61ac4970ade7e9a433abbeeb2a8affb7e70 Mon Sep 17 00:00:00 2001 From: Christian Vargas Date: Mon, 3 Jul 2023 16:16:00 +0200 Subject: [PATCH 22/24] debuging the merge--- --- .../src/pages/main-chat/[chatId].tsx | 57 +++++++++---------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index 655e5a75..0c76328d 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -80,35 +80,6 @@ const createNewMessage = gql` } } `; -const deleteChatMessage = gql` - mutation deleteMessage($id: ID!) { - deleteMessage(id: $id) { - data { - id - } - } - } -`; -const upDateChatMessage = gql` - mutation updateMessage($id: ID!, $body: String!) { - updateMessage(id: $id, data: { body: $body }) { - data { - id - attributes { - body - author { - data { - id - attributes { - username - } - } - } - } - } - } - } -`; const updatePinnedConversation = gql` mutation updateArticle($id: ID!, $pinned: Boolean!) { updateConversation(id: $id, data: { pinned: $pinned }) { @@ -184,8 +155,6 @@ const SingleChat = (props: Props) => { }; useEffect(scrollToBottom, [allMessages]); - // do I need this chatHistory state???? - // const [chatHistory, setChatHistory] = useState([]); const [messageText, setMessageText] = useState(""); // do I need this typing state???? // const [typing, setTyping] = useState(false); @@ -210,6 +179,27 @@ const SingleChat = (props: Props) => { // setTestVariable(!testVariable); }; + // the function to format the date was missing.... + // this function has to be used on the Message Component... + const formatDate = (timestamp: string) => { + const date = new Date(timestamp); + const today = new Date(); + const yesterday = new Date(); + yesterday.setDate(today.getDate() - 1); + let formattedDate = ""; + if (date.getDate() === today.getDate()) { + formattedDate = "Today"; + } else if (date.getDate() === yesterday.getDate()) { + formattedDate = "Yesterday"; + } else { + formattedDate = `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`; + } + // what it that???? += ? + formattedDate += `@ ${date.getHours() < 10 ? "0" : ""}${date.getHours()}: + ${date.getMinutes() < 10 ? "0" : ""}${date.getMinutes()} `; + return formattedDate; + }; + return (

Welcome to {conversations?.chatroom.data?.attributes.name}

@@ -241,6 +231,8 @@ const SingleChat = (props: Props) => { xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 384 512" + onClick={(e: any) => updatePinned(e, conversation)} + // I added the onCLick with the function to pinne the conversation > @@ -250,6 +242,7 @@ const SingleChat = (props: Props) => { xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 640 512" + onClick={(e: any) => updatePinned(e, conversation)} > @@ -288,6 +281,7 @@ const SingleChat = (props: Props) => { height="1em" viewBox="0 0 384 512" className="unpin-icon" + onClick={(e: any) => updatePinned(e, conversation)} > @@ -297,6 +291,7 @@ const SingleChat = (props: Props) => { xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 640 512" + onClick={(e: any) => updatePinned(e, conversation)} > From 7e0318449c138b78c922e52998198cf35c7f4d21 Mon Sep 17 00:00:00 2001 From: ROXBOZ Date: Mon, 3 Jul 2023 16:55:33 +0200 Subject: [PATCH 23/24] tooltips on convos --- .../src/components/chat/main-chat/message.tsx | 3 +- .../src/pages/main-chat/[chatId].tsx | 68 +++++++++++-------- apps/codac-quasseln/styles/_chatrooms.scss | 32 ++++++++- apps/codac-quasseln/styles/globals.css | 24 +++++++ apps/codac-quasseln/styles/globals.css.map | 2 +- .../codac-sassy/src/stories/bubble/bubble.css | 24 +++++++ .../src/stories/bubble/bubble.css.map | 2 +- .../codac-sassy/src/stories/button/button.css | 24 +++++++ .../src/stories/button/button.css.map | 2 +- 9 files changed, 147 insertions(+), 34 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index be5f8409..ae6690e5 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -82,7 +82,7 @@ const Message = ({ message, deleteMsg }: { message: any; deleteMsg: () => void } }); deleteMsg(); } - setHiddenDiv(false) + setHiddenDiv(false); }; const updateMessage = async (e: FormEvent, message: any) => { e.preventDefault(); @@ -102,7 +102,6 @@ const Message = ({ message, deleteMsg }: { message: any; deleteMsg: () => void } // await refetch(); refetch(); } - }; // testing click outside the div closes it ..... diff --git a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx index 0c76328d..63731a8b 100644 --- a/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx +++ b/apps/codac-quasseln/src/pages/main-chat/[chatId].tsx @@ -105,6 +105,7 @@ const SingleChat = (props: Props) => { }; // UPDATE PINNED CONVERSATION FUNCTION const [updatePinnedMutation] = useMutation(updatePinnedConversation); + const updatePinned = async ( e: React.MouseEvent, conversation: any @@ -171,9 +172,8 @@ const SingleChat = (props: Props) => { }, }); setMessageText(""); - } - else { - return + } else { + return; } refetch(); // setTestVariable(!testVariable); @@ -217,8 +217,9 @@ const SingleChat = (props: Props) => { if (conversation.attributes.pinned === true) { return (
{ setActive(conversation.id); @@ -226,23 +227,27 @@ const SingleChat = (props: Props) => { > <> {user?.role?.name === "Mentor" ? ( - updatePinned(e, conversation)} - // I added the onCLick with the function to pinne the conversation - > - - +
+ { + updatePinned(e, conversation); + console.log("click :"); + }} + > + + + Unpin conversation +
) : ( updatePinned(e, conversation)} > @@ -267,8 +272,9 @@ const SingleChat = (props: Props) => { if (conversation.attributes.pinned === false) { return (
{ setActive(conversation.id); @@ -276,15 +282,23 @@ const SingleChat = (props: Props) => { > <> {user?.role?.name === "Mentor" ? ( - updatePinned(e, conversation)} - > - - + <> +
+ { + updatePinned(e, conversation); + console.log("click on unpinned :"); + }} + > + + + Pin conversation +
+ ) : ( Date: Mon, 3 Jul 2023 17:00:43 +0200 Subject: [PATCH 24/24] styled editor --- .../src/components/chat/main-chat/message.tsx | 29 ++++++++++++------- apps/codac-quasseln/styles/_chatrooms.scss | 10 +++++-- apps/codac-quasseln/styles/globals.css | 10 ++++++- apps/codac-quasseln/styles/globals.css.map | 2 +- .../codac-sassy/src/stories/bubble/bubble.css | 10 ++++++- .../src/stories/bubble/bubble.css.map | 2 +- .../codac-sassy/src/stories/button/button.css | 10 ++++++- .../src/stories/button/button.css.map | 2 +- 8 files changed, 57 insertions(+), 18 deletions(-) diff --git a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx index ae6690e5..de87b3ac 100644 --- a/apps/codac-quasseln/src/components/chat/main-chat/message.tsx +++ b/apps/codac-quasseln/src/components/chat/main-chat/message.tsx @@ -196,7 +196,7 @@ const Message = ({ message, deleteMsg }: { message: any; deleteMsg: () => void }

{message && message.attributes?.body}

{hiddenDiv && ( -
+
Delete this message ?