feat: Move dynamic canvas to /dynamic/canvas route
Separates dynamic canvas from homepage to avoid conflicts with default canvas. - Changed route from /dynamic-canvas to /dynamic/canvas - Added toolbar button for quick access to dynamic canvas - Updated navigate_to tool with dynamic-canvas option
This commit is contained in:
@@ -49,6 +49,14 @@ onMounted(() => {
|
|||||||
</svg>
|
</svg>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
||||||
|
<RouterLink to="/dynamic/canvas" class="toolbar-btn" :class="{ active: route.path === '/dynamic/canvas' }" title="Dynamic Canvas">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||||
|
<rect x="3" y="3" width="18" height="18" rx="2"/>
|
||||||
|
<path d="M3 9h18"/>
|
||||||
|
<path d="M9 21V9"/>
|
||||||
|
</svg>
|
||||||
|
</RouterLink>
|
||||||
|
|
||||||
<!-- Canvas dinamicos de la toolbar -->
|
<!-- Canvas dinamicos de la toolbar -->
|
||||||
<RouterLink
|
<RouterLink
|
||||||
v-for="canvas in projectCanvasStore.toolbarCanvases"
|
v-for="canvas in projectCanvasStore.toolbarCanvases"
|
||||||
@@ -110,6 +118,13 @@ onMounted(() => {
|
|||||||
<polyline points="8 6 2 12 8 18"/>
|
<polyline points="8 6 2 12 8 18"/>
|
||||||
</svg>
|
</svg>
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
|
|
||||||
|
<RouterLink to="/terminal" class="toolbar-btn" :class="{ active: route.path === '/terminal' }" title="Terminal">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||||
|
<polyline points="4 17 10 11 4 5"/>
|
||||||
|
<line x1="12" y1="19" x2="20" y2="19"/>
|
||||||
|
</svg>
|
||||||
|
</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="toolbar-divider"></div>
|
<div class="toolbar-divider"></div>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const router = createRouter({
|
|||||||
component: () => import('../pages/HomePage.vue')
|
component: () => import('../pages/HomePage.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/dynamic-canvas',
|
path: '/dynamic/canvas',
|
||||||
name: 'canvas',
|
name: 'canvas',
|
||||||
component: () => import('../pages/CanvasPage.vue')
|
component: () => import('../pages/CanvasPage.vue')
|
||||||
},
|
},
|
||||||
@@ -43,6 +43,11 @@ const router = createRouter({
|
|||||||
path: '/source',
|
path: '/source',
|
||||||
name: 'source',
|
name: 'source',
|
||||||
component: () => import('../pages/SourceCodePage.vue')
|
component: () => import('../pages/SourceCodePage.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/terminal',
|
||||||
|
name: 'terminal',
|
||||||
|
component: () => import('../pages/TerminalPage.vue')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ export function registerGlobalTools() {
|
|||||||
properties: {
|
properties: {
|
||||||
page: {
|
page: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: ['canvas', 'components', 'themes'],
|
enum: ['canvas', 'dynamic-canvas', 'components', 'themes'],
|
||||||
description: 'Página a la que navegar'
|
description: 'Página a la que navegar'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -65,13 +65,14 @@ export function registerGlobalTools() {
|
|||||||
|
|
||||||
const routes: Record<string, string> = {
|
const routes: Record<string, string> = {
|
||||||
canvas: '/',
|
canvas: '/',
|
||||||
|
'dynamic-canvas': '/dynamic/canvas',
|
||||||
components: '/components',
|
components: '/components',
|
||||||
themes: '/themes'
|
themes: '/themes'
|
||||||
}
|
}
|
||||||
|
|
||||||
const path = routes[args.page]
|
const path = routes[args.page]
|
||||||
if (!path) {
|
if (!path) {
|
||||||
return `Error: Página "${args.page}" no válida. Opciones: canvas, components, themes`
|
return `Error: Página "${args.page}" no válida. Opciones: canvas, dynamic-canvas, components, themes`
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user