diff --git a/src/frontend/src/components/common/BottomSheet.tsx b/src/frontend/src/components/common/BottomSheet.tsx
index 997730cd0..ed1038209 100644
--- a/src/frontend/src/components/common/BottomSheet.tsx
+++ b/src/frontend/src/components/common/BottomSheet.tsx
@@ -46,6 +46,7 @@ const BottomSheet = ({ body, onClose }: bottomSheetType) => {
};
const dragStart = (e) => {
+ e.preventDefault();
const pagesY = e.pageY || e.changedTouches[0].screenY;
setStartY(pagesY);
setStartHeight(parseInt(sheetContentRef.current.style.height));
@@ -54,6 +55,7 @@ const BottomSheet = ({ body, onClose }: bottomSheetType) => {
};
const dragging = (e) => {
+ if (!isDragging) return;
const delta = startY - (e.pageY || e.changedTouches[0].screenY);
const newHeight = startHeight + (delta / window.innerHeight) * 100;
bottomSheetRef.current.style.height = `100vh`;
@@ -88,22 +90,21 @@ const BottomSheet = ({ body, onClose }: bottomSheetType) => {
-
diff --git a/src/mapper/package.json b/src/mapper/package.json
index ae3bf58a6..280f998fa 100644
--- a/src/mapper/package.json
+++ b/src/mapper/package.json
@@ -46,6 +46,9 @@
"@electric-sql/pglite": "^0.2.4",
"@hotosm/ui": "0.2.0-b5",
"@prisma/client": "4.8.1",
+ "@tiptap/core": "^2.8.0",
+ "@tiptap/pm": "^2.8.0",
+ "@tiptap/starter-kit": "^2.8.0",
"@turf/bbox": "^7.0.0",
"@turf/buffer": "^7.0.0",
"@turf/helpers": "^7.0.0",
diff --git a/src/mapper/pnpm-lock.yaml b/src/mapper/pnpm-lock.yaml
index 3d558642d..d91154848 100644
--- a/src/mapper/pnpm-lock.yaml
+++ b/src/mapper/pnpm-lock.yaml
@@ -23,6 +23,15 @@ importers:
'@shoelace-style/shoelace':
specifier: ^2.15.1
version: 2.15.1(@types/react@18.3.3)
+ '@tiptap/core':
+ specifier: ^2.8.0
+ version: 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm':
+ specifier: ^2.8.0
+ version: 2.8.0
+ '@tiptap/starter-kit':
+ specifier: ^2.8.0
+ version: 2.8.0(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))
'@turf/bbox':
specifier: ^7.0.0
version: 7.0.0
@@ -573,6 +582,9 @@ packages:
'@prisma/engines@4.8.1':
resolution: {integrity: sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw==}
+ '@remirror/core-constants@3.0.0':
+ resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==}
+
'@rollup/pluginutils@5.1.0':
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
@@ -713,6 +725,121 @@ packages:
svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.0
+ '@tiptap/core@2.8.0':
+ resolution: {integrity: sha512-xsqDI4BNzYRWRtBq7+/38ThhqEr7uG9Njip1x+9/wgR3vWPBFnBkYJTz6jSxS35NRE6BSnERm4/B/vrLuY1Hdw==}
+ peerDependencies:
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-blockquote@2.8.0':
+ resolution: {integrity: sha512-m3CKrOIvV7fY1Ak2gYf5LkKiz6AHxHpg6wxfVaJvdBqXgLyVtHo552N+A4oSHOSRbB4AG9EBQ2NeBM8cdEQ4MA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-bold@2.8.0':
+ resolution: {integrity: sha512-U1YkZBxDkSLNvPNiqxB5g42IeJHr27C7zDb/yGQN2xL4UBeg4O9xVhCFfe32f6tLwivSL0dar4ScElpaCJuqow==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-bullet-list@2.8.0':
+ resolution: {integrity: sha512-H4O2X0ozbc/ce9/XF1H98sqWVUdtt7jzy7hMBunwmY8ZxI4dHtcRkeg81CZbpKTqOqRrMCLWjE3M2tgiDXrDkA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/extension-list-item': ^2.7.0
+ '@tiptap/extension-text-style': ^2.7.0
+
+ '@tiptap/extension-code-block@2.8.0':
+ resolution: {integrity: sha512-POuA5Igx+Dto0DTazoBFAQTj/M/FCdkqRVD9Uhsxhv49swPyANTJRr05vgbgtHB+NDDsZfCawVh7pI0IAD/O0w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-code@2.8.0':
+ resolution: {integrity: sha512-VSFn3sFF6qPpOGkXFhik8oYRH5iByVJpFEFd/duIEftmS0MdPzkbSItOpN3mc9xsJ5dCX80LYaResSj5hr5zkA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-document@2.8.0':
+ resolution: {integrity: sha512-mp7Isx1sVc/ifeW4uW/PexGQ9exN3NRUOebSpnLfqXeWYk4y1RS1PA/3+IHkOPVetbnapgPjFx/DswlCP3XLjA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-dropcursor@2.8.0':
+ resolution: {integrity: sha512-rAFvx44YuT6dtS1c+ALw0ROAGI16l5L1HxquL4hR1gtxDcTieST5xhw5bkshXlmrlfotZXPrhokzqA7qjhZtJw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-gapcursor@2.8.0':
+ resolution: {integrity: sha512-Be1LWCmvteQInOnNVN+HTqc1XWsj1bCl+Q7et8qqNjtGtTaCbdCp8ppcH1SKJxNTM/RLUtPyJ8FDgOTj51ixCA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-hard-break@2.8.0':
+ resolution: {integrity: sha512-vqiIfviNiCmy/pJTHuDSCAGL2O4QDEdDmAvGJu8oRmElUrnlg8DbJUfKvn6DWQHNSQwRb+LDrwWlzAYj1K9u6A==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-heading@2.8.0':
+ resolution: {integrity: sha512-4inWgrTPiqlivPmEHFOM5ck2UsmOsbKKPtqga6bALvWPmCv24S6/EBwFp8Jz4YABabXDnkviihmGu0LpP9D69w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-history@2.8.0':
+ resolution: {integrity: sha512-u5YS0J5Egsxt8TUWMMAC3QhPZaak+IzQeyHch4gtqxftx96tprItY7AD/A3pGDF2uCSnN+SZrk6yVexm6EncDw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-horizontal-rule@2.8.0':
+ resolution: {integrity: sha512-Sn/MI8WVFBoIYSIHA9NJryJIyCEzZdRysau8pC5TFnfifre0QV1ksPz2bgF+DyCD69ozQiRdBBHDEwKe47ZbfQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-italic@2.8.0':
+ resolution: {integrity: sha512-PwwSE2LTYiHI47NJnsfhBmPiLE8IXZYqaSoNPU6flPrk1KxEzqvRI1joKZBmD9wuqzmHJ93VFIeZcC+kfwi8ZA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-list-item@2.8.0':
+ resolution: {integrity: sha512-o7OGymGxB0B9x3x2prp3KBDYFuBYGc5sW69O672jk8G52DqhzzndgPnkk0qUn8nXAUKuDGbJmpmHVA2kagqnRg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-ordered-list@2.8.0':
+ resolution: {integrity: sha512-sCvNbcTS1+5QTTXwUPFa10vf5I1pr8sGcOTIh0G+a5ZkS5+6FxT12k7VLzPt39QyNbOi+77U2o4Xr4XyaEkfSg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/extension-list-item': ^2.7.0
+ '@tiptap/extension-text-style': ^2.7.0
+
+ '@tiptap/extension-paragraph@2.8.0':
+ resolution: {integrity: sha512-XgxxNNbuBF48rAGwv7/s6as92/xjm/lTZIGTq9aG13ClUKFtgdel7C33SpUCcxg3cO2WkEyllXVyKUiauFZw/A==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-strike@2.8.0':
+ resolution: {integrity: sha512-ezkDiXxQ3ME/dDMMM7tAMkKRi6UWw7tIu+Mx7Os0z8HCGpVBk1gFhLlhEd8I5rJaPZr4tK1wtSehMA9bscFGQw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-text-style@2.8.0':
+ resolution: {integrity: sha512-jJp0vcZ2Ty7RvIL0VU6dm1y+fTfXq1lN2GwtYzYM0ueFuESa+Qo8ticYOImyWZ3wGJGVrjn7OV9r0ReW0/NYkQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-text@2.8.0':
+ resolution: {integrity: sha512-EDAdFFzWOvQfVy7j3qkKhBpOeE5thkJaBemSWfXI93/gMVc0ZCdLi24mDvNNgUHlT+RjlIoQq908jZaaxLKN2A==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/pm@2.8.0':
+ resolution: {integrity: sha512-eMGpRooUMvKz/vOpnKKppApMSoNM325HxTdAJvTlVAmuHp5bOY5kyY1kfUlePRiVx1t1UlFcXs3kecFwkkBD3Q==}
+
+ '@tiptap/starter-kit@2.8.0':
+ resolution: {integrity: sha512-r7UwaTrECkQoheWVZKFDqtL5tBx07x7IFT+prfgnsVlYFutGWskVVqzCDvD3BDmrg5PzeCWYZrQGlPaLib7tjg==}
+
'@turf/bbox@7.0.0':
resolution: {integrity: sha512-IyXG5HAsn6IZLdAtQo7aWYccjU5WsV+uzIzhGaXrh/qTVylSYmRiWgLdiekHZVED9nv9r7D/EJUMOT4zyA6POA==}
@@ -761,12 +888,21 @@ packages:
'@types/leaflet@1.9.12':
resolution: {integrity: sha512-BK7XS+NyRI291HIo0HCfE18Lp8oA30H1gpi1tf0mF3TgiCEzanQjOqNZ4x126SXzzi2oNSZhZ5axJp1k0iM6jg==}
+ '@types/linkify-it@5.0.0':
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
'@types/mapbox__point-geometry@0.1.4':
resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==}
'@types/mapbox__vector-tile@1.3.4':
resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==}
+ '@types/markdown-it@14.1.2':
+ resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
+
+ '@types/mdurl@2.0.0':
+ resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+
'@types/node@20.14.8':
resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==}
@@ -1134,6 +1270,9 @@ packages:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
+ crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+
cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -1323,6 +1462,10 @@ packages:
electron-to-chromium@1.4.827:
resolution: {integrity: sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==}
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
es-define-property@1.0.0:
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
engines: {node: '>= 0.4'}
@@ -1830,6 +1973,9 @@ packages:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
+ linkify-it@5.0.0:
+ resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+
lit-element@4.0.6:
resolution: {integrity: sha512-U4sdJ3CSQip7sLGZ/uJskO5hGiqtlpxndsLr6mt3IQIjheg93UKYeGQjWMRql1s/cXNOaRrCzC2FQwjIwSUqkg==}
@@ -1875,9 +2021,16 @@ packages:
resolution: {integrity: sha512-qOS1hn4d/pn2i0uva4S5Oz+fACzTkgBKq+NpwT/Tqzi4MSyzcWNtDELzLUSgWqHfNIkGCl5CZ/w7dtis+t4RCw==}
engines: {node: '>=16.14.0', npm: '>=8.1.0'}
+ markdown-it@14.1.0:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+
mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -1992,6 +2145,9 @@ packages:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
+ orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
+
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -2133,9 +2289,71 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ prosemirror-changeset@2.2.1:
+ resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==}
+
+ prosemirror-collab@1.3.1:
+ resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==}
+
+ prosemirror-commands@1.6.0:
+ resolution: {integrity: sha512-xn1U/g36OqXn2tn5nGmvnnimAj/g1pUx2ypJJIe8WkVX83WyJVC5LTARaxZa2AtQRwntu9Jc5zXs9gL9svp/mg==}
+
+ prosemirror-dropcursor@1.8.1:
+ resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==}
+
+ prosemirror-gapcursor@1.3.2:
+ resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==}
+
+ prosemirror-history@1.4.1:
+ resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==}
+
+ prosemirror-inputrules@1.4.0:
+ resolution: {integrity: sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==}
+
+ prosemirror-keymap@1.2.2:
+ resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==}
+
+ prosemirror-markdown@1.13.1:
+ resolution: {integrity: sha512-Sl+oMfMtAjWtlcZoj/5L/Q39MpEnVZ840Xo330WJWUvgyhNmLBLN7MsHn07s53nG/KImevWHSE6fEj4q/GihHw==}
+
+ prosemirror-menu@1.2.4:
+ resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==}
+
+ prosemirror-model@1.23.0:
+ resolution: {integrity: sha512-Q/fgsgl/dlOAW9ILu4OOhYWQbc7TQd4BwKH/RwmUjyVf8682Be4zj3rOYdLnYEcGzyg8LL9Q5IWYKD8tdToreQ==}
+
+ prosemirror-schema-basic@1.2.3:
+ resolution: {integrity: sha512-h+H0OQwZVqMon1PNn0AG9cTfx513zgIG2DY00eJ00Yvgb3UD+GQ/VlWW5rcaxacpCGT1Yx8nuhwXk4+QbXUfJA==}
+
+ prosemirror-schema-list@1.4.1:
+ resolution: {integrity: sha512-jbDyaP/6AFfDfu70VzySsD75Om2t3sXTOdl5+31Wlxlg62td1haUpty/ybajSfJ1pkGadlOfwQq9kgW5IMo1Rg==}
+
+ prosemirror-state@1.4.3:
+ resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
+
+ prosemirror-tables@1.5.0:
+ resolution: {integrity: sha512-VMx4zlYWm7aBlZ5xtfJHpqa3Xgu3b7srV54fXYnXgsAcIGRqKSrhiK3f89omzzgaAgAtDOV4ImXnLKhVfheVNQ==}
+
+ prosemirror-trailing-node@3.0.0:
+ resolution: {integrity: sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==}
+ peerDependencies:
+ prosemirror-model: ^1.22.1
+ prosemirror-state: ^1.4.2
+ prosemirror-view: ^1.33.8
+
+ prosemirror-transform@1.10.0:
+ resolution: {integrity: sha512-9UOgFSgN6Gj2ekQH5CTDJ8Rp/fnKR2IkYfGdzzp5zQMFsS4zDllLVx/+jGcX86YlACpG7UR5fwAXiWzxqWtBTg==}
+
+ prosemirror-view@1.34.3:
+ resolution: {integrity: sha512-mKZ54PrX19sSaQye+sef+YjBbNu2voNwLS1ivb6aD2IRmxRGW64HU9B644+7OfJStGLyxvOreKqEgfvXa91WIA==}
+
protocol-buffers-schema@3.6.0:
resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -2186,6 +2404,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rope-sequence@1.3.4:
+ resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
+
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
@@ -2462,6 +2683,9 @@ packages:
typewise@1.0.3:
resolution: {integrity: sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==}
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
ufo@1.5.3:
resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
@@ -2572,6 +2796,9 @@ packages:
vt-pbf@3.1.3:
resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
+ w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+
which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -3091,6 +3318,8 @@ snapshots:
'@prisma/engines@4.8.1': {}
+ '@remirror/core-constants@3.0.0': {}
+
'@rollup/pluginutils@5.1.0(rollup@4.18.0)':
dependencies:
'@types/estree': 1.0.5
@@ -3228,6 +3457,141 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@tiptap/core@2.8.0(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-blockquote@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-bold@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-bullet-list@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/extension-list-item@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/extension-list-item': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-text-style': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+
+ '@tiptap/extension-code-block@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-code@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-document@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-dropcursor@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-gapcursor@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-hard-break@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-heading@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-history@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-horizontal-rule@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/pm': 2.8.0
+
+ '@tiptap/extension-italic@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-list-item@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-ordered-list@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/extension-list-item@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/extension-list-item': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-text-style': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+
+ '@tiptap/extension-paragraph@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-strike@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/extension-text@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+
+ '@tiptap/pm@2.8.0':
+ dependencies:
+ prosemirror-changeset: 2.2.1
+ prosemirror-collab: 1.3.1
+ prosemirror-commands: 1.6.0
+ prosemirror-dropcursor: 1.8.1
+ prosemirror-gapcursor: 1.3.2
+ prosemirror-history: 1.4.1
+ prosemirror-inputrules: 1.4.0
+ prosemirror-keymap: 1.2.2
+ prosemirror-markdown: 1.13.1
+ prosemirror-menu: 1.2.4
+ prosemirror-model: 1.23.0
+ prosemirror-schema-basic: 1.2.3
+ prosemirror-schema-list: 1.4.1
+ prosemirror-state: 1.4.3
+ prosemirror-tables: 1.5.0
+ prosemirror-trailing-node: 3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3)
+ prosemirror-transform: 1.10.0
+ prosemirror-view: 1.34.3
+
+ '@tiptap/starter-kit@2.8.0(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))':
+ dependencies:
+ '@tiptap/core': 2.8.0(@tiptap/pm@2.8.0)
+ '@tiptap/extension-blockquote': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-bold': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-bullet-list': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/extension-list-item@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))
+ '@tiptap/extension-code': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-code-block': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)
+ '@tiptap/extension-document': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-dropcursor': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)
+ '@tiptap/extension-gapcursor': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)
+ '@tiptap/extension-hard-break': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-heading': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-history': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)
+ '@tiptap/extension-horizontal-rule': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/pm@2.8.0)
+ '@tiptap/extension-italic': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-list-item': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-ordered-list': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))(@tiptap/extension-list-item@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))(@tiptap/extension-text-style@2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0)))
+ '@tiptap/extension-paragraph': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-strike': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/extension-text': 2.8.0(@tiptap/core@2.8.0(@tiptap/pm@2.8.0))
+ '@tiptap/pm': 2.8.0
+ transitivePeerDependencies:
+ - '@tiptap/extension-text-style'
+
'@turf/bbox@7.0.0':
dependencies:
'@turf/helpers': 7.0.0
@@ -3298,6 +3662,8 @@ snapshots:
dependencies:
'@types/geojson': 7946.0.14
+ '@types/linkify-it@5.0.0': {}
+
'@types/mapbox__point-geometry@0.1.4': {}
'@types/mapbox__vector-tile@1.3.4':
@@ -3306,6 +3672,13 @@ snapshots:
'@types/mapbox__point-geometry': 0.1.4
'@types/pbf': 3.0.5
+ '@types/markdown-it@14.1.2':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+
+ '@types/mdurl@2.0.0': {}
+
'@types/node@20.14.8':
dependencies:
undici-types: 5.26.5
@@ -3781,6 +4154,8 @@ snapshots:
cookie@0.6.0: {}
+ crelt@1.0.6: {}
+
cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
@@ -3888,6 +4263,8 @@ snapshots:
electron-to-chromium@1.4.827: {}
+ entities@4.5.0: {}
+
es-define-property@1.0.0:
dependencies:
get-intrinsic: 1.2.4
@@ -4410,6 +4787,10 @@ snapshots:
lilconfig@2.1.0: {}
+ linkify-it@5.0.0:
+ dependencies:
+ uc.micro: 2.1.0
+
lit-element@4.0.6:
dependencies:
'@lit-labs/ssr-dom-shim': 1.2.0
@@ -4497,8 +4878,19 @@ snapshots:
tinyqueue: 2.0.3
vt-pbf: 3.1.3
+ markdown-it@14.1.0:
+ dependencies:
+ argparse: 2.0.1
+ entities: 4.5.0
+ linkify-it: 5.0.0
+ mdurl: 2.0.0
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
+
mdn-data@2.0.30: {}
+ mdurl@2.0.0: {}
+
merge-stream@2.0.0: {}
merge2@1.4.1: {}
@@ -4604,6 +4996,8 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
+ orderedmap@2.1.1: {}
+
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -4721,8 +5115,113 @@ snapshots:
dependencies:
'@prisma/engines': 4.8.1
+ prosemirror-changeset@2.2.1:
+ dependencies:
+ prosemirror-transform: 1.10.0
+
+ prosemirror-collab@1.3.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+
+ prosemirror-commands@1.6.0:
+ dependencies:
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+
+ prosemirror-dropcursor@1.8.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+ prosemirror-view: 1.34.3
+
+ prosemirror-gapcursor@1.3.2:
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.34.3
+
+ prosemirror-history@1.4.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+ prosemirror-view: 1.34.3
+ rope-sequence: 1.3.4
+
+ prosemirror-inputrules@1.4.0:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+
+ prosemirror-keymap@1.2.2:
+ dependencies:
+ prosemirror-state: 1.4.3
+ w3c-keyname: 2.2.8
+
+ prosemirror-markdown@1.13.1:
+ dependencies:
+ '@types/markdown-it': 14.1.2
+ markdown-it: 14.1.0
+ prosemirror-model: 1.23.0
+
+ prosemirror-menu@1.2.4:
+ dependencies:
+ crelt: 1.0.6
+ prosemirror-commands: 1.6.0
+ prosemirror-history: 1.4.1
+ prosemirror-state: 1.4.3
+
+ prosemirror-model@1.23.0:
+ dependencies:
+ orderedmap: 2.1.1
+
+ prosemirror-schema-basic@1.2.3:
+ dependencies:
+ prosemirror-model: 1.23.0
+
+ prosemirror-schema-list@1.4.1:
+ dependencies:
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+
+ prosemirror-state@1.4.3:
+ dependencies:
+ prosemirror-model: 1.23.0
+ prosemirror-transform: 1.10.0
+ prosemirror-view: 1.34.3
+
+ prosemirror-tables@1.5.0:
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+ prosemirror-view: 1.34.3
+
+ prosemirror-trailing-node@3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.34.3):
+ dependencies:
+ '@remirror/core-constants': 3.0.0
+ escape-string-regexp: 4.0.0
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.34.3
+
+ prosemirror-transform@1.10.0:
+ dependencies:
+ prosemirror-model: 1.23.0
+
+ prosemirror-view@1.34.3:
+ dependencies:
+ prosemirror-model: 1.23.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.0
+
protocol-buffers-schema@3.6.0: {}
+ punycode.js@2.3.1: {}
+
punycode@2.3.1: {}
qr-creator@1.0.0: {}
@@ -4782,6 +5281,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.18.0
fsevents: 2.3.3
+ rope-sequence@1.3.4: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
@@ -5039,6 +5540,8 @@ snapshots:
dependencies:
typewise-core: 1.2.0
+ uc.micro@2.1.0: {}
+
ufo@1.5.3: {}
unconfig@0.3.13:
@@ -5168,6 +5671,8 @@ snapshots:
'@mapbox/vector-tile': 1.3.1
pbf: 3.2.1
+ w3c-keyname@2.2.8: {}
+
which-boxed-primitive@1.0.2:
dependencies:
is-bigint: 1.0.4
diff --git a/src/mapper/src/assets/images/black-lock.png b/src/mapper/src/assets/images/black-lock.png
new file mode 100644
index 000000000..e503a9375
Binary files /dev/null and b/src/mapper/src/assets/images/black-lock.png differ
diff --git a/src/mapper/src/assets/images/locationArc.png b/src/mapper/src/assets/images/locationArc.png
new file mode 100644
index 000000000..ded68ceec
Binary files /dev/null and b/src/mapper/src/assets/images/locationArc.png differ
diff --git a/src/mapper/src/assets/images/locationDot.png b/src/mapper/src/assets/images/locationDot.png
new file mode 100644
index 000000000..2ad443fa0
Binary files /dev/null and b/src/mapper/src/assets/images/locationDot.png differ
diff --git a/src/mapper/src/assets/images/red-lock.png b/src/mapper/src/assets/images/red-lock.png
new file mode 100644
index 000000000..095692a3b
Binary files /dev/null and b/src/mapper/src/assets/images/red-lock.png differ
diff --git a/src/mapper/src/lib/components/common/Editor/editor.css b/src/mapper/src/lib/components/common/Editor/editor.css
new file mode 100644
index 000000000..f482a7d7a
--- /dev/null
+++ b/src/mapper/src/lib/components/common/Editor/editor.css
@@ -0,0 +1,74 @@
+.tiptap {
+ outline: none !important;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ height: 100px;
+ overflow-y: scroll;
+}
+
+@media screen and (max-width: 500px) {
+ .tiptap {
+ height: 80px;
+ overflow-y: scroll;
+ }
+}
+
+.tiptap code {
+ background-color: rgba(#616161, 0.1);
+ color: #616161;
+}
+
+.tiptap pre {
+ background: #0d0d0d;
+ color: #fff;
+ font-family: 'JetBrainsMono', monospace;
+ padding: 0.75rem 1rem;
+ border-radius: 0.5rem;
+}
+.tiptap pre code {
+ color: inherit;
+ padding: 0;
+ background: none;
+ font-size: 0.8rem;
+}
+
+.tiptap img {
+ max-width: 100%;
+ height: auto;
+}
+
+.tiptap blockquote {
+ padding-left: 1rem;
+ border-left: 2px solid #c2c2c2;
+}
+
+.tiptap hr {
+ border: none;
+ border-top: 1px solid #c2c2c2;
+ margin: 1.5rem 0;
+}
+
+.tiptap a {
+ color: #0092d1;
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+.tiptap iframe {
+ border: 8px solid #000;
+ border-radius: 4px;
+ min-width: 200px;
+ min-height: 200px;
+ display: block;
+ outline: 0px solid transparent;
+}
+
+.tiptap div[data-youtube-video] {
+ cursor: move;
+ padding-right: 24px;
+}
+
+.tiptap .ProseMirror-selectednode iframe {
+ transition: outline 0.15s;
+ outline: 6px solid #ece111;
+}
diff --git a/src/mapper/src/lib/components/common/Editor/editor.svelte b/src/mapper/src/lib/components/common/Editor/editor.svelte
new file mode 100644
index 000000000..5f24cb9dd
--- /dev/null
+++ b/src/mapper/src/lib/components/common/Editor/editor.svelte
@@ -0,0 +1,52 @@
+
+
+
+
+ {#if editor}
+
+ {/if}
+
+
+
+
+ CLEAR
+ COMMENT
+
+
+
+
diff --git a/src/mapper/src/lib/components/common/Editor/toolbar.svelte b/src/mapper/src/lib/components/common/Editor/toolbar.svelte
new file mode 100644
index 000000000..2615be65f
--- /dev/null
+++ b/src/mapper/src/lib/components/common/Editor/toolbar.svelte
@@ -0,0 +1,109 @@
+
+
+
+
+ editor?.chain()?.focus()?.toggleBold().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleItalic().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleStrike().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleHeading({ level: 1 }).run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleHeading({ level: 2 }).run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleHeading({ level: 3 }).run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleBulletList().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleOrderedList().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleCodeBlock().run()}
+ >
+
+
+ editor?.chain()?.focus()?.toggleBlockquote().run()}
+ >
+
+
+ editor?.chain()?.focus()?.setHorizontalRule().run()}
+ >
+
+
+ editor?.chain()?.focus()?.undo().run()}>
+
+
+ editor?.chain()?.focus()?.redo().run()}>
+
+
+
+
diff --git a/src/mapper/src/lib/components/common/bottom-sheet.svelte b/src/mapper/src/lib/components/common/bottom-sheet.svelte
new file mode 100644
index 000000000..4d0c7804b
--- /dev/null
+++ b/src/mapper/src/lib/components/common/bottom-sheet.svelte
@@ -0,0 +1,109 @@
+
+
+
diff --git a/src/mapper/src/lib/components/page/layer-switcher.svelte b/src/mapper/src/lib/components/page/layer-switcher.svelte
new file mode 100644
index 000000000..22a15c412
--- /dev/null
+++ b/src/mapper/src/lib/components/page/layer-switcher.svelte
@@ -0,0 +1,22 @@
+
+
+
(isOpen = false)} class="relative">
+
(isOpen = !isOpen)}>
+
+
+
+ Layer Switcher
+
+
+
+
diff --git a/src/mapper/src/lib/components/page/legend.svelte b/src/mapper/src/lib/components/page/legend.svelte
new file mode 100644
index 000000000..91ca4a235
--- /dev/null
+++ b/src/mapper/src/lib/components/page/legend.svelte
@@ -0,0 +1,48 @@
+
+
+
(isOpen = false)} class="relative">
+
(isOpen = !isOpen)}>
+
+
+
+
Legend
+ {#each taskStatuses as taskStatus}
+
+ {#if !taskStatus.color}
+
+
+
+ {:else}
+
+ {/if}
+
{taskStatus?.status}
+
+ {/each}
+
+
+
+
diff --git a/src/mapper/src/lib/components/page/more/index.svelte b/src/mapper/src/lib/components/page/more/index.svelte
new file mode 100644
index 000000000..c42a184a6
--- /dev/null
+++ b/src/mapper/src/lib/components/page/more/index.svelte
@@ -0,0 +1,72 @@
+
+
+
+ {#if activeStack === ''}
+ {#each stackGroup as stack}
+
(activeStack = stack.title)}
+ >
+
+
+
+ {/each}
+ {/if}
+
+
+ {#if activeStack !== ''}
+
+
(activeStack = '')}
+ >
+
{activeStack}
+
+ {/if}
+
+ {#if activeStack === 'Comment'}
+
+ {/if}
+ {#if activeStack === 'Instructions'}
+
+ {/if}
+ {#if activeStack === 'Activities'}
+
+ {/if}
+
+
+
diff --git a/src/mapper/src/routes/[projectId]/+page.svelte b/src/mapper/src/routes/[projectId]/+page.svelte
index 55ed0b00d..14ff1a767 100644
--- a/src/mapper/src/routes/[projectId]/+page.svelte
+++ b/src/mapper/src/routes/[projectId]/+page.svelte
@@ -1,53 +1,73 @@
{#if $latestEvent}
- Latest: { $latestEvent.action_text }
+ Latest: {$latestEvent.action_text}
{/if}
@@ -217,35 +323,82 @@
{/if}
{/if}
-
{
- featureClicked.subscribe(fClicked => {
- if (!fClicked) {
- selectedTaskId.set(null);
- }
- featureClicked.set(false);
- });
- }}
->
-
+
+
{
+ featureClicked.subscribe((fClicked) => {
+ if (!fClicked) {
+ selectedTaskId.set(null);
+ }
+ featureClicked.set(false);
+ toggleTaskActionModal = false;
+ });
+ }}
+ images={[
+ { id: '1', url: BlackLockImg },
+ { id: '3', url: RedLockImg },
+ { id: 'locationArc', url: LocationArcImg },
+ { id: 'locationDot', url: LocationDotImg },
+ ]}
+ >
+
+
+
+
+ (toggleGeolocationStatus = !toggleGeolocationStatus)}
+ >
+
+ {#if toggleGeolocationStatus}
+
+
+
+ {/if}
+
-
-
-
-
selectedTab = e.detail.name}
- style="--panel-display: {panelDisplay};"
- bind:this={tabGroup}
->
-
-
-
-
-
- {#if $taskEventArray.length > 0}
- {#each $taskEventArray as record}
- zoomToTask(e)}
- >
- {/each}
- {/if}
-
-
-
-
- TODO stuff here
-
-
-
-
-
-
-
-
- Scan this QR Code in ODK Collect
+
+
+
+
+
+
+
+
+ {#if $selectedTaskId && selectedTab === 'map' && toggleTaskActionModal && ($selectedTaskStatus === 'RELEASED_FOR_MAPPING' || $selectedTaskStatus === 'LOCKED_FOR_MAPPING')}
+
+
+
+
Task #{$selectedTaskId}
+
(toggleTaskActionModal = false)}
+ >
-
-
-
-
+ {#if $selectedTaskStatus == 'RELEASED_FOR_MAPPING'}
+
Do you want to start mapping task #{$selectedTaskId}?
+
+
(toggleTaskActionModal = false)}
+ outline>CANCEL
+
+
+
+
+ {:else if $selectedTaskStatus == 'LOCKED_FOR_MAPPING'}
+
Task #{$selectedTaskId} has been locked, Is the task completely mapped?
+
+
+
+
(toggleTaskActionModal = false)}
+ >
+
CANCEL MAPPING
+
+
+
(toggleTaskActionModal = false)}
+ >
+
COMPLETE MAPPING
+
+
+ GO TO ODK
+
+
+
+ {/if}
+
+ {/if}
-
-
- Download
-
+ {#if selectedTab !== 'map'}
+
{
+ tabGroup.show('map');
+ }}
+ >
+ {#if selectedTab === 'events'}
+
+
+
+
+ {/if}
+ {#if selectedTab === 'offline'}
+ TODO stuff here
+ {/if}
+ {#if selectedTab === 'qrcode'}
+
+
+
+
Scan this QR Code in ODK Collect
+
+
+
+
+
+
+
+
+
+ Download
+
+
+
+
+ Open ODK
+
+
+ {/if}
+
+ {/if}
-
-
- Open ODK
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
{
+ selectedTab = e.detail.name;
+ }}
+ style="--panel-display: none"
+ bind:this={tabGroup}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+