feat: Add anonymous dynamic canvas option to gallery

This commit is contained in:
2026-02-15 02:05:47 -06:00
parent d5ee533db9
commit 8154bac63f
4 changed files with 30 additions and 2 deletions

View File

@@ -39,10 +39,17 @@ function handleLoadComponent(e: Event) {
function handleContentRendered() {
showGallery.value = false
canvasStore.isAnonymousCanvas = false
}
function handleStartAnonymous() {
showGallery.value = false
canvasStore.isAnonymousCanvas = true
}
function handleClearCanvas() {
showGallery.value = true
canvasStore.isAnonymousCanvas = false
const container = document.getElementById('canvas-content')
if (container) {
// Remove all non-gallery content
@@ -72,7 +79,7 @@ onUnmounted(() => {
<div class="canvas-container">
<div id="canvas-content" class="canvas-content">
<div v-if="showGallery" class="canvas-placeholder">
<CanvasGallery @snapshot-restored="showGallery = false" @component-loaded="showGallery = false" />
<CanvasGallery @snapshot-restored="showGallery = false" @component-loaded="showGallery = false" @start-anonymous="handleStartAnonymous" />
</div>
</div>
</div>

View File

@@ -14,6 +14,7 @@ import { useCanvasStore } from '../stores/canvas'
const emit = defineEmits<{
(e: 'snapshot-restored'): void
(e: 'component-loaded'): void
(e: 'start-anonymous'): void
}>()
const router = useRouter()
@@ -223,6 +224,19 @@ onMounted(() => {
<template v-else>
<!-- Project Canvases -->
<div class="gallery-grid">
<!-- Anonymous dynamic canvas card -->
<div class="canvas-card new-card anon-card" @click="emit('start-anonymous')">
<div class="card-icon new-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
<rect x="3" y="3" width="18" height="18" rx="2"/>
<path d="M3 9h18"/>
</svg>
</div>
<div class="card-content">
<div class="card-name">Dynamic Canvas</div>
</div>
</div>
<!-- New canvas card -->
<div class="canvas-card new-card" @click="showNewForm = true" v-if="!showNewForm">
<div class="card-icon new-icon">