From 17d5c481098c0414dff5135e57fa8d83ee584aba Mon Sep 17 00:00:00 2001 From: Ali Amori Kadhim Date: Wed, 4 Mar 2026 12:20:51 +0100 Subject: [PATCH 001/100] wip --- apps/pdc-dashboard/config/plugins.ts | 6 +- apps/pdc-dashboard/package.json | 11 +- yarn.lock | 550 +++++++++++++++++++++++++++ 3 files changed, 558 insertions(+), 9 deletions(-) diff --git a/apps/pdc-dashboard/config/plugins.ts b/apps/pdc-dashboard/config/plugins.ts index cdfb86376..ecd62516c 100644 --- a/apps/pdc-dashboard/config/plugins.ts +++ b/apps/pdc-dashboard/config/plugins.ts @@ -120,9 +120,9 @@ export default ({ env }) => { }, }, }, - 'import-export-entries': { - enabled: true, - }, + // 'import-export-entries': { + // enabled: true, + // }, publisher: { enabled: true, config: { diff --git a/apps/pdc-dashboard/package.json b/apps/pdc-dashboard/package.json index fc3fb1c7a..5ed7a06bb 100644 --- a/apps/pdc-dashboard/package.json +++ b/apps/pdc-dashboard/package.json @@ -31,20 +31,19 @@ "@frameless/strapi-tiptap-editor": "0.3.2", "@frameless/strapi-plugin-old-slugs": "1.0.0", "@frameless/content-compliance-checker": "0.0.0", - "@strapi/plugin-graphql": "4.25.23", + "@strapi/plugin-graphql": "4.26.1", "@strapi/plugin-i18n": "4.25.23", - "@strapi/plugin-users-permissions": "4.25.23", - "@strapi/strapi": "4.25.23", + "@strapi/plugin-users-permissions": "4.26.1", + "@strapi/strapi": "4.26.1", "better-sqlite3": "12.2.0", "pg": "8.11.3", "slugify": "1.6.6", "strapi-plugin-config-sync": "1.2.6", "strapi-plugin-entity-relationship-chart": "4.14.6", - "strapi-plugin-import-export-entries": "1.23.1", "strapi-plugin-notes": "1.1.3", - "strapi-plugin-publisher": "1.5.7", + "strapi-plugin-publisher": "1.5.9", "strapi-plugin-slugify": "2.3.8", - "strapi-prometheus": "1.9.1", + "strapi-prometheus": "1.9.2", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "5.3.4", diff --git a/yarn.lock b/yarn.lock index c70962b68..748a1518e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7128,6 +7128,113 @@ webpack-hot-middleware "2.26.0" yup "0.32.9" +"@strapi/admin@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/admin/-/admin-4.26.1.tgz#7e7d43770bfa20f88fd8add56a8b25130030e984" + integrity sha512-SY5gQedNAqSqjHxN0lqsby29J4sAG8FQnPVXq3jrVWn5Y90kSpsKgOr/k1M4VdR3XmnveKjb1+XU9ZkXDjbAnw== + dependencies: + "@casl/ability" "6.5.0" + "@pmmmwh/react-refresh-webpack-plugin" "0.5.11" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-toolbar" "1.0.4" + "@reduxjs/toolkit" "1.9.7" + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/permissions" "4.26.1" + "@strapi/provider-audit-logs-local" "4.26.1" + "@strapi/types" "4.26.1" + "@strapi/typescript-utils" "4.26.1" + "@strapi/utils" "4.26.1" + "@vitejs/plugin-react-swc" "3.5.0" + axios "1.8.2" + bcryptjs "2.4.3" + boxen "5.1.2" + browserslist "^4.22.2" + browserslist-to-esbuild "1.2.0" + chalk "^4.1.2" + chokidar "3.5.3" + codemirror5 "npm:codemirror@^5.65.11" + cross-env "^7.0.3" + css-loader "^6.9.0" + date-fns "2.30.0" + dotenv "14.2.0" + esbuild "0.19.11" + esbuild-loader "^2.21.0" + esbuild-register "3.5.0" + execa "5.1.1" + fast-deep-equal "3.1.3" + find-root "1.1.0" + fork-ts-checker-webpack-plugin "9.0.2" + formik "2.4.0" + fractional-indexing "3.2.0" + fs-extra "10.0.0" + highlight.js "^10.4.1" + history "^4.9.0" + html-webpack-plugin "5.6.0" + immer "9.0.19" + inquirer "8.2.5" + invariant "^2.2.4" + is-localhost-ip "2.0.0" + js-cookie "2.2.1" + jsonwebtoken "9.0.0" + koa "2.16.1" + koa-bodyparser "4.4.1" + koa-compose "4.1.0" + koa-passport "5.0.0" + koa-static "5.0.0" + koa2-ratelimit "^1.1.2" + lodash "4.17.21" + markdown-it "^12.3.2" + markdown-it-abbr "^1.0.4" + markdown-it-container "^3.0.0" + markdown-it-deflist "^2.1.0" + markdown-it-emoji "^2.0.0" + markdown-it-footnote "^3.0.3" + markdown-it-ins "^3.0.1" + markdown-it-mark "^3.0.1" + markdown-it-sub "^1.0.0" + markdown-it-sup "1.0.0" + mini-css-extract-plugin "2.7.7" + node-schedule "2.1.1" + ora "5.4.1" + outdent "0.8.0" + p-map "4.0.0" + passport-local "1.0.0" + pluralize "8.0.0" + prettier "2.8.4" + prop-types "^15.8.1" + punycode "2.3.1" + qs "6.11.1" + react-dnd "16.0.1" + react-dnd-html5-backend "16.0.1" + react-error-boundary "3.1.4" + react-helmet "^6.1.0" + react-intl "6.4.1" + react-is "^18.2.0" + react-query "3.39.3" + react-redux "8.1.1" + react-refresh "0.14.0" + react-select "5.7.0" + react-window "1.8.8" + read-pkg-up "7.0.1" + resolve-from "5.0.0" + rimraf "3.0.2" + sanitize-html "2.13.0" + semver "7.5.4" + sift "16.0.1" + slate "0.94.1" + slate-history "0.93.0" + slate-react "0.98.3" + style-loader "3.3.4" + typescript "5.2.2" + vite "5.1.8" + webpack "^5.89.0" + webpack-bundle-analyzer "^4.10.1" + webpack-dev-middleware "6.1.2" + webpack-hot-middleware "2.26.0" + yup "0.32.9" + "@strapi/cloud-cli@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/cloud-cli/-/cloud-cli-4.25.23.tgz#a6dc8e592ef546174741aafb5f8bf01ece52dd9e" @@ -7153,6 +7260,31 @@ xdg-app-paths "8.3.0" yup "0.32.9" +"@strapi/cloud-cli@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/cloud-cli/-/cloud-cli-4.26.1.tgz#201e41e171f2f5ba7d874f31308573d9d8247f64" + integrity sha512-3XssT9BG/zXO0Uqmg8rd6D1He6/QlqrVWvyRjwc5bMQ5q5m/McG5o3M6iDsUsKydup4XSlypZu8ZjEn5Rbefvg== + dependencies: + "@strapi/utils" "4.26.1" + axios "1.8.2" + chalk "4.1.2" + cli-progress "3.12.0" + commander "8.3.0" + eventsource "2.0.2" + fast-safe-stringify "2.1.1" + fs-extra "10.0.0" + inquirer "8.2.5" + jsonwebtoken "9.0.0" + jwks-rsa "3.1.0" + lodash "4.17.21" + minimatch "9.0.3" + open "8.4.0" + ora "5.4.1" + pkg-up "3.1.0" + tar "6.2.1" + xdg-app-paths "8.3.0" + yup "0.32.9" + "@strapi/content-releases@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/content-releases/-/content-releases-4.25.23.tgz#996a6e03d9edd58178bb818eb73843fa6eb89d40" @@ -7174,6 +7306,27 @@ react-redux "8.1.1" yup "0.32.9" +"@strapi/content-releases@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/content-releases/-/content-releases-4.26.1.tgz#b3007eae8bd1a7c0bd7e826fa28faaee115e7e1e" + integrity sha512-V7HKyVRfTVX/zTAlEe7nqtn7IIXsvy+GG2izZkzl6M9RmuN13LFl4LMRfEUdZolIixr8Xji6NtnRjIfNUBe4vw== + dependencies: + "@reduxjs/toolkit" "1.9.7" + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/types" "4.26.1" + "@strapi/utils" "4.26.1" + axios "1.8.2" + date-fns "2.30.0" + date-fns-tz "2.0.0" + formik "2.4.0" + lodash "4.17.21" + node-schedule "2.1.1" + react-intl "6.4.1" + react-redux "8.1.1" + yup "0.32.9" + "@strapi/data-transfer@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/data-transfer/-/data-transfer-4.25.23.tgz#48c76ec3dc79bb1089d2be9c991fc1d24ec4dace" @@ -7198,6 +7351,30 @@ tar-stream "2.2.0" ws "8.18.0" +"@strapi/data-transfer@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/data-transfer/-/data-transfer-4.26.1.tgz#dd5365d1e3a320d639ef3777255170153208bc73" + integrity sha512-wmYyPccGzjhOYaz5NABc+T6BOwdSHHnXFPdulkQdUIfKr9a4bvAuWPLGknRgB4wi2BnB+khu4sM6ZP69lt6WKg== + dependencies: + "@strapi/logger" "4.26.1" + "@strapi/strapi" "4.26.1" + "@strapi/types" "4.26.1" + "@strapi/utils" "4.26.1" + chalk "4.1.2" + cli-table3 "0.6.5" + commander "8.3.0" + fs-extra "10.0.0" + inquirer "8.2.5" + lodash "4.17.21" + ora "5.4.1" + resolve-cwd "3.0.0" + semver "7.5.4" + stream-chain "2.2.5" + stream-json "1.8.0" + tar "6.2.1" + tar-stream "2.2.0" + ws "8.18.0" + "@strapi/database@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/database/-/database-4.25.23.tgz#039889c48d964fd70eb29dbcfe93c86475e66e63" @@ -7212,6 +7389,20 @@ semver "7.5.4" umzug "3.2.1" +"@strapi/database@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/database/-/database-4.26.1.tgz#cac7c3fe39732a555ca66474b4d314369806bf00" + integrity sha512-cjLPPHrPDpJLFjN+3haDvsSvPL8zyjNQA4GBe8v3Crk6QgwPHsGTkVywwpj2Guask1dulgzfIz7a5KCNojA8Mw== + dependencies: + "@strapi/utils" "4.26.1" + date-fns "2.30.0" + debug "4.3.4" + fs-extra "10.0.0" + knex "2.5.0" + lodash "4.17.21" + semver "7.5.4" + umzug "3.2.1" + "@strapi/design-system@1.12.2": version "1.12.2" resolved "https://registry.yarnpkg.com/@strapi/design-system/-/design-system-1.12.2.tgz#57b7392ac7d75f109cfde0b54a61d693eabb0b0d" @@ -7267,6 +7458,23 @@ semver "7.5.4" tar "6.2.1" +"@strapi/generate-new@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/generate-new/-/generate-new-4.26.1.tgz#7b4c276faf6363e5eea37ab67e88bd113f09096b" + integrity sha512-hT6RDzTYrrnySh3yifOxGTWauarOkyin7cbkdgB/YMZDgh1CtRxs3HYhDOz8V/gYVBt3+8N/yMXnV6cEcaqJEw== + dependencies: + "@sentry/node" "6.19.7" + chalk "^4.1.2" + execa "5.1.1" + fs-extra "10.0.0" + inquirer "8.2.5" + lodash "4.17.21" + node-fetch "2.7.0" + node-machine-id "^1.1.10" + ora "^5.4.1" + semver "7.5.4" + tar "6.2.1" + "@strapi/generators@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/generators/-/generators-4.25.23.tgz#3373004428d4f4471939e1d142b3e6c1106a8ede" @@ -7282,6 +7490,21 @@ plop "2.7.6" pluralize "8.0.0" +"@strapi/generators@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/generators/-/generators-4.26.1.tgz#8c524777cf8947d7249756b9c4910df42d9bc89d" + integrity sha512-bcGvf8O2gTvmLGnrBsg6aFqv/F5jsmcRxJ+HjrejWXx0z1KzoPRHSMEZtLb/Wr9K/tu+pL3q9PlI4NEM0S82Cw== + dependencies: + "@sindresorhus/slugify" "1.1.0" + "@strapi/typescript-utils" "4.26.1" + "@strapi/utils" "4.26.1" + chalk "4.1.2" + copyfiles "2.4.1" + fs-extra "10.0.0" + node-plop "0.26.3" + plop "2.7.6" + pluralize "8.0.0" + "@strapi/helper-plugin@4.14.6": version "4.14.6" resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.14.6.tgz#3e9d6df86ff92cb91b226881faaae3a535ba8027" @@ -7346,6 +7569,22 @@ react-query "3.39.3" react-select "5.7.0" +"@strapi/helper-plugin@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.26.1.tgz#b231054742a9d0df43383f014c059cb5bf4541ab" + integrity sha512-j/9q3rvmfa6hS8buMSHNb/NT5OFNgijK1SDlv8skjAxvKy/wypq8zwyPCqwaRmcgvqtpBd/lDqYyDKKc0Zvzlw== + dependencies: + axios "1.8.2" + date-fns "2.30.0" + formik "2.4.0" + immer "9.0.19" + lodash "4.17.21" + qs "6.11.1" + react-helmet "6.1.0" + react-intl "6.4.1" + react-query "3.39.3" + react-select "5.7.0" + "@strapi/icons@1.12.2": version "1.12.2" resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.12.2.tgz#a231074b2776e651a7317a85355d40b070f6c20d" @@ -7364,6 +7603,14 @@ lodash "4.17.21" winston "3.10.0" +"@strapi/logger@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/logger/-/logger-4.26.1.tgz#fd1b00c5d612d1b63998974616fc10b1399c5b47" + integrity sha512-Cwimi8iUeJyVEiOmt0UDISYKt1DWPOCUgHDG/67dabQAhOmXGuE2pKM13CxG9abWHCsRo8NdB1D/+bKqx15o2A== + dependencies: + lodash "4.17.21" + winston "3.10.0" + "@strapi/pack-up@4.23.0": version "4.23.0" resolved "https://registry.yarnpkg.com/@strapi/pack-up/-/pack-up-4.23.0.tgz#c75f985a370f47414d9643545ee8e26c486b3711" @@ -7402,6 +7649,17 @@ qs "6.11.1" sift "16.0.1" +"@strapi/permissions@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/permissions/-/permissions-4.26.1.tgz#6557036c59593fd2c5f76ff4e755e439a3e630b9" + integrity sha512-WWsKXdbcAZLh71dYse4ZsFRTOtQ+DqH6djw5yXOmn0QlgPIQ1W3SqYW+wwRQvs0+UI9G3krl4ltSB0hQBw9xgw== + dependencies: + "@casl/ability" "6.5.0" + "@strapi/utils" "4.26.1" + lodash "4.17.21" + qs "6.11.1" + sift "16.0.1" + "@strapi/plugin-content-manager@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-content-manager/-/plugin-content-manager-4.25.23.tgz#38aad4d3102e363482f6766e5b2b88317c24ad4b" @@ -7415,6 +7673,19 @@ lodash "4.17.21" qs "6.11.1" +"@strapi/plugin-content-manager@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-content-manager/-/plugin-content-manager-4.26.1.tgz#1051ee68e0cf3330f5e4ba50058d4896a9ebe7f4" + integrity sha512-rlMHgLywvppOOCyzj1v9V4ZOtJ/ybzaaXDCnh3xN5UjJQAZJi4Kb0V96RDh8V6AIvLDNrUuLk2R82lD2HmE/vA== + dependencies: + "@sindresorhus/slugify" "1.1.0" + "@strapi/types" "4.26.1" + "@strapi/utils" "4.26.1" + koa "2.16.1" + koa-bodyparser "4.4.1" + lodash "4.17.21" + qs "6.11.1" + "@strapi/plugin-content-type-builder@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-content-type-builder/-/plugin-content-type-builder-4.25.23.tgz#c4fb864c7f2848183b64e0411032e4df058ec0f2" @@ -7439,6 +7710,30 @@ react-redux "8.1.1" yup "0.32.9" +"@strapi/plugin-content-type-builder@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-content-type-builder/-/plugin-content-type-builder-4.26.1.tgz#47078bbd37263f7d3abf5a8b71fe50e20fbd0b9c" + integrity sha512-rTqZFr1/HIpEdG1fVvR4INkd/CuGr304EKMkmRtwJDFYpX7wq1uEI85wxuBUampV+1Wtb5nJMByZBcGLQYDf2g== + dependencies: + "@reduxjs/toolkit" "1.9.7" + "@sindresorhus/slugify" "1.1.0" + "@strapi/design-system" "1.19.0" + "@strapi/generators" "4.26.1" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/utils" "4.26.1" + fs-extra "10.0.0" + immer "9.0.19" + koa-bodyparser "4.4.1" + lodash "4.17.21" + pluralize "8.0.0" + prop-types "^15.8.1" + qs "6.11.1" + react-helmet "^6.1.0" + react-intl "6.4.1" + react-redux "8.1.1" + yup "0.32.9" + "@strapi/plugin-email@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-email/-/plugin-email-4.25.23.tgz#f6ed408f420e9422b49f1a16c3c0a32aba6b3990" @@ -7455,6 +7750,22 @@ react-query "3.39.3" yup "0.32.9" +"@strapi/plugin-email@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-email/-/plugin-email-4.26.1.tgz#e202bc83d242d97008025095b566ebce879956ea" + integrity sha512-/pLLp6KjM4KlaNw5EU79ua8tA/yR1f2wb+vxl6nEWGvnh+ByGa8q4jXyMs9tN1V3su3a/M56GuFxh22litDAYg== + dependencies: + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/provider-email-sendmail" "4.26.1" + "@strapi/utils" "4.26.1" + lodash "4.17.21" + prop-types "^15.8.1" + react-intl "6.4.1" + react-query "3.39.3" + yup "0.32.9" + "@strapi/plugin-graphql@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-graphql/-/plugin-graphql-4.25.23.tgz#f2b8f2b8cc46f390248bb1ab97b337bbd3e10004" @@ -7478,6 +7789,29 @@ nexus "1.3.0" pluralize "8.0.0" +"@strapi/plugin-graphql@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-graphql/-/plugin-graphql-4.26.1.tgz#4534b957082bbbec63d20a739c3ef65efb1b30d6" + integrity sha512-Bq1h0li9vHfIhYVZlpMuSo+QgGmfYCpVpm1WKExaTY9S3KUi5zXLWq4gaHlSwl2kTadqQIicrn3TBVuJa24ZXQ== + dependencies: + "@graphql-tools/schema" "8.5.1" + "@graphql-tools/utils" "^8.13.1" + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/utils" "4.26.1" + apollo-server-core "3.12.1" + apollo-server-koa "3.10.0" + graphql "^15.5.1" + graphql-depth-limit "^1.1.0" + graphql-playground-middleware-koa "^1.6.21" + graphql-scalars "1.22.2" + graphql-upload "^13.0.0" + koa-compose "^4.1.0" + lodash "4.17.21" + nexus "1.3.0" + pluralize "8.0.0" + "@strapi/plugin-i18n@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-i18n/-/plugin-i18n-4.25.23.tgz#731eb21151420fe5f42c47906a0ab99be93a7e5a" @@ -7531,6 +7865,38 @@ sharp "0.32.6" yup "0.32.9" +"@strapi/plugin-upload@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-upload/-/plugin-upload-4.26.1.tgz#d430fad71d9d835caa4cce47c71caa542281d92a" + integrity sha512-WkxAF8QKHerjIh8uJtXbrMN/xIOJSyJnT9syeizegC2QBhkDnwx/jsAx1JbNINZ8ZrmhSXTyoTY1BFzfslmrpw== + dependencies: + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/provider-upload-local" "4.26.1" + "@strapi/utils" "4.26.1" + axios "1.8.2" + byte-size "7.0.1" + cropperjs "1.6.0" + date-fns "2.30.0" + formik "2.4.0" + fs-extra "10.0.0" + immer "9.0.19" + koa-range "0.3.0" + koa-static "5.0.0" + lodash "4.17.21" + mime-types "2.1.35" + prop-types "^15.8.1" + qs "6.11.1" + react-dnd "16.0.1" + react-helmet "^6.1.0" + react-intl "6.4.1" + react-query "3.39.3" + react-redux "8.1.1" + react-select "5.7.0" + sharp "0.32.6" + yup "0.32.9" + "@strapi/plugin-users-permissions@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.25.23.tgz#989c52a0d4afe8ad7af4539fb2d8133b8d724279" @@ -7557,11 +7923,42 @@ url-join "4.0.1" yup "0.32.9" +"@strapi/plugin-users-permissions@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.26.1.tgz#270de907ff8461bc9fb46ee331f30438a7c6cbd7" + integrity sha512-kIYCKlNkHsyv0b3UajTD/4JnE6kLhL6Mt3+jlCd6LRrhMD3mJWaGdTjxMrIQxVPda5u79R4+pzHZ3nFBAdUdEw== + dependencies: + "@strapi/design-system" "1.19.0" + "@strapi/helper-plugin" "4.26.1" + "@strapi/icons" "1.19.0" + "@strapi/utils" "4.26.1" + bcryptjs "2.4.3" + formik "2.4.0" + grant-koa "5.4.8" + immer "9.0.19" + jsonwebtoken "9.0.0" + jwk-to-pem "2.0.5" + koa "2.16.1" + koa2-ratelimit "^1.1.2" + lodash "4.17.21" + prop-types "^15.8.1" + purest "4.0.2" + react-intl "6.4.1" + react-query "3.39.3" + react-redux "8.1.1" + url-join "4.0.1" + yup "0.32.9" + "@strapi/provider-audit-logs-local@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/provider-audit-logs-local/-/provider-audit-logs-local-4.25.23.tgz#2f208796d87d09d1238180a861981d1fe072e706" integrity sha512-iSjwZtuYMQlVOUq1paEdQvz4aHFpwEZAOisd5CvKxfjQeIKZsidvgH0EasLzOd7/JoiMosjEsUQJEwbRDk9mIw== +"@strapi/provider-audit-logs-local@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/provider-audit-logs-local/-/provider-audit-logs-local-4.26.1.tgz#ea90453381acf7e7c3a09d862a4d042bd3a05f96" + integrity sha512-3fP9S+v0fwNj84eCpRloW0J4usLgXjJUm4ozd9I5EY0sSK8kiVNH7nZp3wW8+fzTDRJOkNVbx/nU6tQwiYMKhg== + "@strapi/provider-email-sendmail@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.25.23.tgz#c733b09bbeebc2d25ecd42dedf2df06601ed658e" @@ -7570,6 +7967,14 @@ "@strapi/utils" "4.25.23" sendmail "^1.6.1" +"@strapi/provider-email-sendmail@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.26.1.tgz#75d8a3c8a4aaa1acad8677026d630d3ce8ec2344" + integrity sha512-cmE/Jlciw40wqVBqE5agUz+Hh4F/S8VY7++h3SbnlK4qJgKyfThceQBWvZyfQb9olu9x9AkR+pO9NeOvHxiTAg== + dependencies: + "@strapi/utils" "4.26.1" + sendmail "^1.6.1" + "@strapi/provider-upload-local@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/provider-upload-local/-/provider-upload-local-4.25.23.tgz#d902c0dcc8b57697ccc2445ae05e90da42804f12" @@ -7578,6 +7983,14 @@ "@strapi/utils" "4.25.23" fs-extra "10.0.0" +"@strapi/provider-upload-local@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/provider-upload-local/-/provider-upload-local-4.26.1.tgz#f81ed2264280e299727d1ecf7b7676c6fe27637f" + integrity sha512-R8FLq3Ri0ERHjV4lT7a+N6w3hpXEs8Mq4bJXGli6cUMOzhKMPORkPcYpmW1HoCZcx2GqlPaQf/vTuzUgkTUMlw== + dependencies: + "@strapi/utils" "4.26.1" + fs-extra "10.0.0" + "@strapi/strapi@4.25.23", "@strapi/strapi@^4.14.0", "@strapi/strapi@^4.14.4": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/strapi/-/strapi-4.25.23.tgz#96faf45a740815d07d6ffb8ed4ff97f3c8f79876" @@ -7651,6 +8064,79 @@ yalc "1.0.0-pre.53" yup "0.32.9" +"@strapi/strapi@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/strapi/-/strapi-4.26.1.tgz#49c3e26ffb025d19b86df64858e8c3c75dd42420" + integrity sha512-GF61p0NDV0FGBoi4hO/Fd6PDzdVS7tu6xFFJ6I6GMcYQZbcFkpZfVZ8w2OhKQw/GqHU3VyG/BDv3XZY2wuM6hw== + dependencies: + "@koa/cors" "5.0.0" + "@koa/router" "10.1.1" + "@strapi/admin" "4.26.1" + "@strapi/cloud-cli" "4.26.1" + "@strapi/content-releases" "4.26.1" + "@strapi/data-transfer" "4.26.1" + "@strapi/database" "4.26.1" + "@strapi/generate-new" "4.26.1" + "@strapi/generators" "4.26.1" + "@strapi/logger" "4.26.1" + "@strapi/pack-up" "4.23.0" + "@strapi/permissions" "4.26.1" + "@strapi/plugin-content-manager" "4.26.1" + "@strapi/plugin-content-type-builder" "4.26.1" + "@strapi/plugin-email" "4.26.1" + "@strapi/plugin-upload" "4.26.1" + "@strapi/types" "4.26.1" + "@strapi/typescript-utils" "4.26.1" + "@strapi/utils" "4.26.1" + bcryptjs "2.4.3" + boxen "5.1.2" + chalk "4.1.2" + ci-info "3.8.0" + cli-progress "3.12.0" + cli-table3 "0.6.5" + commander "8.3.0" + concurrently "8.2.2" + configstore "5.0.1" + copyfiles "2.4.1" + debug "4.3.4" + delegates "1.0.0" + dotenv "14.2.0" + execa "5.1.1" + fs-extra "10.0.0" + get-latest-version "5.1.0" + git-url-parse "13.1.0" + glob "10.4.2" + http-errors "1.8.1" + https-proxy-agent "5.0.1" + inquirer "8.2.5" + is-docker "2.2.1" + koa "2.16.1" + koa-body "4.2.0" + koa-compose "4.1.0" + koa-compress "5.1.0" + koa-favicon "2.1.0" + koa-helmet "7.0.2" + koa-ip "^2.1.2" + koa-session "6.4.0" + koa-static "5.0.0" + lodash "4.17.21" + mime-types "2.1.35" + node-fetch "2.7.0" + node-machine-id "1.1.12" + node-schedule "2.1.1" + nodemon "3.0.2" + open "8.4.0" + ora "5.4.1" + outdent "0.8.0" + package-json "7.0.0" + pkg-up "3.1.0" + qs "6.11.1" + semver "7.5.4" + statuses "2.0.1" + typescript "5.2.2" + yalc "1.0.0-pre.53" + yup "0.32.9" + "@strapi/types@4.25.23": version "4.25.23" resolved "https://registry.yarnpkg.com/@strapi/types/-/types-4.25.23.tgz#d0842ffb42bf4577df021a71b8ab716df2212179" @@ -7669,6 +8155,24 @@ node-fetch "2.7.0" node-schedule "2.1.1" +"@strapi/types@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/types/-/types-4.26.1.tgz#1579c22a2a689895d5257482e2db7ee9e7e23e72" + integrity sha512-5VEmRsBz8hhRBChhwwkFCuf27HXNMry5pPojltcvd/BTeP6+R+438soRTpCwin/H2KFDIYQsEjxdXtykynk/BQ== + dependencies: + "@casl/ability" "6.5.0" + "@koa/cors" "5.0.0" + "@koa/router" "10.1.1" + "@strapi/database" "4.26.1" + "@strapi/logger" "4.26.1" + "@strapi/permissions" "4.26.1" + "@strapi/utils" "4.26.1" + commander "8.3.0" + https-proxy-agent "5.0.1" + koa "2.16.1" + node-fetch "2.7.0" + node-schedule "2.1.1" + "@strapi/typescript-utils@4.14.6": version "4.14.6" resolved "https://registry.yarnpkg.com/@strapi/typescript-utils/-/typescript-utils-4.14.6.tgz#e9371957dbdfd4da50184c3fee15e531ebcf32db" @@ -7717,6 +8221,18 @@ prettier "2.8.4" typescript "5.2.2" +"@strapi/typescript-utils@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/typescript-utils/-/typescript-utils-4.26.1.tgz#603138fe106f2378fc739a98d9272f2a0030d6ed" + integrity sha512-P9IgxSX/QFxmDWFvigdc6BjMDHYqOXERglCI3pvWozRv3ZkIDTFxLHQh0WgWFb+DzNworIFsm38umy2rZFPaqA== + dependencies: + chalk "4.1.2" + cli-table3 "0.6.5" + fs-extra "10.0.0" + lodash "4.17.21" + prettier "2.8.4" + typescript "5.2.2" + "@strapi/ui-primitives@^1.12.2", "@strapi/ui-primitives@^1.19.0": version "1.19.0" resolved "https://registry.yarnpkg.com/@strapi/ui-primitives/-/ui-primitives-1.19.0.tgz#01e2709d64bbde1f6810c49898da216934f76479" @@ -7756,6 +8272,18 @@ p-map "4.0.0" yup "0.32.9" +"@strapi/utils@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@strapi/utils/-/utils-4.26.1.tgz#ed09a1afb28728931e19a37198478d89893edf7e" + integrity sha512-P1fYJfU8K6cWX14Da/fUiB++R1uzBgK1Zw1KpjxXzZEiyRaCES5DCbyL1vuvJ8H+RlGz+D+qD4v+DfkjUONpew== + dependencies: + "@sindresorhus/slugify" "1.1.0" + date-fns "2.30.0" + http-errors "1.8.1" + lodash "4.17.21" + p-map "4.0.0" + yup "0.32.9" + "@svgr/babel-plugin-add-jsx-attribute@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" @@ -31737,6 +32265,20 @@ strapi-plugin-publisher@1.5.7: react-query "^3.39.3" yup "^0.32.9" +strapi-plugin-publisher@1.5.9: + version "1.5.9" + resolved "https://registry.yarnpkg.com/strapi-plugin-publisher/-/strapi-plugin-publisher-1.5.9.tgz#b28694f785fb192a416a83250e4713458472cc6f" + integrity sha512-GxrEvCOs4Vp5iV7wjJlVQZxUqPbUb6MJyBxOstmNQoCFIHdRUKADVUId3/sECEOBpg6dT0pt9frjMerof05FzA== + dependencies: + "@strapi/design-system" "^1.13.1" + "@strapi/helper-plugin" "^4.0.0" + "@strapi/icons" "^1.13.1" + "@strapi/utils" "^4.0.0" + lodash "^4.17.21" + prop-types "^15.8.1" + react-query "^3.39.3" + yup "^0.32.9" + strapi-plugin-slugify@2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/strapi-plugin-slugify/-/strapi-plugin-slugify-2.3.8.tgz#feed725c6becbb0408ce601f40055aaa76b98316" @@ -31756,6 +32298,14 @@ strapi-prometheus@1.9.1: prom-client "^14.1.0" yup "^0.32.11" +strapi-prometheus@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/strapi-prometheus/-/strapi-prometheus-1.9.2.tgz#f91539ce1601e4190cd40c08d5569e398f80c5c2" + integrity sha512-8duEzTyMpHu09l/BlqAR2CB7fcajJWjcCoHAzp0Iu0U4gqZs1Xyz24u1zSx7shKhUCbWAajiuIJgqK3vJVIDWQ== + dependencies: + prom-client "^14.1.0" + yup "^0.32.11" + stream-buffers@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-3.0.3.tgz#9fc6ae267d9c4df1190a781e011634cac58af3cd" From 6a0487db3c950e92a47ee804766b4b3c30c000f1 Mon Sep 17 00:00:00 2001 From: Ali Amori Kadhim Date: Mon, 9 Mar 2026 14:38:31 +0100 Subject: [PATCH 002/100] chore: remove kennisbank-dashboard and kennisbank-frontend --- apps/kennisbank-dashboard/.gitignore | 2 - apps/kennisbank-dashboard/CHANGELOG.md | 52 -------- apps/kennisbank-dashboard/README.md | 33 ------ apps/kennisbank-dashboard/config/admin.ts | 14 --- apps/kennisbank-dashboard/config/api.ts | 7 -- apps/kennisbank-dashboard/config/database.ts | 42 ------- .../config/middlewares.ts | 12 -- apps/kennisbank-dashboard/config/plugins.ts | 31 ----- apps/kennisbank-dashboard/config/server.ts | 10 -- .../database/migrations/.gitkeep | 0 apps/kennisbank-dashboard/favicon.ico | Bin 3688 -> 0 bytes apps/kennisbank-dashboard/package.json | 57 --------- .../public/uploads/.gitkeep | 0 apps/kennisbank-dashboard/src/admin/app.ts | 24 ---- .../src/admin/tsconfig.json | 5 - .../src/admin/webpack.config.js | 25 ---- apps/kennisbank-dashboard/src/api/.gitkeep | 0 .../content-types/homepage/schema.json | 24 ---- .../src/api/homepage/controllers/homepage.ts | 7 -- .../src/api/homepage/routes/homepage.ts | 7 -- .../src/api/homepage/services/homepage.ts | 7 -- .../src/extensions/.gitkeep | 0 apps/kennisbank-dashboard/src/index.ts | 19 --- apps/kennisbank-dashboard/tsconfig.json | 10 -- apps/kennisbank-frontend/.eslintrc.json | 11 -- apps/kennisbank-frontend/.gitignore | 36 ------ apps/kennisbank-frontend/CHANGELOG.md | 41 ------- apps/kennisbank-frontend/README.md | 1 - .../next-sitemap.config.js | 9 -- apps/kennisbank-frontend/next.config.js | 19 --- apps/kennisbank-frontend/package.json | 49 -------- apps/kennisbank-frontend/public/next.svg | 1 - apps/kennisbank-frontend/public/thirteen.svg | 1 - apps/kennisbank-frontend/public/vercel.svg | 1 - .../src/app/[locale]/layout.tsx | 49 -------- .../src/app/[locale]/page.tsx | 34 ------ .../src/app/i18n/client.ts | 38 ------ .../kennisbank-frontend/src/app/i18n/index.ts | 25 ---- .../src/app/i18n/locales/nl/common.json | 5 - .../src/app/i18n/locales/nl/home-page.json | 7 -- .../src/app/i18n/settings.ts | 16 --- apps/kennisbank-frontend/src/client.tsx | 9 -- apps/kennisbank-frontend/src/middleware.ts | 39 ------ .../src/util/create-url.ts | 8 -- .../src/util/createStrapiURL.ts | 10 -- .../kennisbank-frontend/src/util/fetchData.ts | 97 --------------- .../src/util/getImageBaseUrl.ts | 7 -- apps/kennisbank-frontend/tsconfig.json | 28 ----- docker-compose.kennisbank.dev.yml | 112 ------------------ docker-compose.kennisbank.prod.yml | 98 --------------- 50 files changed, 1139 deletions(-) delete mode 100644 apps/kennisbank-dashboard/.gitignore delete mode 100644 apps/kennisbank-dashboard/CHANGELOG.md delete mode 100644 apps/kennisbank-dashboard/README.md delete mode 100644 apps/kennisbank-dashboard/config/admin.ts delete mode 100644 apps/kennisbank-dashboard/config/api.ts delete mode 100644 apps/kennisbank-dashboard/config/database.ts delete mode 100644 apps/kennisbank-dashboard/config/middlewares.ts delete mode 100644 apps/kennisbank-dashboard/config/plugins.ts delete mode 100644 apps/kennisbank-dashboard/config/server.ts delete mode 100644 apps/kennisbank-dashboard/database/migrations/.gitkeep delete mode 100644 apps/kennisbank-dashboard/favicon.ico delete mode 100644 apps/kennisbank-dashboard/package.json delete mode 100644 apps/kennisbank-dashboard/public/uploads/.gitkeep delete mode 100644 apps/kennisbank-dashboard/src/admin/app.ts delete mode 100644 apps/kennisbank-dashboard/src/admin/tsconfig.json delete mode 100644 apps/kennisbank-dashboard/src/admin/webpack.config.js delete mode 100644 apps/kennisbank-dashboard/src/api/.gitkeep delete mode 100644 apps/kennisbank-dashboard/src/api/homepage/content-types/homepage/schema.json delete mode 100644 apps/kennisbank-dashboard/src/api/homepage/controllers/homepage.ts delete mode 100644 apps/kennisbank-dashboard/src/api/homepage/routes/homepage.ts delete mode 100644 apps/kennisbank-dashboard/src/api/homepage/services/homepage.ts delete mode 100644 apps/kennisbank-dashboard/src/extensions/.gitkeep delete mode 100644 apps/kennisbank-dashboard/src/index.ts delete mode 100644 apps/kennisbank-dashboard/tsconfig.json delete mode 100644 apps/kennisbank-frontend/.eslintrc.json delete mode 100644 apps/kennisbank-frontend/.gitignore delete mode 100644 apps/kennisbank-frontend/CHANGELOG.md delete mode 100644 apps/kennisbank-frontend/README.md delete mode 100644 apps/kennisbank-frontend/next-sitemap.config.js delete mode 100644 apps/kennisbank-frontend/next.config.js delete mode 100644 apps/kennisbank-frontend/package.json delete mode 100644 apps/kennisbank-frontend/public/next.svg delete mode 100644 apps/kennisbank-frontend/public/thirteen.svg delete mode 100644 apps/kennisbank-frontend/public/vercel.svg delete mode 100644 apps/kennisbank-frontend/src/app/[locale]/layout.tsx delete mode 100644 apps/kennisbank-frontend/src/app/[locale]/page.tsx delete mode 100644 apps/kennisbank-frontend/src/app/i18n/client.ts delete mode 100644 apps/kennisbank-frontend/src/app/i18n/index.ts delete mode 100644 apps/kennisbank-frontend/src/app/i18n/locales/nl/common.json delete mode 100644 apps/kennisbank-frontend/src/app/i18n/locales/nl/home-page.json delete mode 100644 apps/kennisbank-frontend/src/app/i18n/settings.ts delete mode 100644 apps/kennisbank-frontend/src/client.tsx delete mode 100644 apps/kennisbank-frontend/src/middleware.ts delete mode 100644 apps/kennisbank-frontend/src/util/create-url.ts delete mode 100644 apps/kennisbank-frontend/src/util/createStrapiURL.ts delete mode 100644 apps/kennisbank-frontend/src/util/fetchData.ts delete mode 100644 apps/kennisbank-frontend/src/util/getImageBaseUrl.ts delete mode 100644 apps/kennisbank-frontend/tsconfig.json delete mode 100644 docker-compose.kennisbank.dev.yml delete mode 100644 docker-compose.kennisbank.prod.yml diff --git a/apps/kennisbank-dashboard/.gitignore b/apps/kennisbank-dashboard/.gitignore deleted file mode 100644 index 25864658e..000000000 --- a/apps/kennisbank-dashboard/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/public/uploads/* -!/public/uploads/.gitkeep diff --git a/apps/kennisbank-dashboard/CHANGELOG.md b/apps/kennisbank-dashboard/CHANGELOG.md deleted file mode 100644 index 17f6df976..000000000 --- a/apps/kennisbank-dashboard/CHANGELOG.md +++ /dev/null @@ -1,52 +0,0 @@ -# @frameless/kennisbank-dashboard - -## 0.1.7 - -### Patch Changes - -- Updated dependencies [8b2df3c] - - @frameless/strapi-tiptap-editor@0.3.2 - -## 0.1.6 - -### Patch Changes - -- @frameless/strapi-tiptap-editor@0.3.1 - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [d96fe22] -- Updated dependencies [3b6b5b8] - - @frameless/strapi-tiptap-editor@0.3.0 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [ed4d2a4] - - @frameless/strapi-tiptap-editor@0.2.0 - -## 0.1.3 - -### Patch Changes - -- 981db82: Update Strapi-afhankelijkheden om het paginering probleem in het dashboard op te lossen ([GitHub Issue frameless/strapi#715](https://github.com/frameless/strapi/issues/715)). -- Updated dependencies [f40ac6b] - - @frameless/strapi-tiptap-editor@0.1.1 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [06c52b9] - - @frameless/strapi-tiptap-editor@0.1.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [82fa577] -- Updated dependencies [82fa577] - - @frameless/strapi-tiptap-editor@0.0.0 diff --git a/apps/kennisbank-dashboard/README.md b/apps/kennisbank-dashboard/README.md deleted file mode 100644 index ad964a948..000000000 --- a/apps/kennisbank-dashboard/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# 🚀 Getting started with Strapi - -Strapi comes with a full featured [Command Line Interface](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html) (CLI) which lets you scaffold and manage your project in seconds. - -## `develop` - -Start your Strapi application with autoReload enabled. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-develop) - -```shell -npm run dev -# or -yarn dev -``` - -### `start` - -Start your Strapi application with autoReload disabled. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-start) - -```shell -npm run start -# or -yarn start -``` - -### `build` - -Build your admin panel. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-build) - -```shell -npm run build -# or -yarn build -``` diff --git a/apps/kennisbank-dashboard/config/admin.ts b/apps/kennisbank-dashboard/config/admin.ts deleted file mode 100644 index 894637602..000000000 --- a/apps/kennisbank-dashboard/config/admin.ts +++ /dev/null @@ -1,14 +0,0 @@ -export default ({ env }) => ({ - watchIgnoredFiles: ['**/config/sync/**'], - auth: { - secret: env('ADMIN_JWT_SECRET'), - }, - apiToken: { - salt: env('API_TOKEN_SALT'), - }, - transfer: { - token: { - salt: env('TRANSFER_TOKEN_SALT'), - }, - }, -}); diff --git a/apps/kennisbank-dashboard/config/api.ts b/apps/kennisbank-dashboard/config/api.ts deleted file mode 100644 index 37f7c14a4..000000000 --- a/apps/kennisbank-dashboard/config/api.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default { - rest: { - defaultLimit: 25, - maxLimit: 100, - withCount: true, - }, -}; diff --git a/apps/kennisbank-dashboard/config/database.ts b/apps/kennisbank-dashboard/config/database.ts deleted file mode 100644 index f72bb5144..000000000 --- a/apps/kennisbank-dashboard/config/database.ts +++ /dev/null @@ -1,42 +0,0 @@ -export default ({ env }) => { - const client = env('DATABASE_CLIENT', 'sqlite'); - - const connections = { - postgres: { - connection: { - connectionString: env('DATABASE_URL'), - host: env('DATABASE_HOST'), - port: env.int('DATABASE_PORT'), - database: env('DATABASE_NAME'), - user: env('DATABASE_USERNAME'), - password: env('DATABASE_PASSWORD'), - ssl: env.bool('DATABASE_SSL', false) && { - key: env('DATABASE_SSL_KEY', undefined), - cert: env('DATABASE_SSL_CERT', undefined), - ca: env('DATABASE_SSL_CA', undefined), - capath: env('DATABASE_SSL_CAPATH', undefined), - cipher: env('DATABASE_SSL_CIPHER', undefined), - rejectUnauthorized: env.bool('DATABASE_SSL_REJECT_UNAUTHORIZED', true), - }, - schema: env('DATABASE_SCHEMA', 'public'), - }, - pool: { min: env.int('DATABASE_POOL_MIN', 0), max: env.int('DATABASE_POOL_MAX', 30) }, - }, - sqlite: { - connection: { - filename: env('DATABASE_FILENAME', '.tmp/data.db'), - useNullAsDefault: true, - debug: false, - }, - useNullAsDefault: true, - }, - }; - - return { - connection: { - client, - ...connections[client], - acquireConnectionTimeout: env.int('DATABASE_CONNECTION_TIMEOUT', 60000), - }, - }; -}; diff --git a/apps/kennisbank-dashboard/config/middlewares.ts b/apps/kennisbank-dashboard/config/middlewares.ts deleted file mode 100644 index 3ab20d955..000000000 --- a/apps/kennisbank-dashboard/config/middlewares.ts +++ /dev/null @@ -1,12 +0,0 @@ -export default [ - 'strapi::errors', - 'strapi::security', - 'strapi::cors', - 'strapi::poweredBy', - 'strapi::logger', - 'strapi::query', - 'strapi::body', - 'strapi::session', - 'strapi::favicon', - 'strapi::public', -]; diff --git a/apps/kennisbank-dashboard/config/plugins.ts b/apps/kennisbank-dashboard/config/plugins.ts deleted file mode 100644 index 40751a512..000000000 --- a/apps/kennisbank-dashboard/config/plugins.ts +++ /dev/null @@ -1,31 +0,0 @@ -const { apolloPrometheusPlugin } = require('strapi-prometheus'); - -export default () => ({ - 'strapi-tiptap-editor': { - enabled: true, - }, - 'strapi-prometheus': { - enabled: true, - graphql: { - enabled: true, - config: { - apolloServer: { - plugins: [apolloPrometheusPlugin], // add the plugin to get apollo metrics - tracing: true, // this must be true to get some of the data needed to create the metrics - }, - }, - }, - }, - upload: { - config: { - providerOptions: { - localServer: { - maxage: 300000, - }, - }, - }, - }, - publisher: { - enabled: true, - }, -}); diff --git a/apps/kennisbank-dashboard/config/server.ts b/apps/kennisbank-dashboard/config/server.ts deleted file mode 100644 index a54a2414c..000000000 --- a/apps/kennisbank-dashboard/config/server.ts +++ /dev/null @@ -1,10 +0,0 @@ -export default ({ env }) => ({ - host: env('HOST', '0.0.0.0'), - port: env.int('PORT', 1337), - app: { - keys: env.array('APP_KEYS'), - }, - webhooks: { - populateRelations: env.bool('WEBHOOKS_POPULATE_RELATIONS', false), - }, -}); diff --git a/apps/kennisbank-dashboard/database/migrations/.gitkeep b/apps/kennisbank-dashboard/database/migrations/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/kennisbank-dashboard/favicon.ico b/apps/kennisbank-dashboard/favicon.ico deleted file mode 100644 index 03eec51b180d0c2500550e83ea5d0b9aead3232d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3688 zcmeHJi9b|pAAiowWH)1}#x_P#bP1spF=NRRSyD>3nD>UXi!2FqsuvZ;P~D<3l%ldF zZEl&V>&{rSbeXn$sZoS5AxFl{`;6}USG@1c=X}oddw%Qp`}>`99sm&dm;Vr81U3@^ zSPa)^0{lGHRrFNgQr+9jeY0FEzmycw{HCAWJqcV4`hGJyYeWeaoOg|re);Ob;|;YO`lt~IXMv-IeY3# zWtHEhNrs<0qZ>9o_3!RInB?IBYXL>1U}Ce^;^sty=0&Q-2RtoKd7Hic;1$^wqT9mq z?z9!3n>nT%B0b}~4~%w#C)cecOiiCY=46uOvI1k--o_NY6XxBW*QP%#n!!YMEUsn3 zK2X?0miRBjNI6(4erC_+i{!4l1OE6zf`Y4aYD%E#<>Gh6Rzq&yMj2!!@T-vdS$)Vn z=_-r-lrqsTVpdoNk@;cgs6*|)uSXb7bEoPm2Inr_oOspCzU40992NBDngWZ*N!j(6 z-DA4Dv;=7VAdBgc9bWafnEJ#zwGeciZc=_6c_bH1`Z}jlq(|e=h$jeWaF&1L{SXh3 zbS-wET|jL%q{xah`To$FP~_Reui7JZYDyBBf+%-f2mY!+n%-KXpUnY9n##Q8nz^~Q zf{5jJS`MX*F#BqLSXC>36?2@HysStc>57%{|Jg+Li`tjIzHs2v3mBSB=(Fh;g%w=< z9Qjlr)&_P8;&DA1LO0ezeL8ey-W2Bb_8)2tTon)Jb9I|cUsnIKl}IA< zsYBTQpLKqCSk7Po$f51C=IW1Y81c#{PF`}u|82CC*pz{>ipH;ZaC(*d-7_2`G_kL zQQLRs$XPI7gvOhQDx#F+I2)P?M%m#OlpahO=-t&qw(B$7Wjy7W1~Q_pLwBn1f}cQhr%APn#9KW8DOKogB}kC78if zkB`7CzEwDO+lBD?K%0QW9%;9j7KF)Dc4mUw;jd>(g0IQzye7vxmii*Ba9;Wh>;^VE z$Ya^*qmgAfa}g9d2?c8OJ(Bxc^I+N*7*(_gd{PEr7Ox=0+IHSr8|^7iF0Va|X#%_3 zXFx5E!hHRM(C;8TZYIj6yh^+jY+vO=LBEy1bEq8~HwN2Xe00%xqX+Z+-B6`3ZYopg z3wD~26^(0ZgUNTB7Z_2wNtvvH*)-B6z*u0h3A|`+zGOeo;%0(Tr}&|MOlIK>cN-S1 z41yb<<2$m#*Y7<#D(PLBTuT7vk;O=(fRh$;@9!CI5XOKu9nW#qYt2P^fHt2rjX)RB zIxAb+LX3JXlgpsXNC%!hg#BDU4>dy%4K~rf#R?OME1oNE1R5D+^qzWtRAv49>9*$r zZ=m5wTn6%4VPjJJh^@MErW{CcLbeDvTlUUVZwFonQkbuFWpinyJYW=Bat{n*rZ2BM zNOvrlufPwdkzrG8TsA6i&5=G>FI907RUV0G2iiQQTf?U0jrqXCv2$pd{WtB{hZj26 z+jxNv6t7I5C}YtWFj2+hkH949lkk1-r5^dD??1ExRCEiZ`r7ibElE){qB3ps^b_Ti zA*{!ZzfrX@6v_>UzZn3^+@sJw`-bE{JweA4CpqWeHAi94x#*WjlrX}#T{43`o`4N$ z*aVeK^SohOc~obVUNUi4p})>ZeQLQHmOqd(bsd8QVy>#IYesGY#z0_g?;1w{`l_0f@Ix=o?%73w^v zz1d0{V6wBNUis1jo7>2%V)BIN)Bt6#S;B`;t*(z9iQ&O1lv%s;6W(TAA&1$MIYr%& z^M|LsM8}$GJ3b(YDDP(9QnUY(Pp|abCaaswsrJXu-2FR|6{Y4^#trOUnPgobGFYWJ zo&QI{NC!x+7{7j+>U_u0FPNhu4V{ci&I4#Al>m_?b?{tfVm=RZM_#TZ~;o_ z0%g=#2_V%*NHhU40*g%m%Lov7CkZ@FNW^xwJfa3r)dHRx0LO5_^(o=#z~cYT|1*S% zcNjTp!JcolM55jI2Uq@?IdvzE#J5+5L&Ix+l2v*lIne4&sVX(wUkgr1T8ZWHsgo&> z#yc?+I8VW+hiig3xcUUBk*{0U)vX%_z27X0|H-#y>e95xkv{0V36{?%TQoYUz3ZT+|Fp|wImu0hxJ z?$}q{5Hr$!DFY&!N4vmA%%s z`5k-asKomo`F`jsGgo}7N(1$|ESvf}*e%{lmL)zVfO1Y4b#}ToXI1LB0d5?Llk7D+ z-j&|k+HO0)Ar%h~-?eA;tMEw|P*DEn*hm+)Gqk6Yv%Zz(FjD6D8gOEL!J2;CmQv_lhv@)#?Ak(|rOkRQ)rJvlu*ERK z?iq}E-%ON6W#E%l=m`?e@!^Lyd<Agx_8t3#txFA-4|jTKH4DGqAigOE)fqzQ0erlSr-iaLZ(IB1$iC&HQ##!p~o zH`9%1;bgA8fqMvqGM0mxtF*k|V1;0nCg79$(!1o}s9geX1BNL0HQ~n}v1BNVV=nX2#rM!*jP5@k!P@&#KYiQDpkDHfYEV2)Qw|Jc>aPoyP@k`547L`Z9tHOpIF>@rd ztW$xunhE$TVOE!hu6m${+U=aXLL=(X&~*e^{n;1c+1ixaBOdEEezvJ} zApCY))iAD1!Ccj*CUK`noMiWq8TXn#0DxgGAxRVqRZU-Mj6o52Z}4-kbY-0U54fTF AFaQ7m diff --git a/apps/kennisbank-dashboard/package.json b/apps/kennisbank-dashboard/package.json deleted file mode 100644 index 4fd7c4934..000000000 --- a/apps/kennisbank-dashboard/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@frameless/kennisbank-dashboard", - "private": true, - "version": "0.1.7", - "description": "A Strapi application", - "keywords": [], - "scripts": { - "dev": "strapi develop", - "develop:watch": "strapi develop --watch-admin", - "start": "strapi start", - "prebuild": "npm run clean", - "build": "strapi build", - "strapi": "strapi", - "lint": "eslint --ext .js src", - "lint:fix": "eslint --ext .js src --fix", - "lint-build": "tsc --noEmit --project tsconfig.json", - "clean": "rimraf build .cache dist" - }, - "dependencies": { - "@frameless/strapi-tiptap-editor": "0.3.2", - "@strapi/plugin-graphql": "4.25.23", - "@strapi/plugin-i18n": "4.25.23", - "@strapi/plugin-users-permissions": "4.25.23", - "@strapi/strapi": "4.25.23", - "better-sqlite3": "12.2.0", - "pg": "8.11.3", - "slugify": "1.6.6", - "strapi-plugin-config-sync": "1.2.6", - "strapi-plugin-publisher": "1.5.7", - "strapi-plugin-slugify": "2.3.8", - "strapi-prometheus": "1.9.1", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-router-dom": "5.3.4", - "styled-components": "5.3.11" - }, - "author": { - "name": "" - }, - "strapi": { - "uuid": "3d9f46d7-679c-4633-8821-761d8bbb5bea" - }, - "engines": { - "node": "20.x.x" - }, - "license": "EUPL-1.2", - "devDependencies": { - "node-sass": "8.0.0", - "sass-loader": "13.2.2", - "scss": "0.2.4" - }, - "repository": { - "type": "git+ssh", - "url": "git@github.com:frameless/strapi.git", - "directory": "apps/kennisbank-dashboard" - } -} diff --git a/apps/kennisbank-dashboard/public/uploads/.gitkeep b/apps/kennisbank-dashboard/public/uploads/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/kennisbank-dashboard/src/admin/app.ts b/apps/kennisbank-dashboard/src/admin/app.ts deleted file mode 100644 index 2d7d0dd90..000000000 --- a/apps/kennisbank-dashboard/src/admin/app.ts +++ /dev/null @@ -1,24 +0,0 @@ -const config = { - locales: ['nl'], - notifications: { - releases: false, - }, - translations: { - nl: { - 'app.components.HomePage.welcome': 'Welkom 👋', - 'content-manager.popUpWarning.warning.has-draft-relations.title': 'Bevestiging', - 'content-manager.popUpWarning.warning.publish-question': 'Wil je nog steeds publiceren?', - 'content-manager.popUpWarning.warning.unpublish-question': 'Weet je zeker dat je het niet wilt publiceren?', - 'content-manager.popUpWarning.warning.unpublish': - 'Als je deze inhoud niet publiceert, wordt deze automatisch een concept.', - 'content-manager.popUpWarning.warning.updateAllSettings': 'Dit zal al je instellingen wijzigen.', - }, - }, -}; - -const bootstrap = () => {}; - -export default { - config, - bootstrap, -}; diff --git a/apps/kennisbank-dashboard/src/admin/tsconfig.json b/apps/kennisbank-dashboard/src/admin/tsconfig.json deleted file mode 100644 index 843155d34..000000000 --- a/apps/kennisbank-dashboard/src/admin/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "@strapi/typescript-utils/tsconfigs/admin", - "include": ["./"], - "exclude": ["node_modules/", "build/", "dist/", "**/*.test.ts"] -} diff --git a/apps/kennisbank-dashboard/src/admin/webpack.config.js b/apps/kennisbank-dashboard/src/admin/webpack.config.js deleted file mode 100644 index 5a5b486f1..000000000 --- a/apps/kennisbank-dashboard/src/admin/webpack.config.js +++ /dev/null @@ -1,25 +0,0 @@ -const { NormalModuleReplacementPlugin } = require('webpack'); - -// eslint-disable-next-line no-undef -module.exports = (config) => { - config.plugins.push(new NormalModuleReplacementPlugin(/^tippy\.js$/, 'tippy.js/dist/tippy-bundle.umd.min.js')); - // Allow scss modules - config.resolve = { - ...config.resolve, - extensions: [...config.resolve.extensions, '.scss'], - }; - - // Configure a SASS loader - config.module.rules.push({ - test: /\.s[ac]ss$/i, - use: [ - 'style-loader', - 'css-loader', - 'sass-loader', - { - loader: 'sass-loader', - }, - ], - }); - return config; -}; diff --git a/apps/kennisbank-dashboard/src/api/.gitkeep b/apps/kennisbank-dashboard/src/api/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/kennisbank-dashboard/src/api/homepage/content-types/homepage/schema.json b/apps/kennisbank-dashboard/src/api/homepage/content-types/homepage/schema.json deleted file mode 100644 index 31e00c631..000000000 --- a/apps/kennisbank-dashboard/src/api/homepage/content-types/homepage/schema.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "kind": "singleType", - "collectionName": "homepages", - "info": { - "singularName": "homepage", - "pluralName": "homepages", - "displayName": "Homepage", - "description": "" - }, - "options": { - "draftAndPublish": true - }, - "pluginOptions": {}, - "attributes": { - "title": { - "type": "string", - "required": true, - "default": "Kennisbank" - }, - "content": { - "type": "richtext" - } - } -} diff --git a/apps/kennisbank-dashboard/src/api/homepage/controllers/homepage.ts b/apps/kennisbank-dashboard/src/api/homepage/controllers/homepage.ts deleted file mode 100644 index 402a7388e..000000000 --- a/apps/kennisbank-dashboard/src/api/homepage/controllers/homepage.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * homepage controller - */ - -import { factories } from '@strapi/strapi'; - -export default factories.createCoreController('api::homepage.homepage'); diff --git a/apps/kennisbank-dashboard/src/api/homepage/routes/homepage.ts b/apps/kennisbank-dashboard/src/api/homepage/routes/homepage.ts deleted file mode 100644 index 14e14f2d6..000000000 --- a/apps/kennisbank-dashboard/src/api/homepage/routes/homepage.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * homepage router - */ - -import { factories } from '@strapi/strapi'; - -export default factories.createCoreRouter('api::homepage.homepage'); diff --git a/apps/kennisbank-dashboard/src/api/homepage/services/homepage.ts b/apps/kennisbank-dashboard/src/api/homepage/services/homepage.ts deleted file mode 100644 index 4369109c7..000000000 --- a/apps/kennisbank-dashboard/src/api/homepage/services/homepage.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * homepage service - */ - -import { factories } from '@strapi/strapi'; - -export default factories.createCoreService('api::homepage.homepage'); diff --git a/apps/kennisbank-dashboard/src/extensions/.gitkeep b/apps/kennisbank-dashboard/src/extensions/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/kennisbank-dashboard/src/index.ts b/apps/kennisbank-dashboard/src/index.ts deleted file mode 100644 index 0fb9cd48e..000000000 --- a/apps/kennisbank-dashboard/src/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -export default { - /** - * An asynchronous register function that runs before - * your application is initialized. - * - * This gives you an opportunity to extend code. - */ - - register(/*{ strapi }: { strapi: Strapi }*/) {}, - - /** - * An asynchronous bootstrap function that runs before - * your application gets started. - * - * This gives you an opportunity to set up your data model, - * run jobs, or perform some special logic. - */ - async bootstrap(/*{ strapi }: { strapi: Strapi }*/) {}, -}; diff --git a/apps/kennisbank-dashboard/tsconfig.json b/apps/kennisbank-dashboard/tsconfig.json deleted file mode 100644 index c0a45b6a9..000000000 --- a/apps/kennisbank-dashboard/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@strapi/typescript-utils/tsconfigs/server", - "compilerOptions": { - "outDir": "dist", - "rootDir": ".", - "allowJs": true - }, - "include": ["./", "src/**/*.json"], - "exclude": ["node_modules/", "build/", "dist/", ".cache/", ".tmp/", "src/admin/", "**/*.test.ts", "src/plugins/**"] -} diff --git a/apps/kennisbank-frontend/.eslintrc.json b/apps/kennisbank-frontend/.eslintrc.json deleted file mode 100644 index e7fc2048e..000000000 --- a/apps/kennisbank-frontend/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "next/core-web-vitals", - "settings": { - "next": { - "rootDir": "../kennisbank-frontend" - } - }, - "rules": { - "@next/next/no-html-link-for-pages": "off" - } -} diff --git a/apps/kennisbank-frontend/.gitignore b/apps/kennisbank-frontend/.gitignore deleted file mode 100644 index c87c9b392..000000000 --- a/apps/kennisbank-frontend/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/apps/kennisbank-frontend/CHANGELOG.md b/apps/kennisbank-frontend/CHANGELOG.md deleted file mode 100644 index ce25e6612..000000000 --- a/apps/kennisbank-frontend/CHANGELOG.md +++ /dev/null @@ -1,41 +0,0 @@ -# @frameless/kennisbank-frontend - -## 0.1.5 - -### Patch Changes - -- Updated dependencies [95b7a51] -- Updated dependencies [dcaab2a] -- Updated dependencies [c16e0f5] - - @frameless/ui@0.1.2 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies [ca71dbf] - - @frameless/ui@0.1.1 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies [8c536da] -- Updated dependencies [2c0382b] -- Updated dependencies [2c0382b] - - @frameless/ui@0.1.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies [06c52b9] - - @frameless/ui@0.0.1 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies [82fa577] -- Updated dependencies [82fa577] - - @frameless/ui@0.0.0 diff --git a/apps/kennisbank-frontend/README.md b/apps/kennisbank-frontend/README.md deleted file mode 100644 index fcce90d54..000000000 --- a/apps/kennisbank-frontend/README.md +++ /dev/null @@ -1 +0,0 @@ -# Utrecht Kennisbank Frontend diff --git a/apps/kennisbank-frontend/next-sitemap.config.js b/apps/kennisbank-frontend/next-sitemap.config.js deleted file mode 100644 index 5d1b9b8d3..000000000 --- a/apps/kennisbank-frontend/next-sitemap.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('next-sitemap').IConfig} */ -module.exports = { - siteUrl: process.env.FRONTEND_PUBLIC_URL, - generateRobotsTxt: true, - exclude: ['/sitemap.xml'], - robotsTxtOptions: { - additionalSitemaps: [`${process.env.FRONTEND_PUBLIC_URL}/sitemap.xml`], - }, -}; diff --git a/apps/kennisbank-frontend/next.config.js b/apps/kennisbank-frontend/next.config.js deleted file mode 100644 index 4530be87c..000000000 --- a/apps/kennisbank-frontend/next.config.js +++ /dev/null @@ -1,19 +0,0 @@ -const { URL } = require('url'); -const { hostname, protocol, port } = new URL(process.env.STRAPI_PUBLIC_URL || 'http://localhost:1337'); -/** @type {import('next').NextConfig} */ -const nextConfig = { - images: { - remotePatterns: [ - { - protocol: protocol.replace(/:$/, ''), - hostname: hostname, - port: port, - }, - ], - }, - experimental: { - serverActions: true, - }, -}; - -module.exports = nextConfig; diff --git a/apps/kennisbank-frontend/package.json b/apps/kennisbank-frontend/package.json deleted file mode 100644 index 2798cc74f..000000000 --- a/apps/kennisbank-frontend/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@frameless/kennisbank-frontend", - "version": "0.1.5", - "private": true, - "author": "@frameless", - "description": "Utrecht kennisbank frontend application", - "license": "EUPL-1.2", - "keywords": [], - "scripts": { - "dev": "next dev -p 3000", - "prebuild": "npm run clean", - "clean": "rimraf build .next", - "build": "next build", - "start": "next start -p 3000", - "lint": "next lint", - "lint-build": "tsc --noEmit --project tsconfig.json" - }, - "dependencies": { - "@tanstack/react-query": "4.29.25", - "@frameless/ui": "0.1.2", - "@utrecht/component-library-css": "4.2.0", - "@utrecht/component-library-react": "5.0.0", - "@utrecht/design-tokens": "1.1.0", - "@utrecht/web-component-library-react": "1.3.0", - "accept-language": "3.0.18", - "classnames": "2.3.3", - "i18next": "22.5.1", - "i18next-browser-languagedetector": "7.0.2", - "i18next-resources-to-backend": "1.1.4", - "is-absolute-url": "4.0.1", - "next": "13.5.6", - "next-sitemap": "4.1.8", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-i18next": "12.3.1", - "react-loading-skeleton": "3.3.1", - "sharp": "0.32.6" - }, - "devDependencies": { - "eslint": "8.35.0", - "eslint-config-next": "13.2.4", - "sass": "1.63.6" - }, - "repository": { - "type": "git+ssh", - "url": "git@github.com:frameless/strapi.git", - "directory": "apps/kennisbank-frontend" - } -} diff --git a/apps/kennisbank-frontend/public/next.svg b/apps/kennisbank-frontend/public/next.svg deleted file mode 100644 index 5174b28c5..000000000 --- a/apps/kennisbank-frontend/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/kennisbank-frontend/public/thirteen.svg b/apps/kennisbank-frontend/public/thirteen.svg deleted file mode 100644 index 8977c1bd1..000000000 --- a/apps/kennisbank-frontend/public/thirteen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/kennisbank-frontend/public/vercel.svg b/apps/kennisbank-frontend/public/vercel.svg deleted file mode 100644 index d2f842227..000000000 --- a/apps/kennisbank-frontend/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/kennisbank-frontend/src/app/[locale]/layout.tsx b/apps/kennisbank-frontend/src/app/[locale]/layout.tsx deleted file mode 100644 index b6fc2b52b..000000000 --- a/apps/kennisbank-frontend/src/app/[locale]/layout.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import classnames from 'classnames'; -import { dir } from 'i18next'; -import type { Metadata } from 'next'; -import React from 'react'; -import { QueryClientProvider } from '@/client'; -import '@utrecht/component-library-css'; -import '@utrecht/design-tokens/dist/index.css'; -import { useTranslation } from '../i18n/index'; -import '@frameless/ui/dist/bundle.css'; - -interface LayoutProps { - children: React.ReactNode; - params: { - locale: string; - }; -} - -type Params = { - params: { - locale: string; - }; -}; - -export async function generateMetadata({ params: { locale } }: Params): Promise { - // eslint-disable-next-line react-hooks/rules-of-hooks - const { t } = await useTranslation(locale, 'common'); - return { - title: { - template: `%s | ${t('website-setting.website-name')}`, - default: `${t('website-setting.website-name')}`, - }, - }; -} - -const RootLayout = async ({ children, params: { locale } }: LayoutProps) => { - return ( - - - -
{children}
-
- - - ); -}; -export default RootLayout; diff --git a/apps/kennisbank-frontend/src/app/[locale]/page.tsx b/apps/kennisbank-frontend/src/app/[locale]/page.tsx deleted file mode 100644 index 24a35585c..000000000 --- a/apps/kennisbank-frontend/src/app/[locale]/page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { Metadata } from 'next'; -import React from 'react'; -import { useTranslation } from '../i18n'; - -export interface Fields { - title: string; - body: string; -} - -type Params = { - params: { - locale: string; - }; -}; - -export async function generateMetadata({ params: { locale } }: Params): Promise { - // eslint-disable-next-line react-hooks/rules-of-hooks - const { t } = await useTranslation(locale, 'home-page'); - return { - title: t('seo.title'), - description: t('seo.description'), - }; -} - -const Home = async ({ params: { locale } }: { params: any }) => { - const { t } = await useTranslation(locale, 'home-page'); - return ( -
-

{t('h1')}

-
- ); -}; - -export default Home; diff --git a/apps/kennisbank-frontend/src/app/i18n/client.ts b/apps/kennisbank-frontend/src/app/i18n/client.ts deleted file mode 100644 index 55a20f62b..000000000 --- a/apps/kennisbank-frontend/src/app/i18n/client.ts +++ /dev/null @@ -1,38 +0,0 @@ -'use client'; - -import i18next from 'i18next'; -import LanguageDetector from 'i18next-browser-languagedetector'; -import resourcesToBackend from 'i18next-resources-to-backend'; -import { useEffect } from 'react'; -import { initReactI18next, useTranslation as useTranslationOrg } from 'react-i18next'; -import { getOptions } from './settings'; - -// on client side the normal singleton is ok -i18next - .use(initReactI18next) - .use(LanguageDetector) - .use(resourcesToBackend((language: string, namespace: string) => import(`./locales/${language}/${namespace}.json`))) - .init({ - ...getOptions(), - lng: undefined, // let detect the language on client side - detection: { - order: ['path', 'htmlTag', 'cookie', 'navigator'], - }, - }); - -const runsOnServerSide = typeof window === 'undefined'; - -export function useTranslation(lng: string, ns: string | string[], options?: any) { - const ret = useTranslationOrg(ns, options); - const { i18n } = ret; - if (runsOnServerSide && i18n.resolvedLanguage !== lng) { - i18n.changeLanguage(lng); - } else { - // eslint-disable-next-line react-hooks/rules-of-hooks - useEffect(() => { - if (i18n.resolvedLanguage === lng) return; - i18n.changeLanguage(lng); - }, [lng, i18n]); - } - return ret; -} diff --git a/apps/kennisbank-frontend/src/app/i18n/index.ts b/apps/kennisbank-frontend/src/app/i18n/index.ts deleted file mode 100644 index a202de7fc..000000000 --- a/apps/kennisbank-frontend/src/app/i18n/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -'use server'; - -import { createInstance, InitOptions } from 'i18next'; -import resourcesToBackend from 'i18next-resources-to-backend'; -import { initReactI18next } from 'react-i18next/initReactI18next'; -import { getOptions } from './settings'; - -const initI18next = async (locale: string, ns: string | string[]) => { - // on the server-side, we create a new instance for each render because during compilation everything seems to be executed in parallel - const i18nInstance = createInstance(); - await i18nInstance - .use(initReactI18next) - .use(resourcesToBackend((language: string, namespace: string) => import(`./locales/${language}/${namespace}.json`))) - .init(getOptions(locale, ns as string) as InitOptions); // Type assertion to InitOptions - return i18nInstance; -}; - -export async function useTranslation(locale: string, ns: string | string[], options: any = {}) { - const i18nextInstance = await initI18next(locale, ns); - - return { - t: i18nextInstance.getFixedT(locale, Array.isArray(ns) ? ns[0] : ns, options.keyPrefix), - i18n: i18nextInstance, - }; -} diff --git a/apps/kennisbank-frontend/src/app/i18n/locales/nl/common.json b/apps/kennisbank-frontend/src/app/i18n/locales/nl/common.json deleted file mode 100644 index 7dbd8b229..000000000 --- a/apps/kennisbank-frontend/src/app/i18n/locales/nl/common.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "website-setting": { - "website-name": "Gemeente Utrecht" - } -} diff --git a/apps/kennisbank-frontend/src/app/i18n/locales/nl/home-page.json b/apps/kennisbank-frontend/src/app/i18n/locales/nl/home-page.json deleted file mode 100644 index 31b0dd7ff..000000000 --- a/apps/kennisbank-frontend/src/app/i18n/locales/nl/home-page.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "seo": { - "title": "Toezicht en Handhaving | Gemeente Utrecht", - "description": "Beschrijving" - }, - "h1": "Hello kennisbank" -} diff --git a/apps/kennisbank-frontend/src/app/i18n/settings.ts b/apps/kennisbank-frontend/src/app/i18n/settings.ts deleted file mode 100644 index 7a33b63a1..000000000 --- a/apps/kennisbank-frontend/src/app/i18n/settings.ts +++ /dev/null @@ -1,16 +0,0 @@ -export const fallbackLng = 'nl'; -export const languages = ['nl']; -export const defaultNS = 'common'; - -export function getOptions(lng = fallbackLng, ns = defaultNS) { - return { - debug: !!process.env.I18N_DEBUG, - supportedLngs: languages, - preload: languages, - fallbackLng, - lng, - fallbackNS: defaultNS, - defaultNS, - ns, - }; -} diff --git a/apps/kennisbank-frontend/src/client.tsx b/apps/kennisbank-frontend/src/client.tsx deleted file mode 100644 index 8c6ae88f3..000000000 --- a/apps/kennisbank-frontend/src/client.tsx +++ /dev/null @@ -1,9 +0,0 @@ -'use client'; -import { QueryClientProvider as Provider, QueryClient } from '@tanstack/react-query'; -import React from 'react'; - -const queryClient = new QueryClient(); - -export const QueryClientProvider = ({ children }: any) => { - return {children}; -}; diff --git a/apps/kennisbank-frontend/src/middleware.ts b/apps/kennisbank-frontend/src/middleware.ts deleted file mode 100644 index 376142a02..000000000 --- a/apps/kennisbank-frontend/src/middleware.ts +++ /dev/null @@ -1,39 +0,0 @@ -import acceptLanguage from 'accept-language'; -import { NextResponse } from 'next/server'; -import { NextRequest } from 'next/server'; -import { fallbackLng, languages } from './app/i18n/settings'; -acceptLanguage.languages(languages); - -export const config = { - matcher: ['/((?!api|_next/static|_next/image|assets|favicon.ico|sw.js).*)'], -}; - -const cookieName = 'i18next'; - -export function middleware(req: NextRequest) { - if (req.nextUrl.pathname.indexOf('icon') > -1 || req.nextUrl.pathname.indexOf('chrome') > -1) - return NextResponse.next(); - let lng; - if (req.cookies.has(cookieName)) lng = acceptLanguage.get(req.cookies.get(cookieName)?.value); - if (!lng) lng = acceptLanguage.get(req.headers.get('Accept-Language')); - if (!lng) lng = fallbackLng; - - // Redirect if lng in path is not supported - if ( - !languages.some((loc) => req.nextUrl.pathname.startsWith(`/${loc}`)) && - !req.nextUrl.pathname.startsWith('/_next') - ) { - return NextResponse.redirect(new URL(`/${lng}${req.nextUrl.pathname}`, req.url)); - } - - if (req.headers.has('referer')) { - const refererUrl = new URL(req.headers.get('referer') as any); - const lngInReferer = languages.find((l) => refererUrl.pathname.startsWith(`/${l}`)); - const response = NextResponse.next(); - if (lngInReferer) response.cookies.set(cookieName, lngInReferer); - return response; - } - const requestHeaders = new Headers(req.headers); - requestHeaders.set('x-pathname', req.nextUrl.pathname); - return NextResponse.next(); -} diff --git a/apps/kennisbank-frontend/src/util/create-url.ts b/apps/kennisbank-frontend/src/util/create-url.ts deleted file mode 100644 index 8b5b25b5b..000000000 --- a/apps/kennisbank-frontend/src/util/create-url.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { format, parse } from 'url'; - -export const createURL = (baseUrl: string, params: any) => { - const parsedUrl = parse(baseUrl, true); - parsedUrl.query = params; - const finalUrl = format(parsedUrl); - return finalUrl; -}; diff --git a/apps/kennisbank-frontend/src/util/createStrapiURL.ts b/apps/kennisbank-frontend/src/util/createStrapiURL.ts deleted file mode 100644 index eff61bc8f..000000000 --- a/apps/kennisbank-frontend/src/util/createStrapiURL.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { URL } from 'url'; -export const createStrapiURL = () => { - if (!process.env.STRAPI_PRIVATE_URL) { - throw new Error('STRAPI_PRIVATE_URL is not defined'); - } - - const { origin } = new URL(process.env.STRAPI_PRIVATE_URL); - const strapiURL = `${origin}/graphql`; - return strapiURL; -}; diff --git a/apps/kennisbank-frontend/src/util/fetchData.ts b/apps/kennisbank-frontend/src/util/fetchData.ts deleted file mode 100644 index 240e7cf3e..000000000 --- a/apps/kennisbank-frontend/src/util/fetchData.ts +++ /dev/null @@ -1,97 +0,0 @@ -interface FetchDataProps { - url: string; - query?: string; - variables?: any; - method?: string; -} - -export const fetchData = async ({ url, query, variables, method = 'POST' }: FetchDataProps) => { - try { - const response = await fetch(url, { - method, - cache: 'no-store', - headers: { - 'Content-Type': 'application/json', - }, - body: - method !== 'GET' - ? JSON.stringify({ - query, - variables, - }) - : undefined, - }); - if (!response.ok) { - const { logger } = new ErrorHandler(); - logger(); - switch (response.status) { - case 400: - throw new ErrorHandler(response.statusText, { - statusCode: 400, - }); - case 403: - throw new ErrorHandler('Forbidden', { - statusCode: 403, - }); - case 404: - throw new ErrorHandler('Not found', { - statusCode: 404, - }); - case 422: - throw new ErrorHandler('Unprocessable entity', { - statusCode: 422, - }); - case 500: - throw new ErrorHandler('Internal server error', { - statusCode: 500, - }); - case 503: - logger(); - throw new ErrorHandler('Service unavailable', { - statusCode: 503, - }); - case 504: - throw new ErrorHandler('Gateway timeout', { - statusCode: 504, - }); - case 505: - throw new ErrorHandler('HTTP version not supported', { - statusCode: 505, - }); - default: - throw new ErrorHandler(response.statusText, { - statusCode: response.status, - }); - } - } - const data = await response.json(); - return data; - } catch (error: any) { - throw new ErrorHandler(error?.message, { - statusCode: error?.options?.statusCode, - }); - } -}; - -type Options = { - statusCode: number; -}; - -export class ErrorHandler extends Error { - constructor( - message?: string, - public options?: Options, - ) { - super(message); - this.name = 'ErrorHandler'; - this.options = options; - } - // this logger method should be used only on the server side to give some information when something goes wrong - logger() { - // eslint-disable-next-line no-console - console.log({ - message: this?.message, - statusCode: this?.options?.statusCode, - }); - } -} diff --git a/apps/kennisbank-frontend/src/util/getImageBaseUrl.ts b/apps/kennisbank-frontend/src/util/getImageBaseUrl.ts deleted file mode 100644 index b4c480c33..000000000 --- a/apps/kennisbank-frontend/src/util/getImageBaseUrl.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const getImageBaseUrl = () => { - if (!process.env.STRAPI_PUBLIC_URL) { - throw new Error('`STRAPI_PUBLIC_URL` is required to construct the image URL in the Markdown component.'); - } - const url = new URL(process.env.STRAPI_PUBLIC_URL); - return url?.origin; -}; diff --git a/apps/kennisbank-frontend/tsconfig.json b/apps/kennisbank-frontend/tsconfig.json deleted file mode 100644 index 0c7555fa7..000000000 --- a/apps/kennisbank-frontend/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/docker-compose.kennisbank.dev.yml b/docker-compose.kennisbank.dev.yml deleted file mode 100644 index ba582a5e1..000000000 --- a/docker-compose.kennisbank.dev.yml +++ /dev/null @@ -1,112 +0,0 @@ -version: "3" -services: - kennisbank_strapi: - container_name: kennisbank_strapi - build: - context: . - dockerfile: Dockerfile.dev - image: strapi:latest - restart: unless-stopped - volumes: - - ./package.json:/opt/app/package.json - - ./yarn.lock:/opt/app/yarn.lock - - ./apps/kennisbank-dashboard/config:/opt/app/apps/kennisbank-dashboard/config - - ./apps/kennisbank-dashboard/src:/opt/app/apps/kennisbank-dashboard/src - - ./apps/kennisbank-dashboard/package.json:/opt/app/apps/kennisbank-dashboard/package.json - - ./apps/kennisbank-dashboard/public/:/opt/app/apps/kennisbank-dashboard/public/ - entrypoint: ["/bin/sh", "-c"] - command: - - | - npm run dev --workspace @frameless/kennisbank-dashboard - environment: - HOST: ${HOST} - PORT: ${PORT} - APP_KEYS: ${APP_KEYS} - ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} - JWT_SECRET: ${JWT_SECRET} - API_TOKEN_SALT: ${API_TOKEN_SALT} - PREVIEW_SECRET_TOKEN: ${PREVIEW_SECRET_TOKEN} - TRANSFER_TOKEN_SALT: ${TRANSFER_TOKEN_SALT} - DATABASE_CLIENT: ${DATABASE_CLIENT} - DATABASE_HOST: kennisbank_strapi_db - DATABASE_PORT: ${DATABASE_PORT} - DATABASE_NAME: ${DATABASE_NAME} - DATABASE_USERNAME: ${DATABASE_USERNAME} - DATABASE_PASSWORD: ${DATABASE_PASSWORD} - FRONTEND_PUBLIC_URL: ${FRONTEND_PUBLIC_URL} - NODE_ENV: ${NODE_ENV} - ports: - - "1337:1337" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi_db - kennisbank_frontend: - container_name: kennisbank_frontend - build: - context: . - dockerfile: Dockerfile.dev - restart: unless-stopped - command: ./bin/wait-for-it.sh -s kennisbank_strapi:1337 -t 25 -- npm run dev --workspace @frameless/kennisbank-frontend - environment: - PREVIEW_SECRET_TOKEN: ${PREVIEW_SECRET_TOKEN} - STRAPI_PRIVATE_URL: ${STRAPI_PRIVATE_URL} - FRONTEND_PUBLIC_URL: ${FRONTEND_PUBLIC_URL} - STRAPI_PUBLIC_URL: ${STRAPI_PUBLIC_URL} - volumes: # enable hot-reload - - ./apps/kennisbank-frontend/src:/opt/app/apps/kennisbank-frontend/src - - ./apps/kennisbank-frontend/public:/opt/app/apps/kennisbank-frontend/public - - ./apps/kennisbank-frontend/.next:/opt/app/apps/kennisbank-frontend/.next - - ./apps/kennisbank-frontend/package.json:/opt/app/apps/kennisbank-frontend/package.json - ports: - - "3000:3000" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi - - kennisbank_strapi_db - kennisbank_strapi_db: - container_name: kennisbank_strapi_db - platform: linux/amd64 #for platform error on Apple M1 chips - restart: unless-stopped - image: postgres:12.0-alpine - environment: - POSTGRES_USER: ${DATABASE_USERNAME} - POSTGRES_PASSWORD: ${DATABASE_PASSWORD} - POSTGRES_DB: ${DATABASE_NAME} - healthcheck: - test: - [ - "CMD-SHELL", - "sh -c 'pg_isready -U ${DATABASE_USERNAME} -d ${DATABASE_NAME}'", - ] - interval: 10s - timeout: 3s - retries: 3 - volumes: - - kennisbank-strapi-data:/var/lib/postgresql/data/ - ports: - - "5432:5432" - networks: - - kennisbank_strapi_network - kennisbank_pgadmin: - container_name: kennisbank_pgadmin - image: dpage/pgadmin4 - restart: always - environment: - PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} - PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} - ports: - - "8080:80" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi_db - -volumes: - kennisbank-strapi-data: - -networks: - kennisbank_strapi_network: - name: Strapi network - driver: bridge diff --git a/docker-compose.kennisbank.prod.yml b/docker-compose.kennisbank.prod.yml deleted file mode 100644 index e3e9e0a33..000000000 --- a/docker-compose.kennisbank.prod.yml +++ /dev/null @@ -1,98 +0,0 @@ -version: "3.8" -services: - kennisbank_strapi: - container_name: kennisbank_strapi - build: - context: . - dockerfile: Dockerfile.prod - image: strapi:latest - restart: unless-stopped - volumes: - - ./apps/kennisbank-dashboard/public/uploads:/opt/app/apps/kennisbank-dashboard/public/uploads - command: npm run start:kennisbank-dashboard - environment: - HOST: ${HOST} - PORT: ${PORT} - APP_KEYS: ${APP_KEYS} - ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} - JWT_SECRET: ${JWT_SECRET} - API_TOKEN_SALT: ${API_TOKEN_SALT} - PREVIEW_SECRET_TOKEN: ${PREVIEW_SECRET_TOKEN} - TRANSFER_TOKEN_SALT: ${TRANSFER_TOKEN_SALT} - FRONTEND_PUBLIC_URL: ${FRONTEND_PUBLIC_URL} - DATABASE_CLIENT: ${DATABASE_CLIENT} - DATABASE_HOST: kennisbank_strapi_db - DATABASE_PORT: ${DATABASE_PORT} - DATABASE_NAME: ${DATABASE_NAME} - DATABASE_USERNAME: ${DATABASE_USERNAME} - DATABASE_PASSWORD: ${DATABASE_PASSWORD} - NODE_ENV: ${NODE_ENV} - ports: - - "1337:1337" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi_db - kennisbank_frontend: - container_name: kennisbank_frontend - build: - context: . - dockerfile: Dockerfile.prod - restart: unless-stopped - command: ./bin/wait-for-it.sh kennisbank_strapi:1337 -- npm run start:kennisbank-frontend - environment: - PREVIEW_SECRET_TOKEN: ${PREVIEW_SECRET_TOKEN} - STRAPI_PRIVATE_URL: ${STRAPI_PRIVATE_URL} - FRONTEND_PUBLIC_URL: ${FRONTEND_PUBLIC_URL} - STRAPI_PUBLIC_URL: ${STRAPI_PUBLIC_URL} - ports: - - "3000:3000" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi - - kennisbank_strapi_db - kennisbank_strapi_db: - container_name: kennisbank_strapi_db - platform: linux/amd64 #for platform error on Apple M1 chips - restart: unless-stopped - image: postgres:12.0-alpine - environment: - POSTGRES_USER: ${DATABASE_USERNAME} - POSTGRES_PASSWORD: ${DATABASE_PASSWORD} - POSTGRES_DB: ${DATABASE_NAME} - healthcheck: - test: - [ - "CMD-SHELL", - "sh -c 'pg_isready -U ${DATABASE_USERNAME} -d ${DATABASE_NAME}'", - ] - interval: 10s - timeout: 3s - retries: 3 - volumes: - - kennisbank-strapi-data:/var/lib/postgresql/data/ - ports: - - "5432:5432" - networks: - - kennisbank_strapi_network - kennisbank_pgadmin: - container_name: kennisbank_pgadmin - image: dpage/pgadmin4 - restart: always - environment: - PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} - PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} - ports: - - "9000:80" - networks: - - kennisbank_strapi_network - depends_on: - - kennisbank_strapi_db -volumes: - kennisbank-strapi-data: - -networks: - kennisbank_strapi_network: - name: Strapi network - driver: bridge From d3db272d50db5d8cb32a3080c97943032d6ba04f Mon Sep 17 00:00:00 2001 From: Ali Amori Kadhim Date: Mon, 9 Mar 2026 14:45:08 +0100 Subject: [PATCH 003/100] chore: remove strapi-tiptap-editor that supports strapi v4 --- packages/strapi-tiptap-editor/.npmignore | 1 - packages/strapi-tiptap-editor/CHANGELOG.md | 290 ------- packages/strapi-tiptap-editor/LICENSE.md | 0 packages/strapi-tiptap-editor/README.md | 1 - .../components/Editor/BubbleMenuComponent.tsx | 27 - .../src/components/Editor/LanguagesList.tsx | 42 - .../admin/src/components/Editor/PriceList.tsx | 62 -- .../src/components/Editor/TableMenuBar.tsx | 304 ------- .../admin/src/components/Editor/Toolbar.tsx | 803 ------------------ .../Editor/ToolbarItems/HeadingWithID.tsx | 267 ------ .../src/components/Editor/accordion.scss | 90 -- .../admin/src/components/Editor/editor.scss | 5 - .../admin/src/components/Editor/index.tsx | 112 --- .../admin/src/components/Editor/styles.ts | 119 --- .../admin/src/components/LinkDialog/index.tsx | 78 -- .../admin/src/components/MediaLib/index.tsx | 70 -- .../components/RichtextPreviewInput/index.tsx | 61 -- .../src/components/TableWidget/index.tsx | 31 - .../src/components/TableWidget/styles.css | 49 -- .../Wysiwyg/RichTextEditorCanvas.scss | 11 - .../admin/src/components/Wysiwyg/index.tsx | 349 -------- .../extensions/CustomTable/index.tsx | 18 - .../components/extensions/Figcaption/index.ts | 24 - .../components/extensions/Figure/index.tsx | 62 -- .../components/extensions/Language/index.ts | 108 --- .../extensions/LeadParagraph/index.ts | 50 -- .../src/components/extensions/Price/index.ts | 68 -- .../src/components/extensions/Price/price.css | 10 - .../components/extensions/Price/widget.tsx | 54 -- .../schema/initialTableWithCaptionData.ts | 79 -- .../admin/src/context/productPrice/context.ts | 24 - .../admin/src/context/productPrice/queries.ts | 27 - .../admin/src/context/productPrice/reducer.ts | 23 - .../admin/src/context/productPrice/state.tsx | 125 --- .../admin/src/context/types.ts | 2 - .../admin/src/custom.d.ts | 5 - .../admin/src/hooks/useLink.ts | 125 --- .../admin/src/hooks/useProductPrice.ts | 19 - .../strapi-tiptap-editor/admin/src/index.tsx | 88 -- .../admin/src/pages/App/index.tsx | 23 - .../admin/src/pages/HomePage/Tabs/Embeds.tsx | 335 -------- .../admin/src/pages/HomePage/Tabs/Layout.tsx | 151 ---- .../admin/src/pages/HomePage/Tabs/Other.tsx | 183 ---- .../admin/src/pages/HomePage/Tabs/Text.tsx | 353 -------- .../admin/src/pages/HomePage/index.tsx | 154 ---- .../admin/src/pluginId.ts | 5 - .../admin/src/translations/en.json | 110 --- .../admin/src/translations/nl.json | 110 --- .../strapi-tiptap-editor/admin/src/types.d.ts | 17 - .../admin/src/utils/cursorPositionHandler.ts | 24 - .../admin/src/utils/findClosestTable.ts | 33 - .../admin/src/utils/formatCurrency.ts | 14 - .../admin/src/utils/generateLabel.test.ts | 76 -- .../admin/src/utils/generateLabel.ts | 60 -- .../admin/src/utils/getLocalStorage.ts | 26 - .../admin/src/utils/getTrad.ts | 5 - .../admin/src/utils/index.ts | 8 - .../admin/src/utils/isFreeProduct.ts | 1 - .../admin/src/utils/localizeLanguagesNames.ts | 10 - .../admin/src/utils/merge.ts | 30 - .../src/utils/sortLanguagesAlphabetically.ts | 4 - packages/strapi-tiptap-editor/jest.config.ts | 18 - packages/strapi-tiptap-editor/package.json | 108 --- packages/strapi-tiptap-editor/screenshot.png | Bin 5337 -> 0 bytes packages/strapi-tiptap-editor/screenshot2.png | Bin 13914 -> 0 bytes .../strapi-tiptap-editor/server/bootstrap.ts | 3 - .../server/config/index.ts | 4 - .../server/content-types/index.ts | 1 - .../server/controllers/index.ts | 5 - .../server/controllers/settings.ts | 24 - .../strapi-tiptap-editor/server/destroy.ts | 3 - packages/strapi-tiptap-editor/server/index.ts | 23 - .../server/middlewares/index.ts | 1 - .../server/policies/index.ts | 1 - .../strapi-tiptap-editor/server/register.ts | 10 - .../server/routes/index.ts | 18 - .../server/services/index.ts | 5 - .../server/services/my-service.ts | 5 - packages/strapi-tiptap-editor/strapi-admin.js | 3 - .../strapi-tiptap-editor/strapi-server.js | 3 - packages/strapi-tiptap-editor/tsconfig.json | 10 - .../strapi-tiptap-editor/tsconfig.server.json | 11 - .../strapi-tiptap-editor/tsconfig.test.json | 12 - packages/strapi-tiptap-editor/utils/api.ts | 10 - .../strapi-tiptap-editor/utils/defaults.ts | 72 -- .../strapi-tiptap-editor/utils/helpers.ts | 11 - 86 files changed, 5776 deletions(-) delete mode 100644 packages/strapi-tiptap-editor/.npmignore delete mode 100644 packages/strapi-tiptap-editor/CHANGELOG.md delete mode 100644 packages/strapi-tiptap-editor/LICENSE.md delete mode 100644 packages/strapi-tiptap-editor/README.md delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/BubbleMenuComponent.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/LanguagesList.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/PriceList.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/TableMenuBar.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/Toolbar.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/ToolbarItems/HeadingWithID.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/accordion.scss delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/editor.scss delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Editor/styles.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/LinkDialog/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/MediaLib/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/RichtextPreviewInput/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/TableWidget/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/TableWidget/styles.css delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Wysiwyg/RichTextEditorCanvas.scss delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/Wysiwyg/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/CustomTable/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Figcaption/index.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Figure/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Language/index.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/LeadParagraph/index.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Price/index.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Price/price.css delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/Price/widget.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/components/extensions/schema/initialTableWithCaptionData.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/context/productPrice/context.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/context/productPrice/queries.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/context/productPrice/reducer.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/context/productPrice/state.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/context/types.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/custom.d.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/hooks/useLink.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/hooks/useProductPrice.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/App/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/HomePage/Tabs/Embeds.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/HomePage/Tabs/Layout.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/HomePage/Tabs/Other.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/HomePage/Tabs/Text.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pages/HomePage/index.tsx delete mode 100644 packages/strapi-tiptap-editor/admin/src/pluginId.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/translations/en.json delete mode 100644 packages/strapi-tiptap-editor/admin/src/translations/nl.json delete mode 100644 packages/strapi-tiptap-editor/admin/src/types.d.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/cursorPositionHandler.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/findClosestTable.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/formatCurrency.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/generateLabel.test.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/generateLabel.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/getLocalStorage.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/getTrad.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/index.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/isFreeProduct.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/localizeLanguagesNames.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/merge.ts delete mode 100644 packages/strapi-tiptap-editor/admin/src/utils/sortLanguagesAlphabetically.ts delete mode 100644 packages/strapi-tiptap-editor/jest.config.ts delete mode 100644 packages/strapi-tiptap-editor/package.json delete mode 100644 packages/strapi-tiptap-editor/screenshot.png delete mode 100644 packages/strapi-tiptap-editor/screenshot2.png delete mode 100644 packages/strapi-tiptap-editor/server/bootstrap.ts delete mode 100644 packages/strapi-tiptap-editor/server/config/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/content-types/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/controllers/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/controllers/settings.ts delete mode 100644 packages/strapi-tiptap-editor/server/destroy.ts delete mode 100644 packages/strapi-tiptap-editor/server/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/middlewares/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/policies/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/register.ts delete mode 100644 packages/strapi-tiptap-editor/server/routes/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/services/index.ts delete mode 100644 packages/strapi-tiptap-editor/server/services/my-service.ts delete mode 100644 packages/strapi-tiptap-editor/strapi-admin.js delete mode 100644 packages/strapi-tiptap-editor/strapi-server.js delete mode 100644 packages/strapi-tiptap-editor/tsconfig.json delete mode 100644 packages/strapi-tiptap-editor/tsconfig.server.json delete mode 100644 packages/strapi-tiptap-editor/tsconfig.test.json delete mode 100644 packages/strapi-tiptap-editor/utils/api.ts delete mode 100644 packages/strapi-tiptap-editor/utils/defaults.ts delete mode 100644 packages/strapi-tiptap-editor/utils/helpers.ts diff --git a/packages/strapi-tiptap-editor/.npmignore b/packages/strapi-tiptap-editor/.npmignore deleted file mode 100644 index caf01ec97..000000000 --- a/packages/strapi-tiptap-editor/.npmignore +++ /dev/null @@ -1 +0,0 @@ -dev/ \ No newline at end of file diff --git a/packages/strapi-tiptap-editor/CHANGELOG.md b/packages/strapi-tiptap-editor/CHANGELOG.md deleted file mode 100644 index 69af010a8..000000000 --- a/packages/strapi-tiptap-editor/CHANGELOG.md +++ /dev/null @@ -1,290 +0,0 @@ -# @frameless/strapi-tiptap-editor [2.3.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@2.2.0...@frameless/strapi-tiptap-editor@2.3.0) (2024-06-12) - -## 0.3.2 - -### Patch Changes - -- 8b2df3c: Los het probleem op met de sticky positie van de werkbalk met inhoudsblokken ([GitHub Issue Frameless/strapi#1135](https://github.com/frameless/strapi/issues/1135)). -- Updated dependencies [f322de1] -- Updated dependencies [c79d241] -- Updated dependencies [111df39] - - @frameless/utils@0.1.0 - -## 0.3.1 - -### Patch Changes - -- Updated dependencies [d07b871] - - @frameless/utils@0.0.1 - -## 0.3.0 - -### Minor Changes - -- d96fe22: Voeg Rich Text Voorbeeldfunctionaliteit toe - - - Nieuwe functionaliteit toegevoegd voor rich text voorbeeld. - - Correcte behandeling van spaties en nieuwe regels. - - Label wordt dynamisch bijgewerkt bij wijziging van de inhoud. - -- 3b6b5b8: Integreer het kostenveld in de aanvullende informatiecollectie. - - Wanneer een kostenveld aan een product wordt gekoppeld, wordt de kostengegevens beschikbaar in het gekoppelde aanvullende-informatieveld. - -## 0.2.0 - -### Minor Changes - -- ed4d2a4: Kostenveld geïntegreerd in het interne veld - - Wanneer het kostenveld aan een product is gekoppeld, wordt deze waarde nu automatisch beschikbaar in het interne veld dat al aan het product is gekoppeld. - -## 0.1.1 - -### Patch Changes - -- f40ac6b: Los het probleem op waarbij de Strapi rich text editor niet goed zichtbaar is in dark mode. - -## 0.1.0 - -### Minor Changes - -- 06c52b9: Add Title to YouTube Video via Strapi Dashboard ([GitHub Issue frameless/strapi#859](https://github.com/frameless/strapi/issues/859)) - -## 0.0.0 - -### Minor Changes - -- 82fa577: Wanneer je een tabel maakt in Strapi, is het nu makkelijker om tekst voor of na de tabel toe te voegen. Klik op de knop boven de tabel om daar een lege regel toe te voegen, of klik op de knop onder de tabel om erna een lege regel te maken. -- 82fa577: Er zijn nu Nederlandse labels voor de toolbar buttons van de rich text editor in Strapi. - -### Features - -- improved Dutch labels of rich text editor ([7bd1d81](https://github.com/frameless/strapi/commit/7bd1d8128e157416ad3a2024b23da1420f35389c)) - -# @frameless/strapi-tiptap-editor [2.2.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@2.1.0...@frameless/strapi-tiptap-editor@2.2.0) (2024-06-04) - -### Features - -- **strapi-tiptap-editor:** add missing i18n labels to the Toolbar ([edff4f2](https://github.com/frameless/strapi/commit/edff4f280abcdbb0405b21b3b7236f4aa89fd6c1)) -- **strapi-tiptap-editor:** improve table cursor positioning ([ef602db](https://github.com/frameless/strapi/commit/ef602dbf72c39228546a5899e75e1b0f955fa0d9)) - -# @frameless/strapi-tiptap-editor [2.1.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@2.0.2...@frameless/strapi-tiptap-editor@2.1.0) (2024-05-02) - -### Features - -- **deps:** upgrade `@utrecht/` packages ([a835ad6](https://github.com/frameless/strapi/commit/a835ad66a0095e8d1d762677b380e89010225070)) - -## @frameless/strapi-tiptap-editor [2.0.2](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@2.0.1...@frameless/strapi-tiptap-editor@2.0.2) (2024-04-26) - -### Bug Fixes - -- **strapi-tiptap-editor:** use `onUpdate` instead of `useEffect` ([39f5102](https://github.com/frameless/strapi/commit/39f5102b4b42083929c0890ef702438faa98b5da)) -- **tiptap-strapi-editor:** disable the saveJson option from tiptap settings ([1ab0f8b](https://github.com/frameless/strapi/commit/1ab0f8b5e939cffc1b545e9f31a6076b4e34f125)) - -## @frameless/strapi-tiptap-editor [2.0.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@2.0.0...@frameless/strapi-tiptap-editor@2.0.1) (2024-04-25) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix tiptap duplication content issue ([7309d46](https://github.com/frameless/strapi/commit/7309d468050882f073f88dd9dd70be5e7c3c51c0)) - -# @frameless/strapi-tiptap-editor [2.0.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.12.0...@frameless/strapi-tiptap-editor@2.0.0) (2024-04-16) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix the price-widget issue ([8e5ef8a](https://github.com/frameless/strapi/commit/8e5ef8a0830235e1e6c0c7de4e190eda16338319)) - -### BREAKING CHANGES - -- **strapi-tiptap-editor:** use UUID instead of incremental ID - -# @frameless/strapi-tiptap-editor [1.12.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.11.0...@frameless/strapi-tiptap-editor@1.12.0) (2024-04-11) - -### Features - -- **strapi-tiptap-editor:** make the language extension configurable ([f28d13a](https://github.com/frameless/strapi/commit/f28d13a30f8efa4e0bcc7db8d61a2dbf1b53cf71)) - -# @frameless/strapi-tiptap-editor [1.11.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.5...@frameless/strapi-tiptap-editor@1.11.0) (2024-04-09) - -### Features - -- **strapi-tiptap-editor:** create anchor extension ([b056a27](https://github.com/frameless/strapi/commit/b056a2725a115c4b903c9795ac66488582f90003)) -- **strapi-tiptap-editor:** enable to use non-URLs ([9230298](https://github.com/frameless/strapi/commit/923029878a14e0ef54c9dd00f3356c68ac0db0d4)) - -## @frameless/strapi-tiptap-editor [1.10.5](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.4...@frameless/strapi-tiptap-editor@1.10.5) (2024-04-04) - -### Bug Fixes - -- **strapi-tiptap-editor:** increase the pice API limit ([3bf193a](https://github.com/frameless/strapi/commit/3bf193ad6860a1059c2e0c39699d984e94e07b30)) - -## @frameless/strapi-tiptap-editor [1.10.4](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.3...@frameless/strapi-tiptap-editor@1.10.4) (2024-04-03) - -### Bug Fixes - -- all paragraphs incorrectly default to lead ([309aa25](https://github.com/frameless/strapi/commit/309aa25a9afd39ee029e715594542de49781c0b6)) - -## @frameless/strapi-tiptap-editor [1.10.3](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.2...@frameless/strapi-tiptap-editor@1.10.3) (2024-04-03) - -### Bug Fixes - -- lead paragraph not rendering properly in tip-tap ([557669b](https://github.com/frameless/strapi/commit/557669b80208a68ebecbe868da0d23c54c50bc4c)) -- support changing back to paragraph from leadParagraph ([8c62cb9](https://github.com/frameless/strapi/commit/8c62cb97914ce3fc00b46169dba74a87bc67f97e)) - -## @frameless/strapi-tiptap-editor [1.10.2](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.1...@frameless/strapi-tiptap-editor@1.10.2) (2024-03-29) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix the price widget issue ([8e58661](https://github.com/frameless/strapi/commit/8e5866174e22b3cb2987550f1c57830c732dd751)) - -## @frameless/strapi-tiptap-editor [1.10.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.10.0...@frameless/strapi-tiptap-editor@1.10.1) (2024-03-26) - -### Bug Fixes - -- **tiptap-editor:** improve the price tiptap extension ([511e46b](https://github.com/frameless/strapi/commit/511e46b1ad6d370fd48b580095a285a34d2f7767)) - -# @frameless/strapi-tiptap-editor [1.10.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.9.1...@frameless/strapi-tiptap-editor@1.10.0) (2024-02-08) - -### Features - -- add Node.js 20 support ([7b5feb7](https://github.com/frameless/strapi/commit/7b5feb7f204e52566430e25ceb282a2a0d0fa86f)) - -# @frameless/strapi-tiptap-editor 1.0.0 (2023-12-04) - -### Bug Fixes - -- build error for experimental feature ([6d53cc7](https://github.com/frameless/strapi/commit/6d53cc710398d64233b638bce91e165b217adcc5)) -- **strapi-tiptap-editor:** enable i18n settings ([c59c51a](https://github.com/frameless/strapi/commit/c59c51ad52b0c95e12e5e391911886115b2b2556)) -- **strapi-tiptap-editor:** fix the i18n issue ([a4f9d99](https://github.com/frameless/strapi/commit/a4f9d992d87c8ea88b1f0e32b2f987f025bdedb5)) -- **strapi-tiptap-editor:** fix the ordered-list style ([23c0f22](https://github.com/frameless/strapi/commit/23c0f2273eb8eae42425419c075c0eee4f945161)) -- **strapi-tiptap-editor:** fix types issue ([c388569](https://github.com/frameless/strapi/commit/c388569b9271ddab94def5ac9459c8b37f24e232)) -- **strapi-tiptap-editor:** remove color extension en adjust highlight ([877ab5a](https://github.com/frameless/strapi/commit/877ab5ac02745167b48dbf89fb0771535cd3f990)) -- **strapi-tiptap-editor:** resolve table Menubar option issue ([0f9633a](https://github.com/frameless/strapi/commit/0f9633a8b9453f9e5435f522f64b3fa97f33c2fc)) -- **strapi-tiptap-editor:** return image source only ([70d719f](https://github.com/frameless/strapi/commit/70d719fd64e9df4fe28a6dad4407b6cebc49faac)) -- **strapi-tiptap-editor:** use `classnames` ([968189c](https://github.com/frameless/strapi/commit/968189c08063207319fa71156e18906066a23116)) -- **tiptap:** display price list based on save instead of refresh ([ff4fa47](https://github.com/frameless/strapi/commit/ff4fa47c471a0ddfd7112fb4c8d893901a727551)) - -### Features - -- create tiptap language extension ([2076ad1](https://github.com/frameless/strapi/commit/2076ad133cc474bf4c435fd7f0a3f9c277adfb60)) -- **deps:** update @utrecht/\* packages ([768213e](https://github.com/frameless/strapi/commit/768213e60dbc9e4803fb2ff7ba3090fe24cd8ee7)) -- enable bubble-menu when double click on a link ([2271540](https://github.com/frameless/strapi/commit/22715407467a74278d769583265ebd9d3b5cf784)) -- replace ckeditor with tiptap editor ([8da48eb](https://github.com/frameless/strapi/commit/8da48ebfc3731481c63517e09076e899353a52d9)) -- **strapi-tiptap-editor:** enable `figcaption` as property ([4402c42](https://github.com/frameless/strapi/commit/4402c420d1b22597c62786becc7358d4e589b237)) -- **strapi-tiptap:** add validation to the lint ([c4c45d3](https://github.com/frameless/strapi/commit/c4c45d33389dfa4ba1aedb8b45497af8b726ea1c)) -- **tiptap-editor:** enable to display free | gratis when the price 0 ([6e46f8b](https://github.com/frameless/strapi/commit/6e46f8bd72377983f9a81ad94d1b02edf47ee90b)) -- **tiptap-editor:** improve the strapi-tiptap ([ecba121](https://github.com/frameless/strapi/commit/ecba1219122bc0790e69a7a6ccd3151c1f7d6c3e)) -- **vth:** add vth-dashboard app ([#152](https://github.com/frameless/strapi/issues/152)) ([869e8bd](https://github.com/frameless/strapi/commit/869e8bdd0457a3d748254a27ac6c617d5d36ab6c)) -- **vth:** render themas with card ([81252b2](https://github.com/frameless/strapi/commit/81252b22670389e186695ac5c20c66849c578212)) - -## @frameless/strapi-tiptap-editor [1.9.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.9.0...@frameless/strapi-tiptap-editor@1.9.1) (2023-11-15) - -### Bug Fixes - -- **tiptap:** display price list based on save instead of refresh ([ff4fa47](https://github.com/frameless/strapi/commit/ff4fa47c471a0ddfd7112fb4c8d893901a727551)) - -# @frameless/strapi-tiptap-editor [1.9.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.8.3...@frameless/strapi-tiptap-editor@1.9.0) (2023-11-09) - -### Features - -- **strapi-tiptap:** add validation to the lint ([c4c45d3](https://github.com/frameless/strapi/commit/c4c45d33389dfa4ba1aedb8b45497af8b726ea1c)) - -## @frameless/strapi-tiptap-editor [1.8.3](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.8.2...@frameless/strapi-tiptap-editor@1.8.3) (2023-11-02) - -### Bug Fixes - -- **strapi-tiptap-editor:** resolve table Menubar option issue ([0f9633a](https://github.com/frameless/strapi/commit/0f9633a8b9453f9e5435f522f64b3fa97f33c2fc)) - -## @frameless/strapi-tiptap-editor [1.8.2](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.8.1...@frameless/strapi-tiptap-editor@1.8.2) (2023-10-31) - -### Bug Fixes - -- **strapi-tiptap-editor:** return image source only ([70d719f](https://github.com/frameless/strapi/commit/70d719fd64e9df4fe28a6dad4407b6cebc49faac)) - -## @frameless/strapi-tiptap-editor [1.8.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.8.0...@frameless/strapi-tiptap-editor@1.8.1) (2023-10-26) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix the ordered-list style ([23c0f22](https://github.com/frameless/strapi/commit/23c0f2273eb8eae42425419c075c0eee4f945161)) - -# @frameless/strapi-tiptap-editor [1.8.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.7.1...@frameless/strapi-tiptap-editor@1.8.0) (2023-10-26) - -### Features - -- **tiptap-editor:** improve the strapi-tiptap ([ecba121](https://github.com/frameless/strapi/commit/ecba1219122bc0790e69a7a6ccd3151c1f7d6c3e)) - -## @frameless/strapi-tiptap-editor [1.7.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.7.0...@frameless/strapi-tiptap-editor@1.7.1) (2023-10-17) - -### Bug Fixes - -- build error for experimental feature ([6d53cc7](https://github.com/frameless/strapi/commit/6d53cc710398d64233b638bce91e165b217adcc5)) - -# @frameless/strapi-tiptap-editor [1.7.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.6.0...@frameless/strapi-tiptap-editor@1.7.0) (2023-10-11) - -### Features - -- **deps:** update @utrecht/\* packages ([768213e](https://github.com/frameless/strapi/commit/768213e60dbc9e4803fb2ff7ba3090fe24cd8ee7)) - -# @frameless/strapi-tiptap-editor [1.6.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.5.0...@frameless/strapi-tiptap-editor@1.6.0) (2023-10-04) - -### Features - -- **vth:** render themas with card ([81252b2](https://github.com/frameless/strapi/commit/81252b22670389e186695ac5c20c66849c578212)) - -# @frameless/strapi-tiptap-editor [1.5.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.4.0...@frameless/strapi-tiptap-editor@1.5.0) (2023-09-27) - -### Features - -- **strapi-tiptap-editor:** enable `figcaption` as property ([4402c42](https://github.com/frameless/strapi/commit/4402c420d1b22597c62786becc7358d4e589b237)) - -# @frameless/strapi-tiptap-editor [1.4.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.3.1...@frameless/strapi-tiptap-editor@1.4.0) (2023-08-30) - -### Features - -- **tiptap-editor:** enable to display free | gratis when the price 0 ([6e46f8b](https://github.com/frameless/strapi/commit/6e46f8bd72377983f9a81ad94d1b02edf47ee90b)) - -## @frameless/strapi-tiptap-editor [1.3.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.3.0...@frameless/strapi-tiptap-editor@1.3.1) (2023-08-24) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix types issue ([c388569](https://github.com/frameless/strapi/commit/c388569b9271ddab94def5ac9459c8b37f24e232)) - -# @frameless/strapi-tiptap-editor [1.3.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.2.2...@frameless/strapi-tiptap-editor@1.3.0) (2023-08-22) - -### Features - -- **vth:** add vth-dashboard app ([#152](https://github.com/frameless/strapi/issues/152)) ([869e8bd](https://github.com/frameless/strapi/commit/869e8bdd0457a3d748254a27ac6c617d5d36ab6c)) - -## @frameless/strapi-tiptap-editor [1.2.2](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.2.1...@frameless/strapi-tiptap-editor@1.2.2) (2023-08-11) - -### Bug Fixes - -- **strapi-tiptap-editor:** remove color extension en adjust highlight ([877ab5a](https://github.com/frameless/strapi/commit/877ab5ac02745167b48dbf89fb0771535cd3f990)) -- **strapi-tiptap-editor:** use `classnames` ([968189c](https://github.com/frameless/strapi/commit/968189c08063207319fa71156e18906066a23116)) - -## @frameless/strapi-tiptap-editor [1.2.1](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.2.0...@frameless/strapi-tiptap-editor@1.2.1) (2023-08-11) - -### Bug Fixes - -- **strapi-tiptap-editor:** fix the i18n issue ([a4f9d99](https://github.com/frameless/strapi/commit/a4f9d992d87c8ea88b1f0e32b2f987f025bdedb5)) - -# @frameless/strapi-tiptap-editor [1.2.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.1.0...@frameless/strapi-tiptap-editor@1.2.0) (2023-08-11) - -### Bug Fixes - -- **strapi-tiptap-editor:** enable i18n settings ([c59c51a](https://github.com/frameless/strapi/commit/c59c51ad52b0c95e12e5e391911886115b2b2556)) - -### Features - -- create tiptap language extension ([2076ad1](https://github.com/frameless/strapi/commit/2076ad133cc474bf4c435fd7f0a3f9c277adfb60)) - -# @frameless/strapi-tiptap-editor [1.1.0](https://github.com/frameless/strapi/compare/@frameless/strapi-tiptap-editor@1.0.0...@frameless/strapi-tiptap-editor@1.1.0) (2023-05-05) - -### Features - -- enable bubble-menu when double click on a link ([2271540](https://github.com/frameless/strapi/commit/22715407467a74278d769583265ebd9d3b5cf784)) - -# @frameless/strapi-tiptap-editor 1.0.0 (2023-04-28) - -### Features - -- replace ckeditor with tiptap editor ([8da48eb](https://github.com/frameless/strapi/commit/8da48ebfc3731481c63517e09076e899353a52d9)) diff --git a/packages/strapi-tiptap-editor/LICENSE.md b/packages/strapi-tiptap-editor/LICENSE.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/strapi-tiptap-editor/README.md b/packages/strapi-tiptap-editor/README.md deleted file mode 100644 index 272a943aa..000000000 --- a/packages/strapi-tiptap-editor/README.md +++ /dev/null @@ -1 +0,0 @@ -# Strapi TipTap Editor diff --git a/packages/strapi-tiptap-editor/admin/src/components/Editor/BubbleMenuComponent.tsx b/packages/strapi-tiptap-editor/admin/src/components/Editor/BubbleMenuComponent.tsx deleted file mode 100644 index 68d6277ee..000000000 --- a/packages/strapi-tiptap-editor/admin/src/components/Editor/BubbleMenuComponent.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Flex } from '@strapi/design-system/Flex'; -import { BubbleMenu } from '@tiptap/react'; -import type { Editor as EditorTypes } from '@tiptap/react'; -import React from 'react'; -import { TableMenuBar } from './TableMenuBar'; - -export interface BubbleMenuComponentProps { - editor: EditorTypes; -} -export const BubbleMenuComponent = ({ editor }: BubbleMenuComponentProps) => { - if (!editor) { - return null; - } - - const menuBars = editor.isActive('table') ? [] : []; - - return ( - - {menuBars.length > 0 && ( - - {/* Render menu bars */} - {menuBars} - - )} - - ); -}; diff --git a/packages/strapi-tiptap-editor/admin/src/components/Editor/LanguagesList.tsx b/packages/strapi-tiptap-editor/admin/src/components/Editor/LanguagesList.tsx deleted file mode 100644 index 2825f259a..000000000 --- a/packages/strapi-tiptap-editor/admin/src/components/Editor/LanguagesList.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { Option, Select } from '@strapi/design-system/Select'; -import type { Editor as EditorTypes } from '@tiptap/react'; -import React from 'react'; - -interface LanguagesListProps { - editor: EditorTypes; - languages: { name?: string; code?: string }[]; - selectField: { - placeholder?: string; - removeLanguageOption: string; - }; -} - -export const LanguagesList = ({ editor, languages, selectField }: LanguagesListProps) => ( - -); diff --git a/packages/strapi-tiptap-editor/admin/src/components/Editor/PriceList.tsx b/packages/strapi-tiptap-editor/admin/src/components/Editor/PriceList.tsx deleted file mode 100644 index 51d1f0063..000000000 --- a/packages/strapi-tiptap-editor/admin/src/components/Editor/PriceList.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { Option, Select } from '@strapi/design-system/Select'; -import React from 'react'; -import { useIntl } from 'react-intl'; -import { PriceListTypes, PriceTypes } from '../../types'; -import { formatCurrency, getTrad, isFreeProduct } from '../../utils'; -interface PriceListProps { - productPrice: PriceListTypes; - // eslint-disable-next-line no-unused-vars - onPriceChange: (selectedPrice: PriceTypes) => void; - value: string; -} - -export const PriceList = ({ productPrice, onPriceChange, value }: PriceListProps) => { - const { formatMessage } = useIntl(); - if (productPrice && productPrice.price && productPrice.price.length === 0) { - return null; - } - - const handlePriceChange = (id: string) => { - const selectedPrice = productPrice.price?.find((price) => price?.uuid === id); - if (selectedPrice) { - onPriceChange(selectedPrice); - } - }; - const isPriceHasUUID = productPrice?.price?.every((price) => price?.uuid); - - return ( - - ); -}; diff --git a/packages/strapi-tiptap-editor/admin/src/components/Editor/TableMenuBar.tsx b/packages/strapi-tiptap-editor/admin/src/components/Editor/TableMenuBar.tsx deleted file mode 100644 index e698fc6f6..000000000 --- a/packages/strapi-tiptap-editor/admin/src/components/Editor/TableMenuBar.tsx +++ /dev/null @@ -1,304 +0,0 @@ -import { Button, Dialog, DialogBody, DialogFooter, Flex, Grid, GridItem, Typography } from '@strapi/design-system'; -import type { Editor as EditorTypes } from '@tiptap/react'; -import { Document, FormField, FormLabel, Select, SelectOption } from '@utrecht/component-library-react'; -import React, { ChangeEvent, useState } from 'react'; -import { AiOutlineDelete } from 'react-icons/ai'; -import { ImWarning } from 'react-icons/im'; -import { useIntl } from 'react-intl'; -import { getTrad } from '../../utils'; - -type TableEventTypes = - | 'addRowAfter' - | 'addRowBefore' - | 'deleteRow' - | 'addColumnAfter' - | 'addColumnBefore' - | 'deleteColumn' - | 'toggleHeaderRow' - | 'toggleHeaderColumn' - | 'toggleHeaderCell' - | 'mergeCells' - | 'splitCell' - | 'mergeOrSplit'; - -export const TableMenuBar = ({ editor }: { editor: EditorTypes }) => { - const [isVisibleDeleteTable, setIsVisibleDeleteTable] = useState({ visible: false, type: '' }); - const { formatMessage } = useIntl(); - - const onTableMenubarChange = (event: ChangeEvent) => { - switch (event.target.value as TableEventTypes) { - case 'addRowAfter': - editor.chain().focus().addRowAfter().run(); - break; - case 'addRowBefore': - editor.chain().focus().addRowBefore().run(); - break; - case 'deleteRow': - editor.chain().focus().deleteRow().run(); - break; - case 'addColumnAfter': - editor.chain().focus().addColumnAfter().run(); - break; - case 'addColumnBefore': - editor.chain().focus().addColumnBefore().run(); - break; - case 'deleteColumn': - editor.chain().focus().deleteColumn().run(); - break; - case 'toggleHeaderRow': - editor.chain().focus().toggleHeaderRow().run(); - break; - case 'toggleHeaderColumn': - editor.chain().focus().toggleHeaderColumn().run(); - break; - case 'toggleHeaderCell': - editor.chain().focus().toggleHeaderCell().run(); - break; - case 'mergeCells': - editor.chain().focus().mergeCells().run(); - break; - case 'splitCell': - editor.chain().focus().splitCell().run(); - break; - case 'mergeOrSplit': - editor.chain().focus().mergeOrSplit().run(); - break; - } - }; - const isCapturedTable = editor.can().deleteNode('capturedTable'); - const deleteButtonText = isCapturedTable - ? formatMessage({ - id: getTrad('components.tableMenuBar.deleteButtonTableWithCaption'), - defaultMessage: 'Delete table with caption', - }) - : formatMessage({ - id: getTrad('components.tableMenuBar.deleteButtonTable'), - defaultMessage: 'Delete table', - }); - const dialogDescription = isCapturedTable - ? formatMessage({ - id: getTrad('components.tableMenuBar.dialog.descriptionTableWithCaption'), - defaultMessage: 'Are you sure you want to delete the table with the caption?', - }) - : formatMessage({ - id: getTrad('components.tableMenuBar.dialog.descriptionTable'), - defaultMessage: 'Are you sure you want to delete the table?', - }); - return ( - - - - - - {formatMessage({ - id: getTrad('components.tableMenuBar.select.row.label'), - defaultMessage: 'Row', - })} - - - - - - - - {formatMessage({ - id: getTrad('components.tableMenuBar.select.column.label'), - defaultMessage: 'Column', - })} - - - - - - - - {formatMessage({ - id: getTrad('components.tableMenuBar.select.header.label'), - defaultMessage: 'Header', - })} - - - - - - - - {formatMessage({ - id: getTrad('components.tableMenuBar.select.cell.label'), - defaultMessage: 'Cell', - })} - - - - - - - - - setIsVisibleDeleteTable({ visible: !isVisibleDeleteTable.visible, type: '' })} - title={formatMessage({ - id: getTrad('components.tableMenuBar.dialog.title'), - defaultMessage: 'Confirmation', - })} - isOpen={isVisibleDeleteTable.visible} - > - }> - - - {dialogDescription} - - - - setIsVisibleDeleteTable({ visible: false, type: '' })} variant="tertiary"> - {formatMessage({ - id: getTrad('common.action.cancel'), - defaultMessage: 'Cancel', - })} - - } - endAction={ - - } - /> - - - ); -}; diff --git a/packages/strapi-tiptap-editor/admin/src/components/Editor/Toolbar.tsx b/packages/strapi-tiptap-editor/admin/src/components/Editor/Toolbar.tsx deleted file mode 100644 index 2ac6c13b2..000000000 --- a/packages/strapi-tiptap-editor/admin/src/components/Editor/Toolbar.tsx +++ /dev/null @@ -1,803 +0,0 @@ -import { Box, Button, Dialog, DialogBody, DialogFooter, Flex, Stack } from '@strapi/design-system'; -import { Field, FieldLabel } from '@strapi/design-system/Field'; -import { IconButton, IconButtonGroup } from '@strapi/design-system/IconButton'; -import { Option, Select } from '@strapi/design-system/Select'; -import { TextInput } from '@strapi/design-system/TextInput'; -import { Textarea } from '@strapi/design-system/Textarea'; -import { auth } from '@strapi/helper-plugin'; -import Bold from '@strapi/icons/Bold'; -import BulletList from '@strapi/icons/BulletList'; -import Code from '@strapi/icons/Code'; -import Italic from '@strapi/icons/Italic'; -import Landscape from '@strapi/icons/Landscape'; -import LinkIcon from '@strapi/icons/Link'; -import NumberList from '@strapi/icons/NumberList'; -import Pencil from '@strapi/icons/Pencil'; -import Strikethrough from '@strapi/icons/StrikeThrough'; -import Underline from '@strapi/icons/Underline'; -import { Level } from '@tiptap/extension-heading'; -import type { Editor as EditorTypes } from '@tiptap/react'; -import classnames from 'classnames'; -import React, { useState } from 'react'; -import './accordion.scss'; - -import { - AiFillYoutube, - AiOutlineAlignCenter, - AiOutlineAlignLeft, - AiOutlineAlignRight, - AiOutlineLine, - AiOutlineTable, -} from 'react-icons/ai'; -import { FaImage } from 'react-icons/fa'; -import { GrBlockQuote } from 'react-icons/gr'; -import { VscTable } from 'react-icons/vsc'; -import { useIntl } from 'react-intl'; -import { LanguagesList } from './LanguagesList'; -import { PriceList } from './PriceList'; -import { ToolbarItemHeadingWithID } from './ToolbarItems/HeadingWithID'; -import defaultSettings from '../../../../utils/defaults'; -import { useLink } from '../../hooks/useLink'; -import { PriceListTypes } from '../../types'; -import getTrad from '../../utils/getTrad'; -import { localizeLanguagesNames } from '../../utils/localizeLanguagesNames'; -import { LinkDialog } from '../LinkDialog'; -import initialTableWithCaption from '../extensions/schema/initialTableWithCaptionData'; - -type SetYouTubeVideoOptions = { src: string; width?: number; height?: number; start?: number; 'data-title': string }; -type HeadingEventsTypes = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'paragraph' | 'leadParagraph'; -type DetailsEventsTypes = 'details' | 'unsetDetails'; - -interface ToolbarProps { - editor: EditorTypes; - settings: typeof defaultSettings; - toggleMediaLib: () => void; - productPrice?: PriceListTypes; -} - -interface LinkToolbarProps { - editor: EditorTypes; - onClick: (_event: React.MouseEvent) => void; - label?: string; -} - -export const LinkToolbar = ({ editor, onClick, label }: LinkToolbarProps) => { - return ( - } - label={label} - className={classnames('medium-icon', { 'is-active': editor.isActive('link') })} - onClick={onClick} - /> - ); -}; - -const onHeadingChange = (editor: EditorTypes, type: HeadingEventsTypes) => { - switch (type) { - case 'h1': - case 'h2': - case 'h3': - case 'h4': - case 'h5': - case 'h6': - editor - .chain() - .focus() - .toggleHeading({ level: Number((type as any).replace('h', '')) as Level }) - .run(); - break; - case 'paragraph': - editor.chain().focus().setParagraph().run(); - break; - case 'leadParagraph': - editor.chain().focus().setLeadParagraph().run(); - break; - default: - } -}; - -export const Toolbar = ({ editor, toggleMediaLib, settings, productPrice }: ToolbarProps) => { - const { - isVisibleLinkDialog, - onCloseLinkDialog, - linkInput, - onLinkUrlInputChange, - openLinkDialog, - onInsertLink, - error, - } = useLink(editor); - // YouTube - const [isVisibleYouTubeDialog, setIsVisibleYouTubeDialog] = useState(false); - const user = auth.getUserInfo(); - const locale = user.preferedLanguage || 'nl'; - const [youTubeInput, setYouTubeInput] = useState(''); - const [youTubeHeightInput, setYouTubeHeightInput] = useState(settings.youtube.height); - const [youTubeWidthInput, setYouTubeWidthInput] = useState(settings.youtube.width); - const [youTubeTitleInput, setYouTubeTitleInput] = useState(''); - const { formatMessage } = useIntl(); - - const onInsertYouTubeEmbed = () => { - editor - .chain() - .focus() - .setYoutubeVideo({ - src: youTubeInput, - width: youTubeWidthInput, - height: youTubeHeightInput, - 'data-title': youTubeTitleInput, - } as SetYouTubeVideoOptions) - .run(); - setYouTubeInput(''); - setIsVisibleYouTubeDialog(false); - setYouTubeTitleInput(''); - }; - // Base64 Image dialog - const [base64MediaLibVisible, setBase64MediaLibVisible] = useState(false); - const [base64Input, setBase64Input] = useState(''); - // const handleToggleBase54MediaLib = () => setBase64MediaLibVisible(prev => !prev); - - // const base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/ - // const isValidBase64String = base64regex.test(base64Input); - - const openBase64Dialog = () => { - if (editor.getAttributes('image').src && editor.getAttributes('image').src.includes(';base64')) - setBase64Input(editor.getAttributes('image').src); - setBase64MediaLibVisible(true); - }; - - const onDetailsChange = (editor: EditorTypes, type: DetailsEventsTypes) => { - switch (type) { - case 'details': - editor.chain().focus().setDetails().run(); - break; - case 'unsetDetails': - if (editor.isActive('details')) { - editor.chain().focus().unsetDetails().run(); - } - break; - default: - } - }; - - const onInsertBase64Image = () => { - editor.chain().focus().setImage({ src: base64Input }).run(); - setBase64Input(''); - setBase64MediaLibVisible(false); - }; - - if (!editor) { - return null; - } - - let selectedTextStyle = 'none'; - - if (editor.isActive('heading', { level: 1 })) selectedTextStyle = 'h1'; - - if (editor.isActive('heading', { level: 2 })) selectedTextStyle = 'h2'; - - if (editor.isActive('heading', { level: 3 })) selectedTextStyle = 'h3'; - - if (editor.isActive('heading', { level: 4 })) selectedTextStyle = 'h4'; - - if (editor.isActive('heading', { level: 5 })) selectedTextStyle = 'h5'; - - if (editor.isActive('heading', { level: 6 })) selectedTextStyle = 'h6'; - - if (editor.isActive('paragraph')) selectedTextStyle = 'paragraph'; - - if (editor.isActive('paragraph', { 'data-lead': true })) selectedTextStyle = 'leadParagraph'; - - return ( -
- - - - {productPrice && productPrice?.price?.length > 0 && productPrice.title && ( - - { - if (price && editor) { - editor.chain().focus().insertReactComponent(price).run(); - } - }} - productPrice={productPrice} - /> - - )} - {settings.other.language.enabled && ( - - - - )} - - {settings.bold ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.bold'), - defaultMessage: 'Bold', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('bold') })} - onClick={() => editor.chain().focus().toggleBold().run()} - /> - ) : null} - {settings.italic ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.italic'), - defaultMessage: 'Italic', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('italic') })} - onClick={() => editor.chain().focus().toggleItalic().run()} - /> - ) : null} - {settings.strikethrough ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.strikethrough'), - defaultMessage: 'Strikethrough', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('strike') })} - onClick={() => editor.chain().focus().toggleStrike().run()} - /> - ) : null} - {settings.underline ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.underline'), - defaultMessage: 'Underline', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('underline') })} - onClick={() => editor.chain().focus().toggleUnderline().run()} - /> - ) : null} - {settings.highlight ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.highlight'), - defaultMessage: 'Highlight', - })} - onClick={() => editor.chain().focus().toggleHighlight().run()} - className={classnames('large-icon', { 'is-active': editor.isActive('highlight') })} - /> - ) : null} - - - - {settings.align.includes('left') ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.alignLeft'), - defaultMessage: 'Align left', - })} - className={classnames('large-icon', { 'is-active': editor.isActive({ textAlign: 'left' }) })} - onClick={() => editor.chain().focus().setTextAlign('left').run()} - /> - ) : null} - {settings.align.includes('center') ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.alignCenter'), - defaultMessage: 'Align center', - })} - className={classnames('large-icon', { 'is-active': editor.isActive({ textAlign: 'center' }) })} - onClick={() => editor.chain().focus().setTextAlign('center').run()} - /> - ) : null} - {settings.align.includes('right') ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.alignRight'), - defaultMessage: 'Align right', - })} - className={classnames('large-icon', { 'is-active': editor.isActive({ textAlign: 'right' }) })} - onClick={() => editor.chain().focus().setTextAlign('right').run()} - /> - ) : null} - - - - {settings.lists.includes('ul') ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.bulletList'), - defaultMessage: 'Bullet List', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('bulletList') })} - onClick={() => editor.chain().focus().toggleBulletList().run()} - /> - ) : null} - {settings.lists.includes('ol') ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.orderedList'), - defaultMessage: 'Ordered List', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('orderedList') })} - onClick={() => editor.chain().focus().toggleOrderedList().run()} - /> - ) : null} - - - {settings.code ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.code'), - defaultMessage: 'Code', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('codeBlock') })} - onClick={() => editor.chain().focus().toggleCodeBlock().run()} - /> - ) : null} - {settings.blockquote ? ( - } - label={formatMessage({ - id: getTrad('components.toolbar.blockquote'), - defaultMessage: 'Block Quote', - })} - className={classnames('large-icon', { 'is-active': editor.isActive('blockquote') })} - onClick={() => editor.chain().focus().toggleBlockquote().run()} - /> - ) : null} - onLinkUrlInputChange(e.target.value), - value: linkInput, - ariaLabel: 'URL', - hint: formatMessage({ - id: getTrad('components.toolbar.linkDialog.textInput.hint'), - defaultMessage: - "URLs should start with 'https://' or 'http://', for example: https://www.example.com or https://example.com", - }), - error: error - ? formatMessage({ - id: getTrad('components.toolbar.linkDialog.textInput.error'), - defaultMessage: - "Invalid URL. Ensure it starts with 'https://' or 'http://', for example: https://www.example.com or https://example.com", - }) - : undefined, - }} - startActionButtonProps={{ - onClick: onCloseLinkDialog, - text: formatMessage({ - id: getTrad('components.toolbar.linkDialog.startActionButtonText'), - defaultMessage: 'Cancel', - }), - }} - endActionButtonProps={{ - onClick: onInsertLink, - text: formatMessage({ - id: getTrad('components.toolbar.linkDialog.endActionButtonText'), - defaultMessage: 'Insert URL', - }), - disabled: Boolean(error), - }} - /> - - {settings.links.enabled ? ( - - ) : null} - - {settings.image.enabled ? ( - } - label={ - editor.isActive('image') - ? formatMessage({ - id: getTrad('components.toolbar.image.change'), - defaultMessage: 'Change image', - }) - : formatMessage({ - id: getTrad('components.toolbar.image.insert'), - defaultMessage: 'Insert image', - }) - } - className={classnames('large-icon', { - 'is-active': editor.isActive('image') && !editor.getAttributes('image').src.includes(';base64'), - })} - onClick={toggleMediaLib} - /> - ) : null} - - setBase64MediaLibVisible(false)} - title={formatMessage({ - id: getTrad('components.toolbar.base64Dialog.title'), - defaultMessage: 'Insert base64 image', - })} - isOpen={base64MediaLibVisible} - > - - -