From b6236b1048b247a86a00ed17d8b658350fe9a600 Mon Sep 17 00:00:00 2001 From: Simeon Griggs Date: Wed, 12 Jul 2023 12:33:34 +0100 Subject: [PATCH 1/5] update z-index of clickables --- web/styles/globals.css | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/web/styles/globals.css b/web/styles/globals.css index 29121cb..754d4cc 100644 --- a/web/styles/globals.css +++ b/web/styles/globals.css @@ -3,7 +3,7 @@ html { scroll-behavior: smooth; - scroll-padding-top: theme("spacing.20"); + scroll-padding-top: theme('spacing.20'); overflow: auto; } @@ -12,20 +12,25 @@ body { -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; - -ms-font-feature-settings: "kern" 1; - font-feature-settings: "kern"; + -ms-font-feature-settings: 'kern' 1; + font-feature-settings: 'kern'; } -pre[class*="language-"] { +pre[class*='language-'] { @apply py-4 px-4 border-t border-b border-blue-100 text-xs; overflow: auto; } @screen md { - pre[class*="language-"] { + pre[class*='language-'] { @apply border rounded text-sm; } } +#sanity-visual-editing { + position: relative; + z-index: 100000; +} + @tailwind utilities; From 5da2b926d03498c676b8573467ff7521a26b7ba8 Mon Sep 17 00:00:00 2001 From: Simeon Griggs Date: Thu, 13 Jul 2023 09:48:48 +0100 Subject: [PATCH 2/5] add editable presenter names --- studio/package-lock.json | 319 ++++++++++++++------------------ studio/package.json | 2 +- studio/structure/index.ts | 2 +- web/components/Clean.tsx | 13 +- web/components/CourseLayout.tsx | 8 +- web/components/LessonLayout.tsx | 15 +- web/components/Presenters.tsx | 24 +++ web/components/Subtitle.tsx | 20 +- web/components/Title.tsx | 8 +- web/sanity/client.ts | 2 + web/sanity/queries.ts | 1 + 11 files changed, 198 insertions(+), 216 deletions(-) create mode 100644 web/components/Presenters.tsx diff --git a/studio/package-lock.json b/studio/package-lock.json index ac51cec..9bcec73 100644 --- a/studio/package-lock.json +++ b/studio/package-lock.json @@ -27,7 +27,7 @@ "react-icons": "^4.4.0", "react-is": "^18.2.0", "react-xarrows": "^2.0.2", - "sanity": "^3.13.0", + "sanity": "^3.14.2", "sanity-plugin-dashboard-widget-vercel": "^2.0.1", "sanity-plugin-documents-pane": "^2.0.0", "sanity-plugin-google-translate": "^3.0.0", @@ -2689,32 +2689,6 @@ "node": ">= 8" } }, - "node_modules/@portabletext/react": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@portabletext/react/-/react-3.0.4.tgz", - "integrity": "sha512-M15IXRgoOgWiu3WxwdCZPpi/0sdP2KrMcRKCZFHI4D2nkhXO1A8Avs6Djc+uPg5ayfnCxewLl/FnXA0hFgccBw==", - "dependencies": { - "@portabletext/toolkit": "^2.0.4", - "@portabletext/types": "^2.0.5" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "react": "^17 || ^18" - } - }, - "node_modules/@portabletext/react/node_modules/@portabletext/toolkit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@portabletext/toolkit/-/toolkit-2.0.4.tgz", - "integrity": "sha512-ZE+WntiZQ40vxMBu3/QXRbGjzL8/R2BOFgdf6danJOahvlL9lZ1/DDShyUsxNaAvoBarwGJtjuZVOcRJWcsVng==", - "dependencies": { - "@portabletext/types": "^2.0.5" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - } - }, "node_modules/@portabletext/to-html": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@portabletext/to-html/-/to-html-1.0.4.tgz", @@ -2801,22 +2775,22 @@ } }, "node_modules/@sanity/block-tools": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/block-tools/-/block-tools-3.13.0.tgz", - "integrity": "sha512-9FcY2SHc8ctEtkysvC+Qfnl938KUc2NTF/vS28Bxb47OWZYdXUEAiw0syPr9gbXHCXdtg1CQPqkCebBinuNvuQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/block-tools/-/block-tools-3.14.2.tgz", + "integrity": "sha512-lbA5yUxbyBV49zBAXccmXx0+69Wy8Ukor3aoD4CSXAHpo0v2zKaWmi50AS9a2m9GQdklyoGVFYBIoF2vNCx6TA==", "dependencies": { "get-random-values-esm": "^1.0.0", "lodash": "^4.17.21" } }, "node_modules/@sanity/cli": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-3.13.0.tgz", - "integrity": "sha512-53U6y47O/2fdgxaidf9EvYwj8KVlAl+sR923qCazjATDq5hww8WBSiSMo+xAl2ZKtcD7+WvuAqWvlaRd2F3DIA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-3.14.2.tgz", + "integrity": "sha512-emWwCn73yFHpY+9Gm+k1ILwZ4Gt6rfhKaUwWZqrCM8+6KrI/dE6UhzCRNppVxTRxrxfjqIEgxP7SQAecsUjCbA==", "dependencies": { "@babel/traverse": "^7.19.0", "@vercel/frameworks": "1.4.2", - "@vercel/fs-detectors": "3.9.2", + "@vercel/fs-detectors": "3.9.3", "chalk": "^4.1.2", "esbuild": "^0.16.5", "esbuild-register": "^3.4.1", @@ -2896,9 +2870,9 @@ } }, "node_modules/@sanity/client": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@sanity/client/-/client-6.1.3.tgz", - "integrity": "sha512-asO/AvN+/D1Ljd6UNPWlo/toeO6SmZdsxyl+fJdLfI9by4svp/K3hD4Qy2DXXmwOfGYqGSH7etv2lnRhu+C5YA==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@sanity/client/-/client-6.1.7.tgz", + "integrity": "sha512-crleZDBic3VpmBhIuiVZNkJMxAWE/fj5v+hHBXt+2psW1CJrvBdTLX14f4cqC40W1YDDE4ZGrDkYuph6Y6/YzQ==", "dependencies": { "@sanity/eventsource": "^5.0.0", "get-it": "^8.1.0", @@ -2988,9 +2962,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sanity/diff": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-3.13.0.tgz", - "integrity": "sha512-xaLeVJXukvjGF2dmS4Ig5FgTY+cvQu2mKHk/dhR+yJZrMzY5XKtwhlNsimvfiEf2Omfx6n8AyVswMQ+OSG1EOQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-3.14.2.tgz", + "integrity": "sha512-NFzWg7TNwcGxN8+qalq7UVmZowYtWjd5jTBYOxIIfQ1zUqnJ4ofR7hBLf2tn/+EPZ4z+i/m+nEQFYJJxU4k3Lg==", "dependencies": { "diff-match-patch": "^1.0.4" }, @@ -3051,9 +3025,9 @@ } }, "node_modules/@sanity/export": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/export/-/export-3.13.0.tgz", - "integrity": "sha512-KhdmdABoJLAo9WGYLpGBU4nU9vLLHq6g/HmZHedEXYSg6QmqwS5xyV1r2IxqJbHsRPvEVNuUEKEAr3lQGrbt3g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/export/-/export-3.14.2.tgz", + "integrity": "sha512-nTGeOry0ZC0OZPBZCT68lzNHyZbRdb1bEnsXfZYd7kBVVALAGseic5O5qeKtkqCN+zBNE8Gp6U7nffkc+i6GqA==", "dependencies": { "archiver": "^5.0.0", "debug": "^3.2.7", @@ -3101,13 +3075,13 @@ } }, "node_modules/@sanity/import": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/import/-/import-3.13.0.tgz", - "integrity": "sha512-Qk1DgPSZA32bdugPPywwqXsScE4pQZBj5T0N45Y1kA4KMjDzNMYKuCIBAJS6RX1WtVyBdLV+3IPxThNAyOI8IA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/import/-/import-3.14.2.tgz", + "integrity": "sha512-CSpECt1pcbH10Wrh31zyzQsV5x26Pk8ws/cQ3ZSI+Xxye51FHOzctIXr+eA9Rlw77Lkz06nMDFCRAyLST7an9Q==", "dependencies": { "@sanity/asset-utils": "^1.2.5", "@sanity/generate-help-url": "^3.0.0", - "@sanity/mutator": "3.13.0", + "@sanity/mutator": "3.14.2", "@sanity/uuid": "^3.0.1", "debug": "^3.2.7", "file-url": "^2.0.2", @@ -3207,9 +3181,9 @@ } }, "node_modules/@sanity/mutator": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-3.13.0.tgz", - "integrity": "sha512-UN9+ZWvftvsVkex4Vw4BA8vZuej5RxKJ9GLym273Z5KSlsfNtp2GQkXRxAKfgM6f2oyXaYGDRXn2KmNfusjZ3w==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-3.14.2.tgz", + "integrity": "sha512-Ihs9Y9lCGdvg7e60I6UQV8dHUR8onl6GbF1oOGIDa6YKyFwIzuSZXHAqfEcWEGS6hHUqSgfTYcYH1djrUCpO/g==", "dependencies": { "@sanity/uuid": "^3.0.1", "@types/diff-match-patch": "^1.0.32", @@ -3227,15 +3201,15 @@ } }, "node_modules/@sanity/portable-text-editor": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/portable-text-editor/-/portable-text-editor-3.13.0.tgz", - "integrity": "sha512-QVIMicnrA2+Xe/KR7GTqmLkkRvqnJndTwq5BCwLL+IjST7Gv7/yWIV2antgzAIi2AchJZ/0nyAzgFuwd8st8ZQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/portable-text-editor/-/portable-text-editor-3.14.2.tgz", + "integrity": "sha512-Z0Qqn//os3Yvim+AyWjVxmF5hkR8aEiV7tUB2idRgtYT7Eq5ji9sV6Ae5HhsmlUJ/4ufKNpWAsRUeYixr4Syjg==", "dependencies": { - "@sanity/block-tools": "3.13.0", - "@sanity/schema": "3.13.0", + "@sanity/block-tools": "3.14.2", + "@sanity/schema": "3.14.2", "@sanity/slate-react": "2.30.1", - "@sanity/types": "3.13.0", - "@sanity/util": "3.13.0", + "@sanity/types": "3.14.2", + "@sanity/util": "3.14.2", "debug": "^3.2.7", "is-hotkey": "^0.1.6", "lodash": "^4.17.21", @@ -3259,12 +3233,12 @@ } }, "node_modules/@sanity/schema": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-3.13.0.tgz", - "integrity": "sha512-ErSeK2mWUjFwGWX6vSLRezBxmK2bh42l58a5MVBm1CepeqkCOhFIdqayj+rYJ9fFknGpP40blEVXumTPEjohMA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-3.14.2.tgz", + "integrity": "sha512-K7zaDyj9V8x0sn+6i6ThlDaLfj2JX6dii/yCQpHguT8lkNNGrIaVxI6/K5pDqQ/QzmBkdEeQ83PPOH5aKrSsbg==", "dependencies": { "@sanity/generate-help-url": "^3.0.0", - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "arrify": "^1.0.1", "humanize-list": "^1.0.1", "leven": "^3.1.0", @@ -3314,11 +3288,11 @@ } }, "node_modules/@sanity/types": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/types/-/types-3.13.0.tgz", - "integrity": "sha512-1TLA4KX6OYhaYhonx8S5tMM64EmtcQqPdsWjK4s6Nqqruwt0VnUuGfns2XTNNKS7sAbBbXv47PWyP6JI7izmJw==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/types/-/types-3.14.2.tgz", + "integrity": "sha512-P6Rj8UGaDl7JP7q6iYTxu86mZp/16F9/jQYtG1GQjVKx954FWjvZY2OekiWBsUmNTxhQ2Ql+9fHW07qM6kdIjw==", "dependencies": { - "@sanity/client": "^6.1.1", + "@sanity/client": "^6.1.5", "@types/react": "^18.0.25" } }, @@ -3368,11 +3342,11 @@ } }, "node_modules/@sanity/util": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/util/-/util-3.13.0.tgz", - "integrity": "sha512-4IDGN8xa0w608ddX2gOcjZ0hf/BDAzCjS7uECkEahIczZPMv9QrRa81TzfTM/Q4XOpootGgWmSyEHFoqmKE9hQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/util/-/util-3.14.2.tgz", + "integrity": "sha512-iMW/nvs8RnYiLrVekVZ1jI5e0CC9V8CnDB4j6fMbqu4DQpur1KIErZJ/JRF3mVXalUbqAZGWGAwluqomKT3ZwA==", "dependencies": { - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "get-random-values-esm": "^1.0.0", "moment": "^2.29.4" }, @@ -3390,11 +3364,11 @@ } }, "node_modules/@sanity/validation": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/validation/-/validation-3.13.0.tgz", - "integrity": "sha512-TpzcCplv/srf/DQK1EtjhFeMraH7HNGRRbJf58aYOLg6mDAn3AgKdmz6F+Btt0RDEbtWmT51+lhpmmWcCxOc/A==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/validation/-/validation-3.14.2.tgz", + "integrity": "sha512-4ML1OjokFC8PNqPtzxWTve40WcQUBn7ik3qDsbuAiPDDXYAgfzhUf6U4kMI9oXU0U54CC1ifIaYM5X59NyRznA==", "dependencies": { - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "date-fns": "^2.26.1", "lodash": "^4.17.21", "rxjs": "^7.8.0" @@ -3524,9 +3498,9 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" }, "node_modules/@types/node": { - "version": "20.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz", - "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==" + "version": "20.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", + "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -3986,9 +3960,9 @@ } }, "node_modules/@vercel/fs-detectors": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@vercel/fs-detectors/-/fs-detectors-3.9.2.tgz", - "integrity": "sha512-fApNP4um51mB2DRe4DKmLlPpFiNrlShBNZdxf4sNx0hmempQ3g7BBirqKD66VWEFHRTmO3gctzuhNpBXVTD/+w==", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@vercel/fs-detectors/-/fs-detectors-3.9.3.tgz", + "integrity": "sha512-R6hM4Thh2dZI1oWjxTLuvLpvjUIBPTveHHUVNlcAn9JqOUXL4BYPIit6r376e/ufXnA47oNPN7C1gf4Mk5hfzA==", "dependencies": { "@vercel/error-utils": "1.0.10", "@vercel/frameworks": "1.4.2", @@ -9157,40 +9131,38 @@ "integrity": "sha512-effkSW9cap879l6CVNdwL5iubVz8tkspqgfiqwgBgFQspV7152WHaLzr5590yR8oFgt7E1d4lO09uUhtAgUPoA==" }, "node_modules/sanity": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/sanity/-/sanity-3.13.0.tgz", - "integrity": "sha512-4KMYPy3JtRIBFpXOvcX/IE5eeQaeW4VIc3fEcMxle3mFxTknnj2X+uCSyQNf90RJEdzeO3/ewweLauituTXGrg==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/sanity/-/sanity-3.14.2.tgz", + "integrity": "sha512-YD/Lb5j5+LoqBjwQyBeV1ZeF17vs2YLBHn1TLLoKo+KGoyEJ+t82914+VlsXcgoRAZcqBPAL54S2qsfKCKhFcg==", "dependencies": { "@dnd-kit/core": "^6.0.5", "@dnd-kit/modifiers": "^6.0.0", "@dnd-kit/sortable": "^7.0.1", "@dnd-kit/utilities": "^3.2.0", "@juggle/resize-observer": "^3.3.1", - "@portabletext/react": "^3.0.0", - "@portabletext/types": "^2.0.0", "@rexxars/react-json-inspector": "^8.0.1", "@sanity/asset-utils": "^1.2.5", "@sanity/bifur-client": "^0.3.1", - "@sanity/block-tools": "3.13.0", - "@sanity/cli": "3.13.0", - "@sanity/client": "^6.1.1", + "@sanity/block-tools": "3.14.2", + "@sanity/cli": "3.14.2", + "@sanity/client": "^6.1.5", "@sanity/color": "^2.1.20", - "@sanity/diff": "3.13.0", + "@sanity/diff": "3.14.2", "@sanity/eventsource": "^5.0.0", - "@sanity/export": "3.13.0", + "@sanity/export": "3.14.2", "@sanity/generate-help-url": "^3.0.0", "@sanity/icons": "^2.4.0", "@sanity/image-url": "^1.0.2", - "@sanity/import": "3.13.0", + "@sanity/import": "3.14.2", "@sanity/logos": "^2.0.2", - "@sanity/mutator": "3.13.0", - "@sanity/portable-text-editor": "3.13.0", - "@sanity/schema": "3.13.0", - "@sanity/types": "3.13.0", + "@sanity/mutator": "3.14.2", + "@sanity/portable-text-editor": "3.14.2", + "@sanity/schema": "3.14.2", + "@sanity/types": "3.14.2", "@sanity/ui": "^1.6.0", - "@sanity/util": "3.13.0", + "@sanity/util": "3.14.2", "@sanity/uuid": "^3.0.1", - "@sanity/validation": "3.13.0", + "@sanity/validation": "3.14.2", "@tanstack/react-virtual": "3.0.0-beta.54", "@types/is-hotkey": "^0.1.7", "@types/react-copy-to-clipboard": "^5.0.2", @@ -13264,25 +13236,6 @@ "fastq": "^1.6.0" } }, - "@portabletext/react": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@portabletext/react/-/react-3.0.4.tgz", - "integrity": "sha512-M15IXRgoOgWiu3WxwdCZPpi/0sdP2KrMcRKCZFHI4D2nkhXO1A8Avs6Djc+uPg5ayfnCxewLl/FnXA0hFgccBw==", - "requires": { - "@portabletext/toolkit": "^2.0.4", - "@portabletext/types": "^2.0.5" - }, - "dependencies": { - "@portabletext/toolkit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@portabletext/toolkit/-/toolkit-2.0.4.tgz", - "integrity": "sha512-ZE+WntiZQ40vxMBu3/QXRbGjzL8/R2BOFgdf6danJOahvlL9lZ1/DDShyUsxNaAvoBarwGJtjuZVOcRJWcsVng==", - "requires": { - "@portabletext/types": "^2.0.5" - } - } - } - }, "@portabletext/to-html": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@portabletext/to-html/-/to-html-1.0.4.tgz", @@ -13352,22 +13305,22 @@ } }, "@sanity/block-tools": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/block-tools/-/block-tools-3.13.0.tgz", - "integrity": "sha512-9FcY2SHc8ctEtkysvC+Qfnl938KUc2NTF/vS28Bxb47OWZYdXUEAiw0syPr9gbXHCXdtg1CQPqkCebBinuNvuQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/block-tools/-/block-tools-3.14.2.tgz", + "integrity": "sha512-lbA5yUxbyBV49zBAXccmXx0+69Wy8Ukor3aoD4CSXAHpo0v2zKaWmi50AS9a2m9GQdklyoGVFYBIoF2vNCx6TA==", "requires": { "get-random-values-esm": "^1.0.0", "lodash": "^4.17.21" } }, "@sanity/cli": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-3.13.0.tgz", - "integrity": "sha512-53U6y47O/2fdgxaidf9EvYwj8KVlAl+sR923qCazjATDq5hww8WBSiSMo+xAl2ZKtcD7+WvuAqWvlaRd2F3DIA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-3.14.2.tgz", + "integrity": "sha512-emWwCn73yFHpY+9Gm+k1ILwZ4Gt6rfhKaUwWZqrCM8+6KrI/dE6UhzCRNppVxTRxrxfjqIEgxP7SQAecsUjCbA==", "requires": { "@babel/traverse": "^7.19.0", "@vercel/frameworks": "1.4.2", - "@vercel/fs-detectors": "3.9.2", + "@vercel/fs-detectors": "3.9.3", "chalk": "^4.1.2", "esbuild": "^0.16.5", "esbuild-register": "^3.4.1", @@ -13422,9 +13375,9 @@ } }, "@sanity/client": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@sanity/client/-/client-6.1.3.tgz", - "integrity": "sha512-asO/AvN+/D1Ljd6UNPWlo/toeO6SmZdsxyl+fJdLfI9by4svp/K3hD4Qy2DXXmwOfGYqGSH7etv2lnRhu+C5YA==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@sanity/client/-/client-6.1.7.tgz", + "integrity": "sha512-crleZDBic3VpmBhIuiVZNkJMxAWE/fj5v+hHBXt+2psW1CJrvBdTLX14f4cqC40W1YDDE4ZGrDkYuph6Y6/YzQ==", "requires": { "@sanity/eventsource": "^5.0.0", "get-it": "^8.1.0", @@ -13493,9 +13446,9 @@ } }, "@sanity/diff": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-3.13.0.tgz", - "integrity": "sha512-xaLeVJXukvjGF2dmS4Ig5FgTY+cvQu2mKHk/dhR+yJZrMzY5XKtwhlNsimvfiEf2Omfx6n8AyVswMQ+OSG1EOQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-3.14.2.tgz", + "integrity": "sha512-NFzWg7TNwcGxN8+qalq7UVmZowYtWjd5jTBYOxIIfQ1zUqnJ4ofR7hBLf2tn/+EPZ4z+i/m+nEQFYJJxU4k3Lg==", "requires": { "diff-match-patch": "^1.0.4" } @@ -13543,9 +13496,9 @@ } }, "@sanity/export": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/export/-/export-3.13.0.tgz", - "integrity": "sha512-KhdmdABoJLAo9WGYLpGBU4nU9vLLHq6g/HmZHedEXYSg6QmqwS5xyV1r2IxqJbHsRPvEVNuUEKEAr3lQGrbt3g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/export/-/export-3.14.2.tgz", + "integrity": "sha512-nTGeOry0ZC0OZPBZCT68lzNHyZbRdb1bEnsXfZYd7kBVVALAGseic5O5qeKtkqCN+zBNE8Gp6U7nffkc+i6GqA==", "requires": { "archiver": "^5.0.0", "debug": "^3.2.7", @@ -13583,13 +13536,13 @@ "integrity": "sha512-C4+jb2ny3ZbMgEkLd7Z3C75DsxcTEoE+axXQJsQ75ou0AKWGdVsP351hqK6mJUUxn5HCSlu3vznoh7Yljye4cQ==" }, "@sanity/import": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/import/-/import-3.13.0.tgz", - "integrity": "sha512-Qk1DgPSZA32bdugPPywwqXsScE4pQZBj5T0N45Y1kA4KMjDzNMYKuCIBAJS6RX1WtVyBdLV+3IPxThNAyOI8IA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/import/-/import-3.14.2.tgz", + "integrity": "sha512-CSpECt1pcbH10Wrh31zyzQsV5x26Pk8ws/cQ3ZSI+Xxye51FHOzctIXr+eA9Rlw77Lkz06nMDFCRAyLST7an9Q==", "requires": { "@sanity/asset-utils": "^1.2.5", "@sanity/generate-help-url": "^3.0.0", - "@sanity/mutator": "3.13.0", + "@sanity/mutator": "3.14.2", "@sanity/uuid": "^3.0.1", "debug": "^3.2.7", "file-url": "^2.0.2", @@ -13665,9 +13618,9 @@ "integrity": "sha512-nxJUQQzEEG8EqjiOEswQQpBUuFc3iSxTVF9D9Memg/tlOChX76dStNHoa1RWuvSPu895aqJV+9zxijAa0kF9Vg==" }, "@sanity/mutator": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-3.13.0.tgz", - "integrity": "sha512-UN9+ZWvftvsVkex4Vw4BA8vZuej5RxKJ9GLym273Z5KSlsfNtp2GQkXRxAKfgM6f2oyXaYGDRXn2KmNfusjZ3w==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-3.14.2.tgz", + "integrity": "sha512-Ihs9Y9lCGdvg7e60I6UQV8dHUR8onl6GbF1oOGIDa6YKyFwIzuSZXHAqfEcWEGS6hHUqSgfTYcYH1djrUCpO/g==", "requires": { "@sanity/uuid": "^3.0.1", "@types/diff-match-patch": "^1.0.32", @@ -13687,15 +13640,15 @@ } }, "@sanity/portable-text-editor": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/portable-text-editor/-/portable-text-editor-3.13.0.tgz", - "integrity": "sha512-QVIMicnrA2+Xe/KR7GTqmLkkRvqnJndTwq5BCwLL+IjST7Gv7/yWIV2antgzAIi2AchJZ/0nyAzgFuwd8st8ZQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/portable-text-editor/-/portable-text-editor-3.14.2.tgz", + "integrity": "sha512-Z0Qqn//os3Yvim+AyWjVxmF5hkR8aEiV7tUB2idRgtYT7Eq5ji9sV6Ae5HhsmlUJ/4ufKNpWAsRUeYixr4Syjg==", "requires": { - "@sanity/block-tools": "3.13.0", - "@sanity/schema": "3.13.0", + "@sanity/block-tools": "3.14.2", + "@sanity/schema": "3.14.2", "@sanity/slate-react": "2.30.1", - "@sanity/types": "3.13.0", - "@sanity/util": "3.13.0", + "@sanity/types": "3.14.2", + "@sanity/util": "3.14.2", "debug": "^3.2.7", "is-hotkey": "^0.1.6", "lodash": "^4.17.21", @@ -13713,12 +13666,12 @@ } }, "@sanity/schema": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-3.13.0.tgz", - "integrity": "sha512-ErSeK2mWUjFwGWX6vSLRezBxmK2bh42l58a5MVBm1CepeqkCOhFIdqayj+rYJ9fFknGpP40blEVXumTPEjohMA==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-3.14.2.tgz", + "integrity": "sha512-K7zaDyj9V8x0sn+6i6ThlDaLfj2JX6dii/yCQpHguT8lkNNGrIaVxI6/K5pDqQ/QzmBkdEeQ83PPOH5aKrSsbg==", "requires": { "@sanity/generate-help-url": "^3.0.0", - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "arrify": "^1.0.1", "humanize-list": "^1.0.1", "leven": "^3.1.0", @@ -13762,11 +13715,11 @@ "integrity": "sha512-NBDKGj14g9Z+bopIvZcQKWCzJq5JSrdmzRR1CS+iyA3Gm8SnIWBfZa7I3mTg2X6Nu8LQXG0EPKXdOGozLS4i3w==" }, "@sanity/types": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/types/-/types-3.13.0.tgz", - "integrity": "sha512-1TLA4KX6OYhaYhonx8S5tMM64EmtcQqPdsWjK4s6Nqqruwt0VnUuGfns2XTNNKS7sAbBbXv47PWyP6JI7izmJw==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/types/-/types-3.14.2.tgz", + "integrity": "sha512-P6Rj8UGaDl7JP7q6iYTxu86mZp/16F9/jQYtG1GQjVKx954FWjvZY2OekiWBsUmNTxhQ2Ql+9fHW07qM6kdIjw==", "requires": { - "@sanity/client": "^6.1.1", + "@sanity/client": "^6.1.5", "@types/react": "^18.0.25" } }, @@ -13795,11 +13748,11 @@ } }, "@sanity/util": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/util/-/util-3.13.0.tgz", - "integrity": "sha512-4IDGN8xa0w608ddX2gOcjZ0hf/BDAzCjS7uECkEahIczZPMv9QrRa81TzfTM/Q4XOpootGgWmSyEHFoqmKE9hQ==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/util/-/util-3.14.2.tgz", + "integrity": "sha512-iMW/nvs8RnYiLrVekVZ1jI5e0CC9V8CnDB4j6fMbqu4DQpur1KIErZJ/JRF3mVXalUbqAZGWGAwluqomKT3ZwA==", "requires": { - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "get-random-values-esm": "^1.0.0", "moment": "^2.29.4" } @@ -13814,11 +13767,11 @@ } }, "@sanity/validation": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@sanity/validation/-/validation-3.13.0.tgz", - "integrity": "sha512-TpzcCplv/srf/DQK1EtjhFeMraH7HNGRRbJf58aYOLg6mDAn3AgKdmz6F+Btt0RDEbtWmT51+lhpmmWcCxOc/A==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/@sanity/validation/-/validation-3.14.2.tgz", + "integrity": "sha512-4ML1OjokFC8PNqPtzxWTve40WcQUBn7ik3qDsbuAiPDDXYAgfzhUf6U4kMI9oXU0U54CC1ifIaYM5X59NyRznA==", "requires": { - "@sanity/types": "3.13.0", + "@sanity/types": "3.14.2", "date-fns": "^2.26.1", "lodash": "^4.17.21", "rxjs": "^7.8.0" @@ -13930,9 +13883,9 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" }, "@types/node": { - "version": "20.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz", - "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==" + "version": "20.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", + "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -14254,9 +14207,9 @@ } }, "@vercel/fs-detectors": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@vercel/fs-detectors/-/fs-detectors-3.9.2.tgz", - "integrity": "sha512-fApNP4um51mB2DRe4DKmLlPpFiNrlShBNZdxf4sNx0hmempQ3g7BBirqKD66VWEFHRTmO3gctzuhNpBXVTD/+w==", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@vercel/fs-detectors/-/fs-detectors-3.9.3.tgz", + "integrity": "sha512-R6hM4Thh2dZI1oWjxTLuvLpvjUIBPTveHHUVNlcAn9JqOUXL4BYPIit6r376e/ufXnA47oNPN7C1gf4Mk5hfzA==", "requires": { "@vercel/error-utils": "1.0.10", "@vercel/frameworks": "1.4.2", @@ -18062,40 +18015,38 @@ "integrity": "sha512-effkSW9cap879l6CVNdwL5iubVz8tkspqgfiqwgBgFQspV7152WHaLzr5590yR8oFgt7E1d4lO09uUhtAgUPoA==" }, "sanity": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/sanity/-/sanity-3.13.0.tgz", - "integrity": "sha512-4KMYPy3JtRIBFpXOvcX/IE5eeQaeW4VIc3fEcMxle3mFxTknnj2X+uCSyQNf90RJEdzeO3/ewweLauituTXGrg==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/sanity/-/sanity-3.14.2.tgz", + "integrity": "sha512-YD/Lb5j5+LoqBjwQyBeV1ZeF17vs2YLBHn1TLLoKo+KGoyEJ+t82914+VlsXcgoRAZcqBPAL54S2qsfKCKhFcg==", "requires": { "@dnd-kit/core": "^6.0.5", "@dnd-kit/modifiers": "^6.0.0", "@dnd-kit/sortable": "^7.0.1", "@dnd-kit/utilities": "^3.2.0", "@juggle/resize-observer": "^3.3.1", - "@portabletext/react": "^3.0.0", - "@portabletext/types": "^2.0.0", "@rexxars/react-json-inspector": "^8.0.1", "@sanity/asset-utils": "^1.2.5", "@sanity/bifur-client": "^0.3.1", - "@sanity/block-tools": "3.13.0", - "@sanity/cli": "3.13.0", - "@sanity/client": "^6.1.1", + "@sanity/block-tools": "3.14.2", + "@sanity/cli": "3.14.2", + "@sanity/client": "^6.1.5", "@sanity/color": "^2.1.20", - "@sanity/diff": "3.13.0", + "@sanity/diff": "3.14.2", "@sanity/eventsource": "^5.0.0", - "@sanity/export": "3.13.0", + "@sanity/export": "3.14.2", "@sanity/generate-help-url": "^3.0.0", "@sanity/icons": "^2.4.0", "@sanity/image-url": "^1.0.2", - "@sanity/import": "3.13.0", + "@sanity/import": "3.14.2", "@sanity/logos": "^2.0.2", - "@sanity/mutator": "3.13.0", - "@sanity/portable-text-editor": "3.13.0", - "@sanity/schema": "3.13.0", - "@sanity/types": "3.13.0", + "@sanity/mutator": "3.14.2", + "@sanity/portable-text-editor": "3.14.2", + "@sanity/schema": "3.14.2", + "@sanity/types": "3.14.2", "@sanity/ui": "^1.6.0", - "@sanity/util": "3.13.0", + "@sanity/util": "3.14.2", "@sanity/uuid": "^3.0.1", - "@sanity/validation": "3.13.0", + "@sanity/validation": "3.14.2", "@tanstack/react-virtual": "3.0.0-beta.54", "@types/is-hotkey": "^0.1.7", "@types/react-copy-to-clipboard": "^5.0.2", diff --git a/studio/package.json b/studio/package.json index d0319da..09a3ff8 100644 --- a/studio/package.json +++ b/studio/package.json @@ -33,7 +33,7 @@ "react-icons": "^4.4.0", "react-is": "^18.2.0", "react-xarrows": "^2.0.2", - "sanity": "^3.13.0", + "sanity": "^3.14.2", "sanity-plugin-dashboard-widget-vercel": "^2.0.1", "sanity-plugin-documents-pane": "^2.0.0", "sanity-plugin-google-translate": "^3.0.0", diff --git a/studio/structure/index.ts b/studio/structure/index.ts index 00a1550..f443e32 100644 --- a/studio/structure/index.ts +++ b/studio/structure/index.ts @@ -77,9 +77,9 @@ export const structure: StructureResolver = (S) => ), ]) ), - S.divider(), // Field-level translations S.documentTypeListItem('course').title('Courses'), + S.divider(), S.documentTypeListItem('presenter').title('Presenters').icon(FiUsers), S.divider(), // Singleton, field-level translations diff --git a/web/components/Clean.tsx b/web/components/Clean.tsx index 477d392..3ef8f62 100644 --- a/web/components/Clean.tsx +++ b/web/components/Clean.tsx @@ -1,17 +1,24 @@ import {vercelStegaSplit} from '@vercel/stega' +import React from 'react' export function clean(value?: string | null): string { return value ? vercelStegaSplit(value).cleaned : `` } -export default function Clean({value}: {value: string}) { +type CleanProps = { + value: string + as?: 'div' | 'span' +} + +export default function Clean({value, as}: CleanProps) { const {cleaned, encoded} = vercelStegaSplit(value) + const Element = as ?? React.Fragment return encoded ? ( - <> + {cleaned} {encoded} - + ) : ( cleaned ) diff --git a/web/components/CourseLayout.tsx b/web/components/CourseLayout.tsx index f2250fc..ca380ee 100644 --- a/web/components/CourseLayout.tsx +++ b/web/components/CourseLayout.tsx @@ -9,6 +9,7 @@ import Title from '@/components/Title' import {createCourseSummary, createLessonLinks} from '@/lib/helpers' import {i18n} from '../../languages' +import Presenters from './Presenters' type CourseLayoutProps = { data?: any @@ -27,17 +28,12 @@ export function CourseLayout(props: CourseLayoutProps) { // array of references stored in a separate "translation.metadata" document const lessonPaths = useMemo(() => createLessonLinks(lessons, slug), [lessons, slug]) - const summary = useMemo( - () => createCourseSummary(lessons, presenters, labels), - [lessons, presenters, labels] - ) - return ( <>
- {currentTitle} + }>{currentTitle}
diff --git a/web/components/LessonLayout.tsx b/web/components/LessonLayout.tsx index 357cad8..b9a0335 100644 --- a/web/components/LessonLayout.tsx +++ b/web/components/LessonLayout.tsx @@ -10,7 +10,9 @@ import {createLessonLinks} from '@/lib/helpers' import {i18n} from '../../languages' import Blobs from './Blobs' import Button from './Button' +import Clean, {clean} from './Clean' import LessonLinks from './LessonLinks' +import Presenters from './Presenters' import Prose from './Prose' import Title from './Title' @@ -42,17 +44,6 @@ export function LessonLayout(props: LessonLayoutProps) { ? null : lessonPaths[currentLessonIndex + 1].find((lesson) => lesson.language === currentLanguage) - const presentersString = presenters?.length - ? presenters - .map((presenter) => - [presenter.name, presenter.title] - .filter(Boolean) - .map((part) => vercelStegaSplit(part.toString()).cleaned) - .join(', ') - ) - .join(', ') - : `` - const completeString = labels.find(({key}) => key === 'lesson.continue')?.text const backLabel = labels.find(({key}) => key === 'back')?.text @@ -61,7 +52,7 @@ export function LessonLayout(props: LessonLayoutProps) {
- {title} + }>{title} {coursePath && course && backLabel && (