feat: Add multi-canvas system with project canvas support
- Add project_canvas and canvas_components tables for persistent canvas storage - Add ProjectCanvas store with full CRUD operations - Add ProjectCanvasPage for rendering saved canvas with components - Add ProjectsPage for managing canvas list (create, clone, delete) - Add HomePage that loads default canvas or falls back to dynamic canvas - Add toolbar support for displaying canvas as pages with custom icons - Add component usage validation to prevent deletion of components in use - Add MCP tools for canvas management (list, create, update, delete, clone) - Update router with /canvas/:id and /projects routes - Update Toolbar to show dynamic canvas pages from database
This commit is contained in:
@@ -10,6 +10,8 @@ import { initToolRegistry, activatePageTools, initToolsOnRefresh } from './servi
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
|
||||
type PageName = 'home' | 'canvas' | 'components' | 'themes' | 'projects' | 'project-canvas'
|
||||
|
||||
onMounted(async () => {
|
||||
// Initialize WebMCP connection
|
||||
await initWebMCP()
|
||||
@@ -19,13 +21,13 @@ onMounted(async () => {
|
||||
|
||||
// Initialize tools for current page (handles refresh)
|
||||
const currentPage = (route.name as string) || 'canvas'
|
||||
initToolsOnRefresh(currentPage as 'canvas' | 'components' | 'themes')
|
||||
initToolsOnRefresh(currentPage as PageName)
|
||||
})
|
||||
|
||||
// Watch for route changes and update tools
|
||||
watch(() => route.name, (newPage) => {
|
||||
if (newPage) {
|
||||
activatePageTools(newPage as 'canvas' | 'components' | 'themes')
|
||||
activatePageTools(newPage as PageName)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user