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>
|
||||
</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 -->
|
||||
<RouterLink
|
||||
v-for="canvas in projectCanvasStore.toolbarCanvases"
|
||||
@@ -110,6 +118,13 @@ onMounted(() => {
|
||||
<polyline points="8 6 2 12 8 18"/>
|
||||
</svg>
|
||||
</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 class="toolbar-divider"></div>
|
||||
|
||||
@@ -9,7 +9,7 @@ const router = createRouter({
|
||||
component: () => import('../pages/HomePage.vue')
|
||||
},
|
||||
{
|
||||
path: '/dynamic-canvas',
|
||||
path: '/dynamic/canvas',
|
||||
name: 'canvas',
|
||||
component: () => import('../pages/CanvasPage.vue')
|
||||
},
|
||||
@@ -43,6 +43,11 @@ const router = createRouter({
|
||||
path: '/source',
|
||||
name: 'source',
|
||||
component: () => import('../pages/SourceCodePage.vue')
|
||||
},
|
||||
{
|
||||
path: '/terminal',
|
||||
name: 'terminal',
|
||||
component: () => import('../pages/TerminalPage.vue')
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
@@ -52,7 +52,7 @@ export function registerGlobalTools() {
|
||||
properties: {
|
||||
page: {
|
||||
type: 'string',
|
||||
enum: ['canvas', 'components', 'themes'],
|
||||
enum: ['canvas', 'dynamic-canvas', 'components', 'themes'],
|
||||
description: 'Página a la que navegar'
|
||||
}
|
||||
},
|
||||
@@ -65,13 +65,14 @@ export function registerGlobalTools() {
|
||||
|
||||
const routes: Record<string, string> = {
|
||||
canvas: '/',
|
||||
'dynamic-canvas': '/dynamic/canvas',
|
||||
components: '/components',
|
||||
themes: '/themes'
|
||||
}
|
||||
|
||||
const path = routes[args.page]
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user