From bbd3041d9069155e95b96c6f7ea5cb31eb9ffe06 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Fri, 27 Jan 2023 12:54:43 -0800 Subject: [PATCH] Add linking to user chat messages. Closes #2635 --- .../chat/ChatUserMessage/ChatUserMessage.tsx | 7 +- web/package-lock.json | 244 ++---------------- web/package.json | 4 +- 3 files changed, 22 insertions(+), 233 deletions(-) diff --git a/web/components/chat/ChatUserMessage/ChatUserMessage.tsx b/web/components/chat/ChatUserMessage/ChatUserMessage.tsx index 863e50fec..24edf0946 100644 --- a/web/components/chat/ChatUserMessage/ChatUserMessage.tsx +++ b/web/components/chat/ChatUserMessage/ChatUserMessage.tsx @@ -5,6 +5,7 @@ import { Tooltip } from 'antd'; import { useRecoilValue } from 'recoil'; import dynamic from 'next/dynamic'; import { decodeHTML } from 'entities'; +import linkifyHtml from 'linkify-html'; import styles from './ChatUserMessage.module.scss'; import { formatTimestamp } from './messageFmt'; import { ChatMessage } from '../../../interfaces/chat-message.model'; @@ -107,6 +108,8 @@ export const ChatUserMessage: FC = ({ })} style={{ borderColor: color }} > +
+ {!sameUserAsLast && (
@@ -119,11 +122,10 @@ export const ChatUserMessage: FC = ({
- {showModeratorMenu && (
= ({ />
)} -
); diff --git a/web/package-lock.json b/web/package-lock.json index 770da4dc9..e2f6af036 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -26,6 +26,8 @@ "classnames": "2.3.2", "date-fns": "2.29.3", "entities": "^4.4.0", + "linkify-html": "^4.1.0", + "linkifyjs": "^4.1.0", "lodash": "4.17.21", "next": "13.1.5", "next-with-less": "2.0.5", @@ -22976,6 +22978,14 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/linkify-html": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/linkify-html/-/linkify-html-4.1.0.tgz", + "integrity": "sha512-cQSNN4i5V1xRjdSUEnXgn855xsl+usD7zBSsNyMSFBf4NlaZFocn7cExJA217azxODeqea79b6fDPXLa7jdkcA==", + "peerDependencies": { + "linkifyjs": "^4.0.0" + } + }, "node_modules/linkify-it": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", @@ -22984,6 +22994,11 @@ "uc.micro": "^1.0.1" } }, + "node_modules/linkifyjs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.0.tgz", + "integrity": "sha512-Ffv8VoY3+ixI1b3aZ3O+jM6x17cOsgwfB1Wq7pkytbo1WlyRp6ZO0YDMqiWT/gQPY/CmtiGuKfzDIVqxh1aCTA==" + }, "node_modules/listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", @@ -25951,7 +25966,6 @@ }, "node_modules/npm/node_modules/@colors/colors": { "version": "1.5.0", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -25961,19 +25975,16 @@ }, "node_modules/npm/node_modules/@gar/promisify": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "6.2.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26020,7 +26031,6 @@ }, "node_modules/npm/node_modules/@npmcli/config": { "version": "6.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26038,7 +26048,6 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26050,7 +26059,6 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "3.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26062,7 +26070,6 @@ }, "node_modules/npm/node_modules/@npmcli/git": { "version": "4.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26082,7 +26089,6 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26098,7 +26104,6 @@ }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26113,7 +26118,6 @@ }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26128,13 +26132,11 @@ }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26143,7 +26145,6 @@ }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26155,7 +26156,6 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26167,7 +26167,6 @@ }, "node_modules/npm/node_modules/@npmcli/query": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26179,7 +26178,6 @@ }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26195,7 +26193,6 @@ }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26204,7 +26201,6 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26213,7 +26209,6 @@ }, "node_modules/npm/node_modules/abort-controller": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26225,7 +26220,6 @@ }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26237,7 +26231,6 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.2.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26251,7 +26244,6 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26264,7 +26256,6 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26273,7 +26264,6 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26288,19 +26278,16 @@ }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26313,7 +26300,6 @@ }, "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "4.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26328,13 +26314,11 @@ }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/base64-js": { "version": "1.5.1", - "dev": true, "funding": [ { "type": "github", @@ -26354,7 +26338,6 @@ }, "node_modules/npm/node_modules/bin-links": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26369,7 +26352,6 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26378,7 +26360,6 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26387,7 +26368,6 @@ }, "node_modules/npm/node_modules/buffer": { "version": "6.0.3", - "dev": true, "funding": [ { "type": "github", @@ -26411,7 +26391,6 @@ }, "node_modules/npm/node_modules/builtins": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26420,7 +26399,6 @@ }, "node_modules/npm/node_modules/cacache": { "version": "17.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26444,7 +26422,6 @@ }, "node_modules/npm/node_modules/chalk": { "version": "4.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26460,7 +26437,6 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26469,7 +26445,6 @@ }, "node_modules/npm/node_modules/ci-info": { "version": "3.7.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26478,7 +26453,6 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -26490,7 +26464,6 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26499,7 +26472,6 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26512,7 +26484,6 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26527,7 +26498,6 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26536,7 +26506,6 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26545,7 +26514,6 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26557,13 +26525,11 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "ISC", "bin": { @@ -26572,7 +26538,6 @@ }, "node_modules/npm/node_modules/columnify": { "version": "1.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26585,25 +26550,21 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -26615,7 +26576,6 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.4", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26632,13 +26592,11 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/defaults": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26647,13 +26605,11 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/depd": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26662,7 +26618,6 @@ }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -26671,13 +26626,11 @@ }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -26687,7 +26640,6 @@ }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26696,13 +26648,11 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/event-target-shim": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26711,7 +26661,6 @@ }, "node_modules/npm/node_modules/events": { "version": "3.3.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26720,7 +26669,6 @@ }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26729,7 +26677,6 @@ }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26741,7 +26688,6 @@ }, "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26753,19 +26699,16 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/gauge": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26784,7 +26727,6 @@ }, "node_modules/npm/node_modules/glob": { "version": "8.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26803,13 +26745,11 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.10", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/has": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26821,7 +26761,6 @@ }, "node_modules/npm/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26830,13 +26769,11 @@ }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "6.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26848,13 +26785,11 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26868,7 +26803,6 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26881,7 +26815,6 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26890,7 +26823,6 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -26903,7 +26835,6 @@ }, "node_modules/npm/node_modules/ieee754": { "version": "1.2.1", - "dev": true, "funding": [ { "type": "github", @@ -26923,7 +26854,6 @@ }, "node_modules/npm/node_modules/ignore-walk": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26935,7 +26865,6 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26944,7 +26873,6 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26953,13 +26881,11 @@ }, "node_modules/npm/node_modules/infer-owner": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26969,13 +26895,11 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26984,7 +26908,6 @@ }, "node_modules/npm/node_modules/init-package-json": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27002,13 +26925,11 @@ }, "node_modules/npm/node_modules/ip": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27017,7 +26938,6 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -27029,7 +26949,6 @@ }, "node_modules/npm/node_modules/is-core-module": { "version": "2.10.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27041,7 +26960,6 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27050,19 +26968,16 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27071,7 +26986,6 @@ }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -27080,7 +26994,6 @@ }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", - "dev": true, "engines": [ "node >= 0.2.0" ], @@ -27089,19 +27002,16 @@ }, "node_modules/npm/node_modules/just-diff": { "version": "5.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.4.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27114,7 +27024,6 @@ }, "node_modules/npm/node_modules/libnpmdiff": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27134,7 +27043,6 @@ }, "node_modules/npm/node_modules/libnpmexec": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27157,7 +27065,6 @@ }, "node_modules/npm/node_modules/libnpmfund": { "version": "4.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27169,7 +27076,6 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "9.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27182,7 +27088,6 @@ }, "node_modules/npm/node_modules/libnpmorg": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27195,7 +27100,6 @@ }, "node_modules/npm/node_modules/libnpmpack": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27210,7 +27114,6 @@ }, "node_modules/npm/node_modules/libnpmpublish": { "version": "7.0.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27226,7 +27129,6 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27238,7 +27140,6 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27251,7 +27152,6 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27267,7 +27167,6 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "7.13.2", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27276,7 +27175,6 @@ }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "11.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27303,7 +27201,6 @@ }, "node_modules/npm/node_modules/minimatch": { "version": "5.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27315,7 +27212,6 @@ }, "node_modules/npm/node_modules/minipass": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27327,7 +27223,6 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27339,7 +27234,6 @@ }, "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27351,7 +27245,6 @@ }, "node_modules/npm/node_modules/minipass-fetch": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27368,7 +27261,6 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27380,7 +27272,6 @@ }, "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27392,7 +27283,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27402,7 +27292,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27414,7 +27303,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27426,7 +27314,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27438,7 +27325,6 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27450,7 +27336,6 @@ }, "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27462,7 +27347,6 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27475,7 +27359,6 @@ }, "node_modules/npm/node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27487,7 +27370,6 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -27499,19 +27381,16 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "0.0.8", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27520,7 +27399,6 @@ }, "node_modules/npm/node_modules/node-gyp": { "version": "9.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27544,7 +27422,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27557,7 +27434,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/move-file": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27570,13 +27446,11 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27589,7 +27463,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27599,7 +27472,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { "version": "16.1.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27628,7 +27500,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27637,7 +27508,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { "version": "8.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27656,7 +27526,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { "version": "5.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27668,7 +27537,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "4.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27687,7 +27555,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/glob": { "version": "7.2.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27707,7 +27574,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "10.2.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27734,7 +27600,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27746,7 +27611,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27758,7 +27622,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27775,7 +27638,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27790,7 +27652,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "6.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27805,7 +27666,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { "version": "9.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27817,7 +27677,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27829,7 +27688,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27841,7 +27699,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/which": { "version": "2.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27856,7 +27713,6 @@ }, "node_modules/npm/node_modules/nopt": { "version": "7.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27871,7 +27727,6 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -27886,7 +27741,6 @@ }, "node_modules/npm/node_modules/npm-audit-report": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27898,7 +27752,6 @@ }, "node_modules/npm/node_modules/npm-bundled": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27910,7 +27763,6 @@ }, "node_modules/npm/node_modules/npm-install-checks": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -27922,7 +27774,6 @@ }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27931,7 +27782,6 @@ }, "node_modules/npm/node_modules/npm-package-arg": { "version": "10.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27946,7 +27796,6 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "7.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27958,7 +27807,6 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "8.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27973,7 +27821,6 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27986,7 +27833,6 @@ }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "14.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28004,13 +27850,11 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28025,7 +27869,6 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28034,7 +27877,6 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28049,7 +27891,6 @@ }, "node_modules/npm/node_modules/pacote": { "version": "15.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28080,7 +27921,6 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28094,7 +27934,6 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28103,7 +27942,6 @@ }, "node_modules/npm/node_modules/postcss-selector-parser": { "version": "6.0.10", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28116,7 +27954,6 @@ }, "node_modules/npm/node_modules/proc-log": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28125,7 +27962,6 @@ }, "node_modules/npm/node_modules/process": { "version": "0.11.10", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28134,7 +27970,6 @@ }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -28143,7 +27978,6 @@ }, "node_modules/npm/node_modules/promise-call-limit": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -28152,13 +27986,11 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28171,7 +28003,6 @@ }, "node_modules/npm/node_modules/promzard": { "version": "0.3.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28180,7 +28011,6 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", - "dev": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -28188,7 +28018,6 @@ }, "node_modules/npm/node_modules/read": { "version": "1.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28200,7 +28029,6 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28209,7 +28037,6 @@ }, "node_modules/npm/node_modules/read-package-json": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28224,7 +28051,6 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28237,7 +28063,6 @@ }, "node_modules/npm/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28251,7 +28076,6 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28260,7 +28084,6 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28275,7 +28098,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28285,7 +28107,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28305,7 +28126,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28317,7 +28137,6 @@ }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -28337,14 +28156,12 @@ }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "optional": true }, "node_modules/npm/node_modules/semver": { "version": "7.3.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28359,7 +28176,6 @@ }, "node_modules/npm/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28371,19 +28187,16 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { "version": "3.0.7", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28393,7 +28206,6 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.7.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28407,7 +28219,6 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "7.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28421,7 +28232,6 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -28431,13 +28241,11 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28447,13 +28255,11 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.11", - "dev": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { "version": "10.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28465,7 +28271,6 @@ }, "node_modules/npm/node_modules/string_decoder": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28474,7 +28279,6 @@ }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28488,7 +28292,6 @@ }, "node_modules/npm/node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28500,7 +28303,6 @@ }, "node_modules/npm/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28512,7 +28314,6 @@ }, "node_modules/npm/node_modules/tar": { "version": "6.1.13", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28529,19 +28330,16 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28550,7 +28348,6 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28562,7 +28359,6 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28574,13 +28370,11 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -28590,7 +28384,6 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28602,13 +28395,11 @@ }, "node_modules/npm/node_modules/walk-up-path": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28617,7 +28408,6 @@ }, "node_modules/npm/node_modules/which": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28632,7 +28422,6 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28641,13 +28430,11 @@ }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28660,7 +28447,6 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, diff --git a/web/package.json b/web/package.json index 313a88428..e6d40ac00 100644 --- a/web/package.json +++ b/web/package.json @@ -30,6 +30,8 @@ "classnames": "2.3.2", "date-fns": "2.29.3", "entities": "^4.4.0", + "linkify-html": "^4.1.0", + "linkifyjs": "^4.1.0", "lodash": "4.17.21", "next": "13.1.5", "next-with-less": "2.0.5", @@ -115,4 +117,4 @@ "style-loader": "3.3.1", "typescript": "4.9.4" } -} \ No newline at end of file +}