feat: Updated task list, added Phase 8 (Block Editor foundation)

Progress Update:
-  Phase 1-3: Complete (Foundation, Navigation, Factory Floor)
-  Collection Pages: All 10 pages built and deployed
-  API Token: Fixed and configured
-  Directus: Configured with Visual Editor
- 🆕 Phase 8: Block Editor foundation (Craft.js + schema)

New Files:
- BLOCK_EDITOR_IMPLEMENTATION_PLAN.md - Full implementation guide
- DIRECTUS_CONFIGURATION.md - Complete Directus setup docs
- scripts/create_page_blocks_schema.js - Schema creation script
- page_blocks collection created in Directus

Progress: 61% complete (100/165 tasks)
Next: Phase 4 - Intelligence Station
This commit is contained in:
cawcenter
2025-12-13 13:56:01 -05:00
parent 7131a0dfe6
commit 549250e9c8
6 changed files with 621 additions and 93 deletions

View File

@@ -13,6 +13,8 @@
"@astrojs/tailwind": "^5.1.0",
"@bull-board/api": "^6.15.0",
"@bull-board/express": "^6.15.0",
"@craftjs/core": "^0.2.12",
"@craftjs/utils": "^0.2.5",
"@directus/sdk": "^17.0.0",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
@@ -42,6 +44,7 @@
"lucide-react": "^0.346.0",
"nanoid": "^5.0.5",
"react": "^18.3.1",
"react-contenteditable": "^3.3.7",
"react-diff-viewer-continued": "^3.4.0",
"react-dom": "^18.3.1",
"react-flow-renderer": "^10.3.17",
@@ -506,6 +509,52 @@
"@bull-board/api": "6.15.0"
}
},
"node_modules/@craftjs/core": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@craftjs/core/-/core-0.2.12.tgz",
"integrity": "sha512-M9WZ6SuvGw6Ue2iXouPiqLzzsxOynn1HVugzlm8q98ulMdhn0BDI3XZdD3ErUdUe4kk4y2Ak9E0dtzVjC51JLw==",
"dependencies": {
"@craftjs/utils": "^0.2.5",
"debounce": "^1.2.0",
"lodash": "^4.17.21",
"tiny-invariant": "^1.0.6"
},
"peerDependencies": {
"react": "^16.8.0 || ^17 || ^18 || ^19"
}
},
"node_modules/@craftjs/utils": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/@craftjs/utils/-/utils-0.2.5.tgz",
"integrity": "sha512-ANzAkGmQBe6fi7F2x6dhiN2hN9yBDfW+mQ2XJv8bJMIx+0h5Kbv04U4WXaFfMhjcC7DzfPnGkdg7/9gFkd5qVA==",
"dependencies": {
"immer": "^9.0.6",
"lodash": "^4.17.21",
"nanoid": "^3.1.23",
"shallowequal": "^1.1.0",
"tiny-invariant": "^1.0.6"
},
"peerDependencies": {
"react": "^16.8.0 || ^17 || ^18 || ^19"
}
},
"node_modules/@craftjs/utils/node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/@directus/sdk": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/@directus/sdk/-/sdk-17.0.2.tgz",
@@ -4904,6 +4953,11 @@
"url": "https://github.com/sponsors/kossnocorp"
}
},
"node_modules/debounce": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
"integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="
},
"node_modules/debug": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
@@ -5339,6 +5393,11 @@
"node": ">=0.10.0"
}
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-equals": {
"version": "5.3.4",
"resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.4.tgz",
@@ -5911,6 +5970,15 @@
"url": "https://opencollective.com/express"
}
},
"node_modules/immer": {
"version": "9.0.21",
"resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/import-fresh": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
@@ -8298,6 +8366,18 @@
"node": ">=0.10.0"
}
},
"node_modules/react-contenteditable": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/react-contenteditable/-/react-contenteditable-3.3.7.tgz",
"integrity": "sha512-GA9NbC0DkDdpN3iGvib/OMHWTJzDX2cfkgy5Tt98JJAbA3kLnyrNbBIpsSpPpq7T8d3scD39DHP+j8mAM7BIfQ==",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"prop-types": "^15.7.1"
},
"peerDependencies": {
"react": ">=16.3"
}
},
"node_modules/react-day-picker": {
"version": "8.10.1",
"resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz",
@@ -9054,6 +9134,11 @@
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"node_modules/shallowequal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
},
"node_modules/sharp": {
"version": "0.33.5",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",

View File

@@ -15,6 +15,8 @@
"@astrojs/tailwind": "^5.1.0",
"@bull-board/api": "^6.15.0",
"@bull-board/express": "^6.15.0",
"@craftjs/core": "^0.2.12",
"@craftjs/utils": "^0.2.5",
"@directus/sdk": "^17.0.0",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
@@ -44,6 +46,7 @@
"lucide-react": "^0.346.0",
"nanoid": "^5.0.5",
"react": "^18.3.1",
"react-contenteditable": "^3.3.7",
"react-diff-viewer-continued": "^3.4.0",
"react-dom": "^18.3.1",
"react-flow-renderer": "^10.3.17",