chore: update dependencies, add new logo component, and update default lexical editor features
This commit is contained in:
parent
471f9a3aea
commit
37c7c0f058
13 changed files with 341 additions and 192 deletions
131
bun.lock
131
bun.lock
|
|
@ -7,56 +7,57 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@awesome.me/kit-3dc4522338": "^1.0.4",
|
"@awesome.me/kit-3dc4522338": "^1.0.4",
|
||||||
"@fortawesome/react-fontawesome": "^3.3.1",
|
"@fortawesome/react-fontawesome": "^3.3.1",
|
||||||
"@payloadcms/admin-bar": "3.83.0",
|
"@payloadcms/admin-bar": "^3.84.1",
|
||||||
"@payloadcms/db-postgres": "3.83.0",
|
"@payloadcms/db-postgres": "^3.84.1",
|
||||||
"@payloadcms/live-preview-react": "3.83.0",
|
"@payloadcms/email-nodemailer": "^3.84.1",
|
||||||
"@payloadcms/next": "3.83.0",
|
"@payloadcms/live-preview-react": "^3.84.1",
|
||||||
"@payloadcms/plugin-form-builder": "3.83.0",
|
"@payloadcms/next": "^3.84.1",
|
||||||
"@payloadcms/plugin-nested-docs": "3.83.0",
|
"@payloadcms/plugin-form-builder": "^3.84.1",
|
||||||
"@payloadcms/plugin-redirects": "3.83.0",
|
"@payloadcms/plugin-nested-docs": "^3.84.1",
|
||||||
"@payloadcms/plugin-search": "3.83.0",
|
"@payloadcms/plugin-redirects": "^3.84.1",
|
||||||
"@payloadcms/plugin-seo": "3.83.0",
|
"@payloadcms/plugin-search": "^3.84.1",
|
||||||
"@payloadcms/richtext-lexical": "3.83.0",
|
"@payloadcms/plugin-seo": "^3.84.1",
|
||||||
"@payloadcms/ui": "3.83.0",
|
"@payloadcms/richtext-lexical": "^3.84.1",
|
||||||
"@radix-ui/react-checkbox": "^1.0.4",
|
"@payloadcms/ui": "^3.84.1",
|
||||||
"@radix-ui/react-label": "^2.0.2",
|
"@radix-ui/react-checkbox": "^1.3.3",
|
||||||
"@radix-ui/react-select": "^2.0.0",
|
"@radix-ui/react-label": "^2.1.8",
|
||||||
"@radix-ui/react-slot": "^1.0.2",
|
"@radix-ui/react-select": "^2.2.6",
|
||||||
"class-variance-authority": "^0.7.0",
|
"@radix-ui/react-slot": "^1.2.4",
|
||||||
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"dotenv": "16.4.7",
|
"dotenv": "16.4.7",
|
||||||
"geist": "^1.3.0",
|
"geist": "^1.7.0",
|
||||||
"graphql": "^16.8.2",
|
"graphql": "^16.13.2",
|
||||||
"lucide-react": "0.563.0",
|
"lucide-react": "0.563.0",
|
||||||
"next": "16.2.3",
|
"next": "16.2.3",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"payload": "3.83.0",
|
"payload": "^3.84.1",
|
||||||
"prism-react-renderer": "^2.3.1",
|
"prism-react-renderer": "^2.4.1",
|
||||||
"react": "19.2.4",
|
"react": "19.2.4",
|
||||||
"react-dom": "19.2.4",
|
"react-dom": "19.2.4",
|
||||||
"react-hook-form": "7.71.1",
|
"react-hook-form": "7.71.1",
|
||||||
"sharp": "0.34.2",
|
"sharp": "0.34.2",
|
||||||
"tailwind-merge": "^3.4.0",
|
"tailwind-merge": "^3.5.0",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.3.5",
|
||||||
"@playwright/test": "1.58.2",
|
"@playwright/test": "1.58.2",
|
||||||
"@tailwindcss/postcss": "^4.1.18",
|
"@tailwindcss/postcss": "^4.2.4",
|
||||||
"@tailwindcss/typography": "^0.5.19",
|
"@tailwindcss/typography": "^0.5.19",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/escape-html": "^1.0.2",
|
"@types/escape-html": "^1.0.4",
|
||||||
"@types/node": "22.19.9",
|
"@types/node": "22.19.9",
|
||||||
"@types/react": "19.2.14",
|
"@types/react": "19.2.14",
|
||||||
"@types/react-dom": "19.2.3",
|
"@types/react-dom": "19.2.3",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.5.0",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.39.4",
|
||||||
"eslint-config-next": "16.2.3",
|
"eslint-config-next": "16.2.3",
|
||||||
"jsdom": "28.0.0",
|
"jsdom": "28.0.0",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.5.12",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.8.3",
|
||||||
"tailwindcss": "^4.1.18",
|
"tailwindcss": "^4.2.4",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"tw-animate-css": "^1.4.0",
|
"tw-animate-css": "^1.4.0",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
|
|
@ -428,35 +429,37 @@
|
||||||
|
|
||||||
"@nolyfill/is-core-module": ["@nolyfill/is-core-module@1.0.39", "", {}, "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA=="],
|
"@nolyfill/is-core-module": ["@nolyfill/is-core-module@1.0.39", "", {}, "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA=="],
|
||||||
|
|
||||||
"@payloadcms/admin-bar": ["@payloadcms/admin-bar@3.83.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-Fai0A66pdSIGvxMvyIbCeOY+oSE0N8/6u7//lNC3cnqrTGmuUdNhObKG2tDXMEWA7u8eHTg3B2UgiZTBdbALjw=="],
|
"@payloadcms/admin-bar": ["@payloadcms/admin-bar@3.84.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-ihHiIDWp7Fx6FDfhxXX8q24iogbjkERy+KKF9t7pxEzCcJgXP8PCb2PqnyVQq98YCwxx6vOmVQolhxt5Fhumvw=="],
|
||||||
|
|
||||||
"@payloadcms/db-postgres": ["@payloadcms/db-postgres@3.83.0", "", { "dependencies": { "@payloadcms/drizzle": "3.83.0", "@types/pg": "8.20.0", "console-table-printer": "2.12.1", "drizzle-kit": "0.31.7", "drizzle-orm": "0.45.2", "pg": "8.20.0", "prompts": "2.4.2", "to-snake-case": "1.0.0", "uuid": "11.1.0" }, "peerDependencies": { "payload": "3.83.0" } }, "sha512-Y7/ZvFDmZgZgoViA+Mg7alkG2f+UxW1NPjd1J6/Y31nrDaKlb5LRt8FAwchyqCR/Vu1FiUTM4DDASOHhByCjyg=="],
|
"@payloadcms/db-postgres": ["@payloadcms/db-postgres@3.84.1", "", { "dependencies": { "@payloadcms/drizzle": "3.84.1", "@types/pg": "8.20.0", "console-table-printer": "2.12.1", "drizzle-kit": "0.31.7", "drizzle-orm": "0.45.2", "pg": "8.20.0", "prompts": "2.4.2", "to-snake-case": "1.0.0", "uuid": "11.1.0" }, "peerDependencies": { "payload": "3.84.1" } }, "sha512-/r1+7k58529ziTwqzySXsZb4x3FcfQIQH8R6gXLM3bTU9JA8wfLBraIgSyVKl6B3p+/EQYcaQ1DUlfrzVRxo1A=="],
|
||||||
|
|
||||||
"@payloadcms/drizzle": ["@payloadcms/drizzle@3.83.0", "", { "dependencies": { "console-table-printer": "2.12.1", "dequal": "2.0.3", "drizzle-orm": "0.45.2", "prompts": "2.4.2", "to-snake-case": "1.0.0", "uuid": "11.1.0" }, "peerDependencies": { "payload": "3.83.0" } }, "sha512-gavwuiEJpFd7/+nwup2d+ZuE9D8kJs0B8W60CGI0MySEzWrz11tTMPAvfNaOzjoh81sETdVejaCG1iEep4+L/g=="],
|
"@payloadcms/drizzle": ["@payloadcms/drizzle@3.84.1", "", { "dependencies": { "console-table-printer": "2.12.1", "dequal": "2.0.3", "drizzle-orm": "0.45.2", "prompts": "2.4.2", "to-snake-case": "1.0.0", "uuid": "11.1.0" }, "peerDependencies": { "payload": "3.84.1" } }, "sha512-n/1fgH3fh6omGNecjhOJ32wrxio5ph2VhfQDwMvSEViTUPD9JXp0yJiOUEqzYK/cxoRQWfwBIbvgzpC/a6FsEw=="],
|
||||||
|
|
||||||
"@payloadcms/graphql": ["@payloadcms/graphql@3.83.0", "", { "dependencies": { "graphql-scalars": "1.22.2", "pluralize": "8.0.0", "ts-essentials": "10.0.3", "tsx": "4.21.0" }, "peerDependencies": { "graphql": "^16.8.1", "payload": "3.83.0" }, "bin": { "payload-graphql": "bin.js" } }, "sha512-HBy7OI+rDLpeN+KEXlcEk/3ohOzrCJApoS9vtWfoAnDh7N3kDr/fHSTsUlAlMrH5f5OU0fOMyx1V88J9zdBDiw=="],
|
"@payloadcms/email-nodemailer": ["@payloadcms/email-nodemailer@3.84.1", "", { "dependencies": { "nodemailer": "7.0.12" }, "peerDependencies": { "payload": "3.84.1" } }, "sha512-pTXl9dfIoXLpdI2BbK0h64Y9I3RLGOG1QkWokSdCDWr+qkOiRkbO7W8dOEtK6Nh8eIwNOMJLA7Og3x4EbGMPxg=="],
|
||||||
|
|
||||||
"@payloadcms/live-preview": ["@payloadcms/live-preview@3.83.0", "", {}, "sha512-dzGQxUhEZ9SjQ0L3aZkWNsV0o8vHyBOcS3Qk/ULMf8Fuc7jOzKJfvXyjE0vNxWVKNrpuZOekUhXouPOY/XXX1w=="],
|
"@payloadcms/graphql": ["@payloadcms/graphql@3.84.1", "", { "dependencies": { "graphql-scalars": "1.22.2", "pluralize": "8.0.0", "ts-essentials": "10.0.3", "tsx": "4.21.0" }, "peerDependencies": { "graphql": "^16.8.1", "payload": "3.84.1" }, "bin": { "payload-graphql": "bin.js" } }, "sha512-pVJdgihEEexpK+kANSozAMf3PQfd6p51/G3cK+rkPzSjghf7X+cQQ8NFOmAMDTpijM5YaowQYTuEje3KaLVXuQ=="],
|
||||||
|
|
||||||
"@payloadcms/live-preview-react": ["@payloadcms/live-preview-react@3.83.0", "", { "dependencies": { "@payloadcms/live-preview": "3.83.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-gbYtfgoMUKgGngecCP92M/kLKu/qzlCImG2JEuaL85gi852xYQw8CC8oUV/YCXLEAMdr71+UVGyj4lK3rOD9ZQ=="],
|
"@payloadcms/live-preview": ["@payloadcms/live-preview@3.84.1", "", {}, "sha512-FiimjzLX/nBCXa00EOTm+U1I7PufcNItB023I9eu7ZpxiDNulg6kSBT9A37LJif5C9napaePu4l5vXB/5qSGYg=="],
|
||||||
|
|
||||||
"@payloadcms/next": ["@payloadcms/next@3.83.0", "", { "dependencies": { "@dnd-kit/core": "6.3.1", "@dnd-kit/modifiers": "9.0.0", "@dnd-kit/sortable": "10.0.0", "@payloadcms/graphql": "3.83.0", "@payloadcms/translations": "3.83.0", "@payloadcms/ui": "3.83.0", "busboy": "^1.6.0", "dequal": "2.0.3", "file-type": "21.3.4", "graphql-http": "^1.22.0", "graphql-playground-html": "1.6.30", "http-status": "2.1.0", "path-to-regexp": "6.3.0", "qs-esm": "8.0.1", "sass": "1.77.4", "uuid": "11.1.0" }, "peerDependencies": { "graphql": "^16.8.1", "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.2 <17.0.0", "payload": "3.83.0" } }, "sha512-N4pmZSfVEylajGxTXc/69EGJT4tZWgVIA4U6rV9rGqD7FkHTXVut4tz/WyR2gZuSryHsFP0OobMEACCPs5YLIA=="],
|
"@payloadcms/live-preview-react": ["@payloadcms/live-preview-react@3.84.1", "", { "dependencies": { "@payloadcms/live-preview": "3.84.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-jKG1llQh0QMwltSaZJ0fDzxj8bdllboQYBlJnv2kYs1HW4ZgIRbVtvtcvOEInooi9yUManjzr/r5GOxTNsLryg=="],
|
||||||
|
|
||||||
"@payloadcms/plugin-form-builder": ["@payloadcms/plugin-form-builder@3.83.0", "", { "dependencies": { "@payloadcms/ui": "3.83.0", "escape-html": "^1.0.3" }, "peerDependencies": { "payload": "3.83.0", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-nNU15s9fV7Td8us8F9UdVfDFjuc0vOKr9pQKCeYjjYvelIlBvGLmiFkz737CjDx1fBRu9OKlYOvUov0+JfXnEw=="],
|
"@payloadcms/next": ["@payloadcms/next@3.84.1", "", { "dependencies": { "@dnd-kit/core": "6.3.1", "@dnd-kit/modifiers": "9.0.0", "@dnd-kit/sortable": "10.0.0", "@payloadcms/graphql": "3.84.1", "@payloadcms/translations": "3.84.1", "@payloadcms/ui": "3.84.1", "busboy": "^1.6.0", "dequal": "2.0.3", "file-type": "21.3.4", "graphql-http": "^1.22.0", "graphql-playground-html": "1.6.30", "http-status": "2.1.0", "path-to-regexp": "6.3.0", "qs-esm": "8.0.1", "sass": "1.77.4", "uuid": "11.1.0" }, "peerDependencies": { "graphql": "^16.8.1", "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.2 <17.0.0", "payload": "3.84.1" } }, "sha512-T7f7Ja4l4Z6QM/oSM8MWJY63xyNQmWxUswDgssXl1/D0hQIVQASXMeZvXiXLQwg/g4f9s5anKTUNIx32dtHxWg=="],
|
||||||
|
|
||||||
"@payloadcms/plugin-nested-docs": ["@payloadcms/plugin-nested-docs@3.83.0", "", { "peerDependencies": { "payload": "3.83.0" } }, "sha512-3qrr9xRFmvNiakfcYpVKHrm+UQMqRMOvYnptRO1J4zBm9FyBX44GvnNIsbjzjo9yuoVXl4eRxXTM/Ya9nw/p4Q=="],
|
"@payloadcms/plugin-form-builder": ["@payloadcms/plugin-form-builder@3.84.1", "", { "dependencies": { "@payloadcms/ui": "3.84.1", "escape-html": "^1.0.3" }, "peerDependencies": { "payload": "3.84.1", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-pEr4QFceswL+3dpZWtzlLHyED8nxk7iukm/eNUxNn9vaUfb2xcqzQf6xRmoJra9R1yDx6mdC/DU+Whg5Op/yfQ=="],
|
||||||
|
|
||||||
"@payloadcms/plugin-redirects": ["@payloadcms/plugin-redirects@3.83.0", "", { "dependencies": { "@payloadcms/translations": "3.83.0", "payload": "3.83.0" } }, "sha512-dpoa9wLhizUqYkgJD1uMzrnEDkyWxndhZ3JUivzstjKi24vZ5M2u2nixsnVvPUcwGoG0CHQ4JSUnAk02oCdgaA=="],
|
"@payloadcms/plugin-nested-docs": ["@payloadcms/plugin-nested-docs@3.84.1", "", { "peerDependencies": { "payload": "3.84.1" } }, "sha512-5UuyTkzuc/ALC9oPz8dGQkQ/eOF/HrxKVi88YnKsBHnG4mCWTRxXVMYXjuIb8pH8UFhZpQgphuQqDljw9ZcOqA=="],
|
||||||
|
|
||||||
"@payloadcms/plugin-search": ["@payloadcms/plugin-search@3.83.0", "", { "dependencies": { "@payloadcms/next": "3.83.0", "@payloadcms/ui": "3.83.0" }, "peerDependencies": { "payload": "3.83.0", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-qSF+I1vBpmUDMhSnkzzZ1cJWEiS18qJUMiZ0uK4kKT2uyVX0KQ1DcUr1ynhvs/xW6IWGEk5j/kZAKJch/GjX4w=="],
|
"@payloadcms/plugin-redirects": ["@payloadcms/plugin-redirects@3.84.1", "", { "dependencies": { "@payloadcms/translations": "3.84.1", "payload": "3.84.1" } }, "sha512-izKKI5Mm6nosetsAxlqbdOKxraYPlHSGy246D4YbsDemAV4CLOpGcQKTaeTW/JAqYt+RlcvzcWXm0qNMX+2MeQ=="],
|
||||||
|
|
||||||
"@payloadcms/plugin-seo": ["@payloadcms/plugin-seo@3.83.0", "", { "dependencies": { "@payloadcms/translations": "3.83.0", "@payloadcms/ui": "3.83.0" }, "peerDependencies": { "payload": "3.83.0", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-QxuoH5VtApkPC7FM1girzbCo++/GNoli49YiMlcvZH9h5Jpl2S8ARCY46EsgS3B+dgYN2q/KpTDvXTpI/AmBFA=="],
|
"@payloadcms/plugin-search": ["@payloadcms/plugin-search@3.84.1", "", { "dependencies": { "@payloadcms/next": "3.84.1", "@payloadcms/ui": "3.84.1" }, "peerDependencies": { "payload": "3.84.1", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-rBWyJqh9WQEZojMwYuotg8OldBuypmyYYO0kx19QKh2EB2GaVmR+/9bSlZIlJwqSBOxcJmPAkfLgzPdD2FaJlw=="],
|
||||||
|
|
||||||
"@payloadcms/richtext-lexical": ["@payloadcms/richtext-lexical@3.83.0", "", { "dependencies": { "@lexical/clipboard": "0.41.0", "@lexical/headless": "0.41.0", "@lexical/html": "0.41.0", "@lexical/link": "0.41.0", "@lexical/list": "0.41.0", "@lexical/mark": "0.41.0", "@lexical/react": "0.41.0", "@lexical/rich-text": "0.41.0", "@lexical/selection": "0.41.0", "@lexical/table": "0.41.0", "@lexical/utils": "0.41.0", "@payloadcms/translations": "3.83.0", "@payloadcms/ui": "3.83.0", "acorn": "8.16.0", "bson-objectid": "2.0.4", "csstype": "3.1.3", "dequal": "2.0.3", "escape-html": "1.0.3", "jsox": "1.2.121", "lexical": "0.41.0", "mdast-util-from-markdown": "2.0.2", "mdast-util-mdx-jsx": "3.1.3", "micromark-extension-mdx-jsx": "3.0.1", "qs-esm": "8.0.1", "react-error-boundary": "4.1.2", "ts-essentials": "10.0.3", "uuid": "11.1.0" }, "peerDependencies": { "@faceless-ui/modal": "3.0.0", "@faceless-ui/scroll-info": "2.0.0", "@payloadcms/next": "3.83.0", "payload": "3.83.0", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-JKuMe70oSxkhgoJTFtiWM7hBmLMXGudmaD9DX1HWLgUoIw4AcKOUcRvoIuAnM2pCee27JdtEqYlXhJQWX34sCw=="],
|
"@payloadcms/plugin-seo": ["@payloadcms/plugin-seo@3.84.1", "", { "dependencies": { "@payloadcms/translations": "3.84.1", "@payloadcms/ui": "3.84.1" }, "peerDependencies": { "payload": "3.84.1", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-9FYs5ML/eWR/A/rQfHt2NhPzkJWbUx5SN/+lEQ90r3c3Z8CQUVpt4vETXSI9Gxi764lTutIGemuZAJK9WRy3Lw=="],
|
||||||
|
|
||||||
"@payloadcms/translations": ["@payloadcms/translations@3.83.0", "", { "dependencies": { "date-fns": "4.1.0" } }, "sha512-Ie7Ty9Myb75wQ/gEedal+1PInrOtCeJJxjQAfG8C6hg9tBKYtwnW1IoRp4HrN7vHyYVyG15LKhXC40TevQU9Zw=="],
|
"@payloadcms/richtext-lexical": ["@payloadcms/richtext-lexical@3.84.1", "", { "dependencies": { "@lexical/clipboard": "0.41.0", "@lexical/headless": "0.41.0", "@lexical/html": "0.41.0", "@lexical/link": "0.41.0", "@lexical/list": "0.41.0", "@lexical/mark": "0.41.0", "@lexical/react": "0.41.0", "@lexical/rich-text": "0.41.0", "@lexical/selection": "0.41.0", "@lexical/table": "0.41.0", "@lexical/utils": "0.41.0", "@payloadcms/translations": "3.84.1", "@payloadcms/ui": "3.84.1", "acorn": "8.16.0", "bson-objectid": "2.0.4", "csstype": "3.1.3", "dequal": "2.0.3", "escape-html": "1.0.3", "jsox": "1.2.121", "lexical": "0.41.0", "mdast-util-from-markdown": "2.0.2", "mdast-util-mdx-jsx": "3.1.3", "micromark-extension-mdx-jsx": "3.0.1", "qs-esm": "8.0.1", "react-error-boundary": "4.1.2", "ts-essentials": "10.0.3", "uuid": "11.1.0" }, "peerDependencies": { "@faceless-ui/modal": "3.0.0", "@faceless-ui/scroll-info": "2.0.0", "@payloadcms/next": "3.84.1", "payload": "3.84.1", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-KaNSz0RJFLnLc/hBRGg8Lgwk5FjCZSskA6KuufNWG5QdgUsgQe4Dx4Vr7G+VSR9zSZj+R4TVVSC0aVv4z7vL3g=="],
|
||||||
|
|
||||||
"@payloadcms/ui": ["@payloadcms/ui@3.83.0", "", { "dependencies": { "@date-fns/tz": "1.2.0", "@dnd-kit/core": "6.3.1", "@dnd-kit/sortable": "10.0.0", "@dnd-kit/utilities": "3.2.2", "@faceless-ui/modal": "3.0.0", "@faceless-ui/scroll-info": "2.0.0", "@faceless-ui/window-info": "3.0.1", "@monaco-editor/react": "4.7.0", "@payloadcms/translations": "3.83.0", "bson-objectid": "2.0.4", "date-fns": "4.1.0", "dequal": "2.0.3", "md5": "2.3.0", "object-to-formdata": "4.5.1", "qs-esm": "8.0.1", "react-datepicker": "7.6.0", "react-image-crop": "10.1.8", "react-select": "5.9.0", "scheduler": "0.25.0", "sonner": "^1.7.2", "ts-essentials": "10.0.3", "use-context-selector": "2.0.0", "uuid": "11.1.0" }, "peerDependencies": { "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.2 <17.0.0", "payload": "3.83.0", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-biAf76mUZraa4cdwH9fTVYQLxn9zC2B/LPhmDz69hiZR0PPWp4u1GJU7CHOpzRxWx7I2PcJiTW2rt1q3GJ19bg=="],
|
"@payloadcms/translations": ["@payloadcms/translations@3.84.1", "", { "dependencies": { "date-fns": "4.1.0" } }, "sha512-1g4IsXvRfeQCn8YmPweaj8MMAFK9oSxYWKJG15j+Ah9Nra+f35/ZdOt/k80+vfoJmdKsOK/AnuzVdSTWy2GQpg=="],
|
||||||
|
|
||||||
|
"@payloadcms/ui": ["@payloadcms/ui@3.84.1", "", { "dependencies": { "@date-fns/tz": "1.2.0", "@dnd-kit/core": "6.3.1", "@dnd-kit/sortable": "10.0.0", "@dnd-kit/utilities": "3.2.2", "@faceless-ui/modal": "3.0.0", "@faceless-ui/scroll-info": "2.0.0", "@faceless-ui/window-info": "3.0.1", "@monaco-editor/react": "4.7.0", "@payloadcms/translations": "3.84.1", "bson-objectid": "2.0.4", "date-fns": "4.1.0", "dequal": "2.0.3", "md5": "2.3.0", "object-to-formdata": "4.5.1", "qs-esm": "8.0.1", "react-datepicker": "7.6.0", "react-image-crop": "10.1.8", "react-select": "5.9.0", "scheduler": "0.25.0", "sonner": "^1.7.2", "ts-essentials": "10.0.3", "use-context-selector": "2.0.0", "uuid": "11.1.0" }, "peerDependencies": { "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.2 <17.0.0", "payload": "3.84.1", "react": "^19.0.1 || ^19.1.2 || ^19.2.1", "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1" } }, "sha512-L9trD3/LcK1fiGg4AFexy9AQm4upMzRbicZFTNU/ac+x5o6Pwyr7FzrvbtfCr0l2t6QhawLBZmBCZJA8oBF2uA=="],
|
||||||
|
|
||||||
"@pinojs/redact": ["@pinojs/redact@0.4.0", "", {}, "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg=="],
|
"@pinojs/redact": ["@pinojs/redact@0.4.0", "", {}, "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg=="],
|
||||||
|
|
||||||
|
|
@ -580,35 +583,35 @@
|
||||||
|
|
||||||
"@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="],
|
"@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="],
|
||||||
|
|
||||||
"@tailwindcss/node": ["@tailwindcss/node@4.2.3", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.3" } }, "sha512-dhXFXkW2dGvX4r/fi24gyXM0t1mFMrpykQjqrdA4SuavaMagm4SY1u5G2SCJwu1/0x/5RlZJ2VPjP3mKYQfCkA=="],
|
"@tailwindcss/node": ["@tailwindcss/node@4.2.4", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.2.4" } }, "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.3", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.3", "@tailwindcss/oxide-darwin-arm64": "4.2.3", "@tailwindcss/oxide-darwin-x64": "4.2.3", "@tailwindcss/oxide-freebsd-x64": "4.2.3", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.3", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.3", "@tailwindcss/oxide-linux-arm64-musl": "4.2.3", "@tailwindcss/oxide-linux-x64-gnu": "4.2.3", "@tailwindcss/oxide-linux-x64-musl": "4.2.3", "@tailwindcss/oxide-wasm32-wasi": "4.2.3", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.3", "@tailwindcss/oxide-win32-x64-msvc": "4.2.3" } }, "sha512-YyhwSBcxHLS3CU2Mk3dXDuVm8/Ia0+XvfpT8s9YQoICppkUeoobB3hgyGMYbyQ4vn6VgWH9bdv5UnzhTz2NPTQ=="],
|
"@tailwindcss/oxide": ["@tailwindcss/oxide@4.2.4", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.2.4", "@tailwindcss/oxide-darwin-arm64": "4.2.4", "@tailwindcss/oxide-darwin-x64": "4.2.4", "@tailwindcss/oxide-freebsd-x64": "4.2.4", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", "@tailwindcss/oxide-linux-x64-musl": "4.2.4", "@tailwindcss/oxide-wasm32-wasi": "4.2.4", "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" } }, "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.2.3", "", { "os": "android", "cpu": "arm64" }, "sha512-0Jmt1U/zPqeKp1+fvgI3qMqrV5b/EcFIbE5Dl5KdPl5Ri6e+95nlYNjfB3w8hJBeASI4IQSnIMz0tdVP1AVO4g=="],
|
"@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.2.4", "", { "os": "android", "cpu": "arm64" }, "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.2.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c+/Etn/nghKBhd9fh2diG+3SEV1VTTPLlqH209yleofi28H87Cy6g1vsd3W3kf6r/dR5g4G4TEwHxo2Ydn6yFw=="],
|
"@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.2.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-1DrKKsdJTLuLWVdpaLZ0j/g9YbCZyP9xnwSqEvl3gY4ZHdXmX7TwVAHkoWUljOq7JK5zvzIGhrYmfE/2DJ5qaA=="],
|
"@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.2.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-HE6HHZYF8k7m80eVQ0RBvRGBdvvLvCpHiT38IRH9JSnBlt1T7gDzWoslWjmpXQFuqlRpzkCpbdKJa3NxWMfgVA=="],
|
"@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.2.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.2.3", "", { "os": "linux", "cpu": "arm" }, "sha512-Li2wVd2kkKlKkTdpo7ujHSv6kxD1UYMvulAraikyvVf6AKNZ/VHbm8XoSNimZ+dF7SOFaDD2VAT64SK7WKcbjQ=="],
|
"@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-otIiImZaHj9MiDK02ItoWxIVcMTZVAX2F1c32bg9y7ecV0AnN5JHDZqIO8LxWsTuig1d+Bjg0cBWn4A9sGJO9Q=="],
|
"@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-MmIA32rNEOrjh6wnevlR3OjjlCuwgZ4JMJo7Vrhk4Fk56Vxi7EeF7cekSKwvlrnfcn/ERC1LdcG3sFneU8WdoA=="],
|
"@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-BiCy1YV0IKO+xbD7gyZnENU4jdwDygeGQjncJoeIE5Kp4UqWHFsKUSJ3pp7vYURrqVzwJX2xD5gQeGnoXp4xPQ=="],
|
"@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-venvyAu0AMKdr0c1Oz23IJJdZ72zSwKyHrLvqQV1cn49vPAJk3AuVtDkJ1ayk1sYI4M4j8Jv6ZGflpaP0QVSXQ=="],
|
"@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.2.3", "", { "dependencies": { "@emnapi/core": "^1.8.1", "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-e3kColrZZCdtbwIOc07cNQ2zNf1sTPXTYLjjPlsgsaf+ttzAg/hOlDyEgHoOlBGxM88nPxeVaOGe9ThqVzPncg=="],
|
"@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.2.4", "", { "dependencies": { "@emnapi/core": "^1.8.1", "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.2.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-qpwoUPzfu71cppxOtcz4LXMR1brljS13yOcAAnVHKIL++NJvSQKZBKlP39pVowd+G6Mq34YAbf4CUUYdLWL9gQ=="],
|
"@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.2.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ=="],
|
||||||
|
|
||||||
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.2.3", "", { "os": "win32", "cpu": "x64" }, "sha512-dTRIlLRC5lCRHqO5DLb+A18HCvS394axmzqfnRNLptKVw7WuckpUwo1Z87Yw74mesbeIhnQTA2SZbRcIfVlwxg=="],
|
"@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.2.4", "", { "os": "win32", "cpu": "x64" }, "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw=="],
|
||||||
|
|
||||||
"@tailwindcss/postcss": ["@tailwindcss/postcss@4.2.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.2.3", "@tailwindcss/oxide": "4.2.3", "postcss": "^8.5.6", "tailwindcss": "4.2.3" } }, "sha512-MehdHOQRVFf300r8F430s4cf2QL+nSjFUNIndX5ZMqDLyMwTnyL4RDZsoDsDU+ThzT5eCj1+erSDKBWdn462Nw=="],
|
"@tailwindcss/postcss": ["@tailwindcss/postcss@4.2.4", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.2.4", "@tailwindcss/oxide": "4.2.4", "postcss": "^8.5.6", "tailwindcss": "4.2.4" } }, "sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg=="],
|
||||||
|
|
||||||
"@tailwindcss/typography": ["@tailwindcss/typography@0.5.19", "", { "dependencies": { "postcss-selector-parser": "6.0.10" }, "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" } }, "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg=="],
|
"@tailwindcss/typography": ["@tailwindcss/typography@0.5.19", "", { "dependencies": { "postcss-selector-parser": "6.0.10" }, "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" } }, "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg=="],
|
||||||
|
|
||||||
|
|
@ -1428,6 +1431,8 @@
|
||||||
|
|
||||||
"node-releases": ["node-releases@2.0.37", "", {}, "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg=="],
|
"node-releases": ["node-releases@2.0.37", "", {}, "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg=="],
|
||||||
|
|
||||||
|
"nodemailer": ["nodemailer@7.0.12", "", {}, "sha512-H+rnK5bX2Pi/6ms3sN4/jRQvYSMltV6vqup/0SFOrxYYY/qoNvhXPlYq3e+Pm9RFJRwrMGbMIwi81M4dxpomhA=="],
|
||||||
|
|
||||||
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
||||||
|
|
||||||
"object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
|
"object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
|
||||||
|
|
@ -1482,7 +1487,7 @@
|
||||||
|
|
||||||
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
||||||
|
|
||||||
"payload": ["payload@3.83.0", "", { "dependencies": { "@next/env": "^15.1.5", "@payloadcms/translations": "3.83.0", "@types/busboy": "1.5.4", "ajv": "8.18.0", "bson-objectid": "2.0.4", "busboy": "^1.6.0", "ci-info": "^4.1.0", "console-table-printer": "2.12.1", "croner": "10.0.1", "dataloader": "2.2.3", "deepmerge": "4.3.1", "file-type": "21.3.4", "get-tsconfig": "4.8.1", "http-status": "2.1.0", "image-size": "2.0.2", "ipaddr.js": "2.2.0", "jose": "5.10.0", "json-schema-to-typescript": "15.0.3", "minimist": "1.2.8", "path-to-regexp": "6.3.0", "pino": "9.14.0", "pino-pretty": "13.1.2", "pluralize": "8.0.0", "qs-esm": "8.0.1", "range-parser": "1.2.1", "sanitize-filename": "1.6.3", "ts-essentials": "10.0.3", "tsx": "4.21.0", "undici": "7.24.4", "uuid": "11.1.0", "ws": "^8.16.0" }, "peerDependencies": { "graphql": "^16.8.1" }, "bin": { "payload": "bin.js" } }, "sha512-3DMcqYVn2pg6b1tqfFtkpuDKgHiqDXLKEDYg3kGAYucqa0AYo2E+EPA1QGNNQ2AIduLf9vbn43nmSMAEq/QC/g=="],
|
"payload": ["payload@3.84.1", "", { "dependencies": { "@next/env": "^15.1.5", "@payloadcms/translations": "3.84.1", "@types/busboy": "1.5.4", "ajv": "8.18.0", "bson-objectid": "2.0.4", "busboy": "^1.6.0", "ci-info": "^4.1.0", "console-table-printer": "2.12.1", "croner": "10.0.1", "dataloader": "2.2.3", "deepmerge": "4.3.1", "file-type": "21.3.4", "get-tsconfig": "4.8.1", "http-status": "2.1.0", "image-size": "2.0.2", "ipaddr.js": "2.2.0", "jose": "5.10.0", "json-schema-to-typescript": "15.0.3", "minimist": "1.2.8", "path-to-regexp": "6.3.0", "pino": "9.14.0", "pino-pretty": "13.1.2", "pluralize": "8.0.0", "qs-esm": "8.0.1", "range-parser": "1.2.1", "sanitize-filename": "1.6.3", "ts-essentials": "10.0.3", "tsx": "4.21.0", "undici": "7.24.4", "uuid": "11.1.0", "ws": "^8.16.0" }, "peerDependencies": { "graphql": "^16.8.1" }, "bin": { "payload": "bin.js" } }, "sha512-+aPqqeYsffrzaYmsX/Qt+mHNgcTUyc5TIjjPOaMIrG6nDx6siZ2h9Gv3b3RKAVPt7PWkHI+ooEW3cQbwiDd99Q=="],
|
||||||
|
|
||||||
"pg": ["pg@8.20.0", "", { "dependencies": { "pg-connection-string": "^2.12.0", "pg-pool": "^3.13.0", "pg-protocol": "^1.13.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.3.0" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA=="],
|
"pg": ["pg@8.20.0", "", { "dependencies": { "pg-connection-string": "^2.12.0", "pg-pool": "^3.13.0", "pg-protocol": "^1.13.0", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.3.0" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA=="],
|
||||||
|
|
||||||
|
|
@ -1520,7 +1525,7 @@
|
||||||
|
|
||||||
"possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
|
"possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
|
||||||
|
|
||||||
"postcss": ["postcss@8.5.10", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ=="],
|
"postcss": ["postcss@8.5.12", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA=="],
|
||||||
|
|
||||||
"postcss-selector-parser": ["postcss-selector-parser@6.0.10", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="],
|
"postcss-selector-parser": ["postcss-selector-parser@6.0.10", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="],
|
||||||
|
|
||||||
|
|
@ -1716,7 +1721,7 @@
|
||||||
|
|
||||||
"tailwind-merge": ["tailwind-merge@3.5.0", "", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="],
|
"tailwind-merge": ["tailwind-merge@3.5.0", "", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="],
|
||||||
|
|
||||||
"tailwindcss": ["tailwindcss@4.2.3", "", {}, "sha512-fA/NX5gMf0ooCLISgB0wScaWgaj6rjTN2SVAwleURjiya7ITNkV+VMmoHtKkldP6CIZoYCZyxb8zP/e2TWoEtQ=="],
|
"tailwindcss": ["tailwindcss@4.2.4", "", {}, "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA=="],
|
||||||
|
|
||||||
"tapable": ["tapable@2.3.2", "", {}, "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA=="],
|
"tapable": ["tapable@2.3.2", "", {}, "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA=="],
|
||||||
|
|
||||||
|
|
@ -1988,6 +1993,8 @@
|
||||||
|
|
||||||
"tsconfig-paths/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="],
|
"tsconfig-paths/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="],
|
||||||
|
|
||||||
|
"vite/postcss": ["postcss@8.5.10", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ=="],
|
||||||
|
|
||||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
|
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
|
||||||
|
|
||||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
|
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
|
||||||
|
|
|
||||||
2
next-env.d.ts
vendored
2
next-env.d.ts
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
/// <reference types="next" />
|
/// <reference types="next" />
|
||||||
/// <reference types="next/image-types/global" />
|
/// <reference types="next/image-types/global" />
|
||||||
import "./.next/types/routes.d.ts";
|
import "./.next/dev/types/routes.d.ts";
|
||||||
|
|
||||||
// NOTE: This file should not be edited
|
// NOTE: This file should not be edited
|
||||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||||
|
|
|
||||||
59
package.json
59
package.json
|
|
@ -27,56 +27,57 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@awesome.me/kit-3dc4522338": "^1.0.4",
|
"@awesome.me/kit-3dc4522338": "^1.0.4",
|
||||||
"@fortawesome/react-fontawesome": "^3.3.1",
|
"@fortawesome/react-fontawesome": "^3.3.1",
|
||||||
"@payloadcms/admin-bar": "3.83.0",
|
"@payloadcms/admin-bar": "^3.84.1",
|
||||||
"@payloadcms/db-postgres": "3.83.0",
|
"@payloadcms/db-postgres": "^3.84.1",
|
||||||
"@payloadcms/live-preview-react": "3.83.0",
|
"@payloadcms/email-nodemailer": "^3.84.1",
|
||||||
"@payloadcms/next": "3.83.0",
|
"@payloadcms/live-preview-react": "^3.84.1",
|
||||||
"@payloadcms/plugin-form-builder": "3.83.0",
|
"@payloadcms/next": "^3.84.1",
|
||||||
"@payloadcms/plugin-nested-docs": "3.83.0",
|
"@payloadcms/plugin-form-builder": "^3.84.1",
|
||||||
"@payloadcms/plugin-redirects": "3.83.0",
|
"@payloadcms/plugin-nested-docs": "^3.84.1",
|
||||||
"@payloadcms/plugin-search": "3.83.0",
|
"@payloadcms/plugin-redirects": "^3.84.1",
|
||||||
"@payloadcms/plugin-seo": "3.83.0",
|
"@payloadcms/plugin-search": "^3.84.1",
|
||||||
"@payloadcms/richtext-lexical": "3.83.0",
|
"@payloadcms/plugin-seo": "^3.84.1",
|
||||||
"@payloadcms/ui": "3.83.0",
|
"@payloadcms/richtext-lexical": "^3.84.1",
|
||||||
"@radix-ui/react-checkbox": "^1.0.4",
|
"@payloadcms/ui": "^3.84.1",
|
||||||
"@radix-ui/react-label": "^2.0.2",
|
"@radix-ui/react-checkbox": "^1.3.3",
|
||||||
"@radix-ui/react-select": "^2.0.0",
|
"@radix-ui/react-label": "^2.1.8",
|
||||||
"@radix-ui/react-slot": "^1.0.2",
|
"@radix-ui/react-select": "^2.2.6",
|
||||||
"class-variance-authority": "^0.7.0",
|
"@radix-ui/react-slot": "^1.2.4",
|
||||||
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"dotenv": "16.4.7",
|
"dotenv": "16.4.7",
|
||||||
"geist": "^1.3.0",
|
"geist": "^1.7.0",
|
||||||
"graphql": "^16.8.2",
|
"graphql": "^16.13.2",
|
||||||
"lucide-react": "0.563.0",
|
"lucide-react": "0.563.0",
|
||||||
"next": "16.2.3",
|
"next": "16.2.3",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"payload": "3.83.0",
|
"payload": "^3.84.1",
|
||||||
"prism-react-renderer": "^2.3.1",
|
"prism-react-renderer": "^2.4.1",
|
||||||
"react": "19.2.4",
|
"react": "19.2.4",
|
||||||
"react-dom": "19.2.4",
|
"react-dom": "19.2.4",
|
||||||
"react-hook-form": "7.71.1",
|
"react-hook-form": "7.71.1",
|
||||||
"sharp": "0.34.2",
|
"sharp": "0.34.2",
|
||||||
"tailwind-merge": "^3.4.0"
|
"tailwind-merge": "^3.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.3.5",
|
||||||
"@playwright/test": "1.58.2",
|
"@playwright/test": "1.58.2",
|
||||||
"@tailwindcss/postcss": "^4.1.18",
|
"@tailwindcss/postcss": "^4.2.4",
|
||||||
"@tailwindcss/typography": "^0.5.19",
|
"@tailwindcss/typography": "^0.5.19",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/escape-html": "^1.0.2",
|
"@types/escape-html": "^1.0.4",
|
||||||
"@types/node": "22.19.9",
|
"@types/node": "22.19.9",
|
||||||
"@types/react": "19.2.14",
|
"@types/react": "19.2.14",
|
||||||
"@types/react-dom": "19.2.3",
|
"@types/react-dom": "19.2.3",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.5.0",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.39.4",
|
||||||
"eslint-config-next": "16.2.3",
|
"eslint-config-next": "16.2.3",
|
||||||
"jsdom": "28.0.0",
|
"jsdom": "28.0.0",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.5.12",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.8.3",
|
||||||
"tailwindcss": "^4.1.18",
|
"tailwindcss": "^4.2.4",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"tw-animate-css": "^1.4.0",
|
"tw-animate-css": "^1.4.0",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
|
|
|
||||||
67
public/logo-white-large.svg
Normal file
67
public/logo-white-large.svg
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="1341.9014"
|
||||||
|
height="275.71188"
|
||||||
|
viewBox="0 0 1341.9014 275.71188"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||||
|
sodipodi:docname="logo-white-large.svg"
|
||||||
|
inkscape:export-filename="logo-white-large.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#000000"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="false"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="0.96284376"
|
||||||
|
inkscape:cx="222.25828"
|
||||||
|
inkscape:cy="207.19873"
|
||||||
|
inkscape:window-width="5120"
|
||||||
|
inkscape:window-height="1364"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="text1" /><defs
|
||||||
|
id="defs1"><rect
|
||||||
|
x="326.07098"
|
||||||
|
y="65.361076"
|
||||||
|
width="1120.6854"
|
||||||
|
height="171.11383"
|
||||||
|
id="rect1" /></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-32.039343,-14.254382)"><path
|
||||||
|
id="path4"
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19.3432;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 151.41726,14.254382 68.353211,98.763114 49.484507,117.96127 c -4.968354,39.84769 58.229493,86.80098 99.589693,86.80098 41.3602,0 104.79014,-48.42796 101.57986,-86.80098 L 232.28402,98.763114 Z m 0,75.133318 c 19.77118,5.03e-4 35.79827,15.39296 35.79704,34.37957 -5.3e-4,18.98542 -16.0271,34.37602 -35.79704,34.37652 -19.77113,0.001 -35.79956,-15.38996 -35.80009,-34.37652 -0.001,-18.98775 16.02772,-34.380685 35.80009,-34.37957 z"
|
||||||
|
sodipodi:nodetypes="ccczcccccccc" /><path
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:19;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="m 32.039343,171.06602 12.47681,-13.25706 c 0,0 64.212437,61.16558 104.558047,60.97426 40.6619,-0.19283 104.79014,-62.44893 104.79014,-62.44893 0,0 9.39756,9.53569 14.09635,14.30351 C 227.4057,209.48538 149.0742,289.96628 149.0742,289.96628 Z"
|
||||||
|
id="path1" /></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Layer 2"
|
||||||
|
transform="translate(-32.039343,-14.254382)"><g
|
||||||
|
id="text1"
|
||||||
|
style="font-family:'Fira Sans';-inkscape-font-specification:'Fira Sans';white-space:pre;fill:#ffffff"
|
||||||
|
transform="matrix(15.531344,0,0,15.531344,-4754.0178,-969.08513)"
|
||||||
|
aria-label="ONYXSIMPLE"><path
|
||||||
|
style="font-weight:bold"
|
||||||
|
d="m 330.21031,67.691328 q 1.776,0 2.76,1.14 0.996,1.14 0.996,3.216 0,1.356 -0.456,2.34 -0.444,0.984 -1.296,1.512 -0.84,0.516 -2.004,0.516 -1.164,0 -2.004,-0.516 -0.84,-0.516 -1.296,-1.488 -0.444,-0.984 -0.444,-2.364 0,-1.344 0.444,-2.328 0.456,-0.984 1.296,-1.5 0.84,-0.528 2.004,-0.528 z m 0,1.44 q -0.852,0 -1.272,0.696 -0.408,0.684 -0.408,2.22 0,1.536 0.42,2.232 0.42,0.696 1.26,0.696 0.864,0 1.272,-0.684 0.42,-0.696 0.42,-2.244 0,-1.548 -0.42,-2.232 -0.42,-0.684 -1.272,-0.684 z m 11.34,7.08 h -2.508 l -2.4,-6.444 q 0.12,0.948 0.18,1.68 0.072,0.72 0.072,1.716 v 3.048 h -1.752 v -8.316 h 2.448 l 2.46,6.456 q -0.264,-1.644 -0.264,-3.096 v -3.36 h 1.764 z m 5.316,-3.12 v 3.12 h -1.968 v -3.108 l -2.664,-5.208 h 2.148 l 1.536,3.66 1.536,-3.66 h 2.076 z m 9.6,3.12 h -2.148 l -1.428,-3.168 -1.404,3.168 h -2.088 l 2.328,-4.416 -2.148,-3.9 h 2.136 l 1.2,2.664 1.26,-2.664 h 2.088 l -2.196,3.828 z"
|
||||||
|
id="path5" /><path
|
||||||
|
d="m 359.6583,67.799328 q 0.828,0 1.416,0.24 0.588,0.228 1.14,0.72 l -0.624,0.696 q -0.468,-0.372 -0.924,-0.54 -0.444,-0.18 -0.96,-0.18 -0.648,0 -1.068,0.3 -0.42,0.3 -0.42,0.876 0,0.36 0.144,0.612 0.144,0.24 0.528,0.444 0.396,0.204 1.14,0.432 0.78,0.24 1.296,0.516 0.516,0.276 0.828,0.768 0.324,0.48 0.324,1.224 0,0.72 -0.36,1.272 -0.348,0.552 -1.02,0.864 -0.66,0.312 -1.572,0.312 -1.716,0 -2.808,-1.068 l 0.624,-0.696 q 0.504,0.408 1.02,0.624 0.516,0.204 1.152,0.204 0.768,0 1.272,-0.372 0.504,-0.384 0.504,-1.104 0,-0.408 -0.156,-0.672 -0.156,-0.276 -0.54,-0.492 -0.372,-0.216 -1.092,-0.432 -1.272,-0.384 -1.86,-0.924 -0.588,-0.54 -0.588,-1.464 0,-0.624 0.324,-1.116 0.336,-0.492 0.924,-0.768 0.6,-0.276 1.356,-0.276 z m 5.64001,8.412 h -1.14 v -8.268 h 1.14 z m 9.792,0 h -1.104 l -0.288,-3.732 q -0.18,-2.196 -0.204,-3.372 l -1.788,6.168 h -1.068 l -1.884,-6.18 q 0,1.5 -0.156,3.468 l -0.276,3.648 h -1.08 l 0.684,-8.268 h 1.536 l 1.74,6.012 1.656,-6.012 h 1.548 z m 4.11599,-8.268 q 1.536,0 2.376,0.648 0.84,0.636 0.84,1.908 0,1.356 -0.876,2.016 -0.876,0.66 -2.328,0.66 h -1.044 v 3.036 h -1.14 v -8.268 z m -0.036,4.332 q 0.996,0 1.512,-0.384 0.528,-0.384 0.528,-1.38 0,-0.888 -0.528,-1.284 -0.516,-0.396 -1.488,-0.396 h -1.02 v 3.444 z m 5.976,2.94 h 3.396 l -0.132,0.996 h -4.404 v -8.268 h 1.14 z m 9.17999,-6.36 h -3.204 v 2.7 h 2.784 v 0.912 h -2.784 v 2.832 h 3.432 v 0.912 h -4.572 v -8.268 h 4.476 z"
|
||||||
|
id="path6" /></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 5.4 KiB |
|
|
@ -1,32 +1,33 @@
|
||||||
import { getCachedGlobal } from '@/utilities/getGlobals'
|
import { getCachedGlobal } from "@/utilities/getGlobals";
|
||||||
import Link from 'next/link'
|
import Link from "next/link";
|
||||||
import React from 'react'
|
import React from "react";
|
||||||
|
|
||||||
import { ThemeSelector } from '@/providers/Theme/ThemeSelector'
|
import { ThemeSelector } from "@/providers/Theme/ThemeSelector";
|
||||||
import { CMSLink } from '@/components/Link'
|
import { CMSLink } from "@/components/Link";
|
||||||
import { Logo } from '@/components/Logo/Logo'
|
import { Logo } from "@/components/Logo/Logo";
|
||||||
|
import LogoLarge from "@/components/Logo/LogoLarge";
|
||||||
|
|
||||||
export async function Footer() {
|
export async function Footer() {
|
||||||
const footerData = await getCachedGlobal('footer', 1)()
|
const footerData = await getCachedGlobal("footer", 1)();
|
||||||
|
|
||||||
const navItems = footerData?.navItems || []
|
const navItems = footerData?.navItems || [];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<footer className="mt-auto border-t border-border bg-black dark:bg-card text-white">
|
<footer className="mt-auto border-t border-border bg-black dark:bg-card text-white">
|
||||||
<div className="container py-8 gap-8 flex flex-col md:flex-row md:justify-between">
|
<div className="container py-8 gap-8 flex flex-col md:flex-row md:justify-between">
|
||||||
<Link className="flex items-center" href="/">
|
<Link className="flex items-center" href="/">
|
||||||
<Logo />
|
<LogoLarge/>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
<div className="flex flex-col-reverse items-start md:flex-row gap-4 md:items-center">
|
<div className="flex flex-col-reverse items-start md:flex-row gap-4 md:items-center">
|
||||||
<ThemeSelector/>
|
<ThemeSelector/>
|
||||||
<nav className="flex flex-col md:flex-row gap-4">
|
<nav className="flex flex-col md:flex-row gap-4">
|
||||||
{navItems.map(({ link }, i) => {
|
{navItems.map(({ link }, i) => {
|
||||||
return <CMSLink className="text-white" key={i} {...link} />
|
return <CMSLink className="text-white" key={i} {...link} />;
|
||||||
})}
|
})}
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import type { Header } from '@/payload-types'
|
||||||
|
|
||||||
import { Logo } from '@/components/Logo/Logo'
|
import { Logo } from '@/components/Logo/Logo'
|
||||||
import { HeaderNav } from './Nav'
|
import { HeaderNav } from './Nav'
|
||||||
|
import { LogoLarge } from "@/components/Logo/LogoLarge";
|
||||||
|
|
||||||
interface HeaderClientProps {
|
interface HeaderClientProps {
|
||||||
data: Header
|
data: Header
|
||||||
|
|
@ -33,7 +34,7 @@ export const HeaderClient: React.FC<HeaderClientProps> = ({ data }) => {
|
||||||
<header className="container relative z-20 " {...(theme ? { 'data-theme': theme } : {})}>
|
<header className="container relative z-20 " {...(theme ? { 'data-theme': theme } : {})}>
|
||||||
<div className="py-8 flex justify-between">
|
<div className="py-8 flex justify-between">
|
||||||
<Link href="/">
|
<Link href="/">
|
||||||
<Logo loading="eager" priority="high" className="invert dark:invert-0" />
|
<LogoLarge loading="eager" priority="high" className="invert dark:invert-0" />
|
||||||
</Link>
|
</Link>
|
||||||
<HeaderNav data={data} />
|
<HeaderNav data={data} />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,10 @@ import { ParagraphFeatureClient as ParagraphFeatureClient_e70f5e05f09f93e00b997e
|
||||||
import { UnderlineFeatureClient as UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { UnderlineFeatureClient as UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { BoldFeatureClient as BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { BoldFeatureClient as BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { ItalicFeatureClient as ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { ItalicFeatureClient as ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { LinkFeatureClient as LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { AlignFeatureClient as AlignFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { UnorderedListFeatureClient as UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { UnorderedListFeatureClient as UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { OrderedListFeatureClient as OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
import { OrderedListFeatureClient as OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
|
import { LinkFeatureClient as LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from '@payloadcms/richtext-lexical/client'
|
||||||
import { OverviewComponent as OverviewComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
import { OverviewComponent as OverviewComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
||||||
import { MetaTitleComponent as MetaTitleComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
import { MetaTitleComponent as MetaTitleComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
||||||
import { MetaImageComponent as MetaImageComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
import { MetaImageComponent as MetaImageComponent_a8a977ebc872c5d5ea7ee689724c0860 } from '@payloadcms/plugin-seo/client'
|
||||||
|
|
@ -26,6 +27,8 @@ import { ReindexButton as ReindexButton_aead06e4cbf6b2620c5c51c9ab283634 } from
|
||||||
import { FolderTypeField as FolderTypeField_2b8867833a34864a02ddf429b0728a40 } from '@payloadcms/next/client'
|
import { FolderTypeField as FolderTypeField_2b8867833a34864a02ddf429b0728a40 } from '@payloadcms/next/client'
|
||||||
import { RowLabel as RowLabel_ec255a65fa6fa8d1faeb09cf35284224 } from '@/Header/RowLabel'
|
import { RowLabel as RowLabel_ec255a65fa6fa8d1faeb09cf35284224 } from '@/Header/RowLabel'
|
||||||
import { RowLabel as RowLabel_1f6ff6ff633e3695d348f4f3c58f1466 } from '@/Footer/RowLabel'
|
import { RowLabel as RowLabel_1f6ff6ff633e3695d348f4f3c58f1466 } from '@/Footer/RowLabel'
|
||||||
|
import { default as default_566629f80931517f5befb54103e89cc5 } from '@/components/Logo/Logo.tsx'
|
||||||
|
import { default as default_6c2236c4a7e461fdc53e5e596733fd61 } from '@/components/Logo/LogoLarge.tsx'
|
||||||
import { default as default_1a7510af427896d367a49dbf838d2de6 } from '@/components/BeforeDashboard'
|
import { default as default_1a7510af427896d367a49dbf838d2de6 } from '@/components/BeforeDashboard'
|
||||||
import { default as default_8a7ab0eb7ab5c511aba12e68480bfe5e } from '@/components/BeforeLogin'
|
import { default as default_8a7ab0eb7ab5c511aba12e68480bfe5e } from '@/components/BeforeLogin'
|
||||||
import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from '@payloadcms/next/rsc'
|
import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from '@payloadcms/next/rsc'
|
||||||
|
|
@ -42,9 +45,10 @@ export const importMap = {
|
||||||
"@payloadcms/richtext-lexical/client#UnderlineFeatureClient": UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#UnderlineFeatureClient": UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/richtext-lexical/client#BoldFeatureClient": BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#BoldFeatureClient": BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/richtext-lexical/client#ItalicFeatureClient": ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#ItalicFeatureClient": ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/richtext-lexical/client#LinkFeatureClient": LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#AlignFeatureClient": AlignFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/richtext-lexical/client#UnorderedListFeatureClient": UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#UnorderedListFeatureClient": UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/richtext-lexical/client#OrderedListFeatureClient": OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
"@payloadcms/richtext-lexical/client#OrderedListFeatureClient": OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
|
"@payloadcms/richtext-lexical/client#LinkFeatureClient": LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864,
|
||||||
"@payloadcms/plugin-seo/client#OverviewComponent": OverviewComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
"@payloadcms/plugin-seo/client#OverviewComponent": OverviewComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
||||||
"@payloadcms/plugin-seo/client#MetaTitleComponent": MetaTitleComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
"@payloadcms/plugin-seo/client#MetaTitleComponent": MetaTitleComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
||||||
"@payloadcms/plugin-seo/client#MetaImageComponent": MetaImageComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
"@payloadcms/plugin-seo/client#MetaImageComponent": MetaImageComponent_a8a977ebc872c5d5ea7ee689724c0860,
|
||||||
|
|
@ -60,6 +64,8 @@ export const importMap = {
|
||||||
"@payloadcms/next/client#FolderTypeField": FolderTypeField_2b8867833a34864a02ddf429b0728a40,
|
"@payloadcms/next/client#FolderTypeField": FolderTypeField_2b8867833a34864a02ddf429b0728a40,
|
||||||
"@/Header/RowLabel#RowLabel": RowLabel_ec255a65fa6fa8d1faeb09cf35284224,
|
"@/Header/RowLabel#RowLabel": RowLabel_ec255a65fa6fa8d1faeb09cf35284224,
|
||||||
"@/Footer/RowLabel#RowLabel": RowLabel_1f6ff6ff633e3695d348f4f3c58f1466,
|
"@/Footer/RowLabel#RowLabel": RowLabel_1f6ff6ff633e3695d348f4f3c58f1466,
|
||||||
|
"@/components/Logo/Logo.tsx#default": default_566629f80931517f5befb54103e89cc5,
|
||||||
|
"@/components/Logo/LogoLarge.tsx#default": default_6c2236c4a7e461fdc53e5e596733fd61,
|
||||||
"@/components/BeforeDashboard#default": default_1a7510af427896d367a49dbf838d2de6,
|
"@/components/BeforeDashboard#default": default_1a7510af427896d367a49dbf838d2de6,
|
||||||
"@/components/BeforeLogin#default": default_8a7ab0eb7ab5c511aba12e68480bfe5e,
|
"@/components/BeforeLogin#default": default_8a7ab0eb7ab5c511aba12e68480bfe5e,
|
||||||
"@payloadcms/next/rsc#CollectionCards": CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1
|
"@payloadcms/next/rsc#CollectionCards": CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ export const ProjectDisplayBlock: React.FC<Props> = (props) => {
|
||||||
>
|
>
|
||||||
<div className="flex flex-col gap-2 min-w-2/5 max-w-2/5 sticky top-2 h-fit">{(media || staticImage) && (
|
<div className="flex flex-col gap-2 min-w-2/5 max-w-2/5 sticky top-2 h-fit">{(media || staticImage) && (
|
||||||
<Media
|
<Media
|
||||||
imgClassName={cn("border border-border rounded-[0.8rem]", imgClassName)}
|
imgClassName={cn("border border-border rounded-xl shadow-sm", imgClassName)}
|
||||||
resource={media}
|
resource={media}
|
||||||
src={staticImage}
|
src={staticImage}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -37,3 +37,5 @@ export const Logo = (props: Props) => {
|
||||||
/>*/
|
/>*/
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default Logo;
|
||||||
41
src/components/Logo/LogoLarge.tsx
Normal file
41
src/components/Logo/LogoLarge.tsx
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
import clsx from 'clsx'
|
||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
className?: string
|
||||||
|
loading?: 'lazy' | 'eager'
|
||||||
|
priority?: 'auto' | 'high' | 'low'
|
||||||
|
}
|
||||||
|
|
||||||
|
export const LogoLarge = (props: Props) => {
|
||||||
|
const { loading: loadingFromProps, priority: priorityFromProps, className } = props
|
||||||
|
|
||||||
|
const loading = loadingFromProps || 'lazy'
|
||||||
|
const priority = priorityFromProps || 'low'
|
||||||
|
|
||||||
|
return (
|
||||||
|
/* eslint-disable @next/next/no-img-element */
|
||||||
|
<img
|
||||||
|
alt="ONYXSimple Logo"
|
||||||
|
width={193}
|
||||||
|
height={34}
|
||||||
|
loading={loading}
|
||||||
|
fetchPriority={priority}
|
||||||
|
decoding="async"
|
||||||
|
className={clsx('max-w-[9.375rem] w-full h-[34px]', className)}
|
||||||
|
src="/logo-white-large.svg"
|
||||||
|
/>
|
||||||
|
/*<img
|
||||||
|
alt="Payload Logo"
|
||||||
|
width={193}
|
||||||
|
height={34}
|
||||||
|
loading={loading}
|
||||||
|
fetchPriority={priority}
|
||||||
|
decoding="async"
|
||||||
|
className={clsx('max-w-[9.375rem] w-full h-[34px]', className)}
|
||||||
|
src="https://raw.githubusercontent.com/payloadcms/payload/main/packages/ui/src/assets/payload-logo-light.svg"
|
||||||
|
/>*/
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default LogoLarge;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import type { TextFieldSingleValidation } from 'payload'
|
import type { TextFieldSingleValidation } from "payload";
|
||||||
import {
|
import {
|
||||||
BoldFeature,
|
BoldFeature,
|
||||||
ItalicFeature,
|
ItalicFeature,
|
||||||
|
|
@ -6,42 +6,47 @@ import {
|
||||||
ParagraphFeature,
|
ParagraphFeature,
|
||||||
lexicalEditor,
|
lexicalEditor,
|
||||||
UnderlineFeature,
|
UnderlineFeature,
|
||||||
type LinkFields,
|
type LinkFields, HeadingFeature, FixedToolbarFeature, UnorderedListFeature, OrderedListFeature, AlignFeature,
|
||||||
} from '@payloadcms/richtext-lexical'
|
} from "@payloadcms/richtext-lexical";
|
||||||
|
|
||||||
export const defaultLexical = lexicalEditor({
|
export const defaultLexical = lexicalEditor({
|
||||||
features: [
|
features: [
|
||||||
|
FixedToolbarFeature(),
|
||||||
ParagraphFeature(),
|
ParagraphFeature(),
|
||||||
UnderlineFeature(),
|
UnderlineFeature(),
|
||||||
BoldFeature(),
|
BoldFeature(),
|
||||||
ItalicFeature(),
|
ItalicFeature(),
|
||||||
|
AlignFeature(),
|
||||||
|
UnorderedListFeature(),
|
||||||
|
OrderedListFeature(),
|
||||||
|
HeadingFeature({ enabledHeadingSizes: ["h2", "h3", "h4"] }),
|
||||||
LinkFeature({
|
LinkFeature({
|
||||||
enabledCollections: ['pages', 'posts'],
|
enabledCollections: ["pages", "posts"],
|
||||||
fields: ({ defaultFields }) => {
|
fields: ({ defaultFields }) => {
|
||||||
const defaultFieldsWithoutUrl = defaultFields.filter((field) => {
|
const defaultFieldsWithoutUrl = defaultFields.filter((field) => {
|
||||||
if ('name' in field && field.name === 'url') return false
|
if ("name" in field && field.name === "url") return false;
|
||||||
return true
|
return true;
|
||||||
})
|
});
|
||||||
|
|
||||||
return [
|
return [
|
||||||
...defaultFieldsWithoutUrl,
|
...defaultFieldsWithoutUrl,
|
||||||
{
|
{
|
||||||
name: 'url',
|
name: "url",
|
||||||
type: 'text',
|
type: "text",
|
||||||
admin: {
|
admin: {
|
||||||
condition: (_data, siblingData) => siblingData?.linkType !== 'internal',
|
condition: (_data, siblingData) => siblingData?.linkType !== "internal",
|
||||||
},
|
},
|
||||||
label: ({ t }) => t('fields:enterURL'),
|
label: ({ t }) => t("fields:enterURL"),
|
||||||
required: true,
|
required: true,
|
||||||
validate: ((value, options) => {
|
validate: ((value, options) => {
|
||||||
if ((options?.siblingData as LinkFields)?.linkType === 'internal') {
|
if ((options?.siblingData as LinkFields)?.linkType === "internal") {
|
||||||
return true // no validation needed, as no url should exist for internal links
|
return true; // no validation needed, as no url should exist for internal links
|
||||||
}
|
}
|
||||||
return value ? true : 'URL is required'
|
return value ? true : "URL is required";
|
||||||
}) as TextFieldSingleValidation,
|
}) as TextFieldSingleValidation,
|
||||||
},
|
},
|
||||||
]
|
];
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
})
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,37 @@
|
||||||
import { postgresAdapter } from '@payloadcms/db-postgres'
|
import { postgresAdapter } from "@payloadcms/db-postgres";
|
||||||
import sharp from 'sharp'
|
import sharp from "sharp";
|
||||||
import path from 'path'
|
import path from "path";
|
||||||
import { buildConfig, PayloadRequest } from 'payload'
|
import { buildConfig, PayloadRequest } from "payload";
|
||||||
import { fileURLToPath } from 'url'
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
import { Categories } from './collections/Categories'
|
import { Categories } from "./collections/Categories";
|
||||||
import { Media } from './collections/Media'
|
import { Media } from "./collections/Media";
|
||||||
import { Pages } from './collections/Pages'
|
import { Pages } from "./collections/Pages";
|
||||||
import { Posts } from './collections/Posts'
|
import { Posts } from "./collections/Posts";
|
||||||
import { Users } from './collections/Users'
|
import { Users } from "./collections/Users";
|
||||||
import { Footer } from './Footer/config'
|
import { Footer } from "./Footer/config";
|
||||||
import { Header } from './Header/config'
|
import { Header } from "./Header/config";
|
||||||
import { plugins } from './plugins'
|
import { plugins } from "./plugins";
|
||||||
import { defaultLexical } from '@/fields/defaultLexical'
|
import { defaultLexical } from "@/fields/defaultLexical";
|
||||||
import { getServerSideURL } from './utilities/getURL'
|
import { getServerSideURL } from "./utilities/getURL";
|
||||||
|
import { nodemailerAdapter } from "@payloadcms/email-nodemailer";
|
||||||
|
|
||||||
const filename = fileURLToPath(import.meta.url)
|
const filename = fileURLToPath(import.meta.url);
|
||||||
const dirname = path.dirname(filename)
|
const dirname = path.dirname(filename);
|
||||||
|
|
||||||
export default buildConfig({
|
export default buildConfig({
|
||||||
admin: {
|
admin: {
|
||||||
components: {
|
components: {
|
||||||
// The `BeforeLogin` component renders a message that you see while logging into your admin panel.
|
// The `BeforeLogin` component renders a message that you see while logging into your admin panel.
|
||||||
// Feel free to delete this at any time. Simply remove the line below.
|
// Feel free to delete this at any time. Simply remove the line below.
|
||||||
beforeLogin: ['@/components/BeforeLogin'],
|
beforeLogin: ["@/components/BeforeLogin"],
|
||||||
// The `BeforeDashboard` component renders the 'welcome' block that you see after logging into your admin panel.
|
// The `BeforeDashboard` component renders the 'welcome' block that you see after logging into your admin panel.
|
||||||
// Feel free to delete this at any time. Simply remove the line below.
|
// Feel free to delete this at any time. Simply remove the line below.
|
||||||
beforeDashboard: ['@/components/BeforeDashboard'],
|
beforeDashboard: ["@/components/BeforeDashboard"],
|
||||||
|
graphics: {
|
||||||
|
Icon: "@/components/Logo/Logo.tsx",
|
||||||
|
Logo: "@/components/Logo/LogoLarge.tsx",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
importMap: {
|
importMap: {
|
||||||
baseDir: path.resolve(dirname),
|
baseDir: path.resolve(dirname),
|
||||||
|
|
@ -35,20 +40,20 @@ export default buildConfig({
|
||||||
livePreview: {
|
livePreview: {
|
||||||
breakpoints: [
|
breakpoints: [
|
||||||
{
|
{
|
||||||
label: 'Mobile',
|
label: "Mobile",
|
||||||
name: 'mobile',
|
name: "mobile",
|
||||||
width: 375,
|
width: 375,
|
||||||
height: 667,
|
height: 667,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Tablet',
|
label: "Tablet",
|
||||||
name: 'tablet',
|
name: "tablet",
|
||||||
width: 768,
|
width: 768,
|
||||||
height: 1024,
|
height: 1024,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Desktop',
|
label: "Desktop",
|
||||||
name: 'desktop',
|
name: "desktop",
|
||||||
width: 1440,
|
width: 1440,
|
||||||
height: 900,
|
height: 900,
|
||||||
},
|
},
|
||||||
|
|
@ -59,9 +64,22 @@ export default buildConfig({
|
||||||
editor: defaultLexical,
|
editor: defaultLexical,
|
||||||
db: postgresAdapter({
|
db: postgresAdapter({
|
||||||
pool: {
|
pool: {
|
||||||
connectionString: process.env.DATABASE_URL || '',
|
connectionString: process.env.DATABASE_URL || "",
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
email: nodemailerAdapter({
|
||||||
|
defaultFromAddress: 'no-reply@onyxsimple.com',
|
||||||
|
defaultFromName: 'ONYXSimple',
|
||||||
|
transportOptions: {
|
||||||
|
service: process.env.SMTP_SERVICE,
|
||||||
|
host: process.env.SMTP_HOST,
|
||||||
|
port: Number(process.env.SMTP_PORT) || 587,
|
||||||
|
auth: {
|
||||||
|
user: process.env.SMTP_USER,
|
||||||
|
pass: process.env.SMTP_PASS,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
collections: [Pages, Posts, Media, Categories, Users],
|
collections: [Pages, Posts, Media, Categories, Users],
|
||||||
cors: [getServerSideURL()].filter(Boolean),
|
cors: [getServerSideURL()].filter(Boolean),
|
||||||
globals: [Header, Footer],
|
globals: [Header, Footer],
|
||||||
|
|
@ -69,24 +87,24 @@ export default buildConfig({
|
||||||
secret: process.env.PAYLOAD_SECRET,
|
secret: process.env.PAYLOAD_SECRET,
|
||||||
sharp,
|
sharp,
|
||||||
typescript: {
|
typescript: {
|
||||||
outputFile: path.resolve(dirname, 'payload-types.ts'),
|
outputFile: path.resolve(dirname, "payload-types.ts"),
|
||||||
},
|
},
|
||||||
jobs: {
|
jobs: {
|
||||||
access: {
|
access: {
|
||||||
run: ({ req }: { req: PayloadRequest }): boolean => {
|
run: ({ req }: { req: PayloadRequest }): boolean => {
|
||||||
// Allow logged in users to execute this endpoint (default)
|
// Allow logged in users to execute this endpoint (default)
|
||||||
if (req.user) return true
|
if (req.user) return true;
|
||||||
|
|
||||||
const secret = process.env.CRON_SECRET
|
const secret = process.env.CRON_SECRET;
|
||||||
if (!secret) return false
|
if (!secret) return false;
|
||||||
|
|
||||||
// If there is no logged in user, then check
|
// If there is no logged in user, then check
|
||||||
// for the Vercel Cron secret to be present as an
|
// for the Vercel Cron secret to be present as an
|
||||||
// Authorization header:
|
// Authorization header:
|
||||||
const authHeader = req.headers.get('authorization')
|
const authHeader = req.headers.get("authorization");
|
||||||
return authHeader === `Bearer ${secret}`
|
return authHeader === `Bearer ${secret}`;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
tasks: [],
|
tasks: [],
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,45 +1,45 @@
|
||||||
import { formBuilderPlugin } from '@payloadcms/plugin-form-builder'
|
import { formBuilderPlugin } from "@payloadcms/plugin-form-builder";
|
||||||
import { nestedDocsPlugin } from '@payloadcms/plugin-nested-docs'
|
import { nestedDocsPlugin } from "@payloadcms/plugin-nested-docs";
|
||||||
import { redirectsPlugin } from '@payloadcms/plugin-redirects'
|
import { redirectsPlugin } from "@payloadcms/plugin-redirects";
|
||||||
import { seoPlugin } from '@payloadcms/plugin-seo'
|
import { seoPlugin } from "@payloadcms/plugin-seo";
|
||||||
import { searchPlugin } from '@payloadcms/plugin-search'
|
import { searchPlugin } from "@payloadcms/plugin-search";
|
||||||
import { Plugin } from 'payload'
|
import { Plugin } from "payload";
|
||||||
import { revalidateRedirects } from '@/hooks/revalidateRedirects'
|
import { revalidateRedirects } from "@/hooks/revalidateRedirects";
|
||||||
import { GenerateTitle, GenerateURL } from '@payloadcms/plugin-seo/types'
|
import { GenerateTitle, GenerateURL } from "@payloadcms/plugin-seo/types";
|
||||||
import { FixedToolbarFeature, HeadingFeature, lexicalEditor } from '@payloadcms/richtext-lexical'
|
import { FixedToolbarFeature, HeadingFeature, lexicalEditor } from "@payloadcms/richtext-lexical";
|
||||||
import { searchFields } from '@/search/fieldOverrides'
|
import { searchFields } from "@/search/fieldOverrides";
|
||||||
import { beforeSyncWithSearch } from '@/search/beforeSync'
|
import { beforeSyncWithSearch } from "@/search/beforeSync";
|
||||||
|
|
||||||
import { Page, Post } from '@/payload-types'
|
import { Page, Post } from "@/payload-types";
|
||||||
import { getServerSideURL } from '@/utilities/getURL'
|
import { getServerSideURL } from "@/utilities/getURL";
|
||||||
|
|
||||||
const generateTitle: GenerateTitle<Post | Page> = ({ doc }) => {
|
const generateTitle: GenerateTitle<Post | Page> = ({ doc }) => {
|
||||||
return doc?.title ? `${doc.title} | ONYXSimple` : 'ONYXSimple'
|
return doc?.title ? `${doc.title} | ONYXSimple` : "ONYXSimple";
|
||||||
}
|
};
|
||||||
|
|
||||||
const generateURL: GenerateURL<Post | Page> = ({ doc }) => {
|
const generateURL: GenerateURL<Post | Page> = ({ doc }) => {
|
||||||
const url = getServerSideURL()
|
const url = getServerSideURL();
|
||||||
|
|
||||||
return doc?.slug ? `${url}/${doc.slug}` : url
|
return doc?.slug ? `${url}/${doc.slug}` : url;
|
||||||
}
|
};
|
||||||
|
|
||||||
export const plugins: Plugin[] = [
|
export const plugins: Plugin[] = [
|
||||||
redirectsPlugin({
|
redirectsPlugin({
|
||||||
collections: ['pages', 'posts'],
|
collections: ["pages", "posts"],
|
||||||
overrides: {
|
overrides: {
|
||||||
// @ts-expect-error - This is a valid override, mapped fields don't resolve to the same type
|
// @ts-expect-error - This is a valid override, mapped fields don't resolve to the same type
|
||||||
fields: ({ defaultFields }) => {
|
fields: ({ defaultFields }) => {
|
||||||
return defaultFields.map((field) => {
|
return defaultFields.map((field) => {
|
||||||
if ('name' in field && field.name === 'from') {
|
if ("name" in field && field.name === "from") {
|
||||||
return {
|
return {
|
||||||
...field,
|
...field,
|
||||||
admin: {
|
admin: {
|
||||||
description: 'You will need to rebuild the website when changing this field.',
|
description: "You will need to rebuild the website when changing this field.",
|
||||||
},
|
},
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
return field;
|
||||||
return field
|
});
|
||||||
})
|
|
||||||
},
|
},
|
||||||
hooks: {
|
hooks: {
|
||||||
afterChange: [revalidateRedirects],
|
afterChange: [revalidateRedirects],
|
||||||
|
|
@ -47,8 +47,8 @@ export const plugins: Plugin[] = [
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
nestedDocsPlugin({
|
nestedDocsPlugin({
|
||||||
collections: ['categories'],
|
collections: ["categories"],
|
||||||
generateURL: (docs) => docs.reduce((url, doc) => `${url}/${doc.slug}`, ''),
|
generateURL: (docs) => docs.reduce((url, doc) => `${url}/${doc.slug}`, ""),
|
||||||
}),
|
}),
|
||||||
seoPlugin({
|
seoPlugin({
|
||||||
generateTitle,
|
generateTitle,
|
||||||
|
|
@ -61,7 +61,7 @@ export const plugins: Plugin[] = [
|
||||||
formOverrides: {
|
formOverrides: {
|
||||||
fields: ({ defaultFields }) => {
|
fields: ({ defaultFields }) => {
|
||||||
return defaultFields.map((field) => {
|
return defaultFields.map((field) => {
|
||||||
if ('name' in field && field.name === 'confirmationMessage') {
|
if ("name" in field && field.name === "confirmationMessage") {
|
||||||
return {
|
return {
|
||||||
...field,
|
...field,
|
||||||
editor: lexicalEditor({
|
editor: lexicalEditor({
|
||||||
|
|
@ -69,24 +69,24 @@ export const plugins: Plugin[] = [
|
||||||
return [
|
return [
|
||||||
...rootFeatures,
|
...rootFeatures,
|
||||||
FixedToolbarFeature(),
|
FixedToolbarFeature(),
|
||||||
HeadingFeature({ enabledHeadingSizes: ['h1', 'h2', 'h3', 'h4'] }),
|
HeadingFeature({ enabledHeadingSizes: ["h1", "h2", "h3", "h4"] }),
|
||||||
]
|
];
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
return field;
|
||||||
return field
|
});
|
||||||
})
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
searchPlugin({
|
searchPlugin({
|
||||||
collections: ['posts'],
|
collections: ["posts"],
|
||||||
beforeSync: beforeSyncWithSearch,
|
beforeSync: beforeSyncWithSearch,
|
||||||
searchOverrides: {
|
searchOverrides: {
|
||||||
fields: ({ defaultFields }) => {
|
fields: ({ defaultFields }) => {
|
||||||
return [...defaultFields, ...searchFields]
|
return [...defaultFields, ...searchFields];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
]
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue