refactor: implement view mode toggle using Alpine.js for draft/published states

This commit is contained in:
2025-11-24 18:33:00 +02:00
parent d08f995feb
commit edcbf0ed2b
5 changed files with 47 additions and 42 deletions

View File

@@ -196,7 +196,7 @@
<div class="resize-handle" id="resize-handle-1"></div>
<!-- Editor Panel -->
<div class="panel editor-panel" id="editor-panel">
<div class="panel editor-panel" id="editor-panel" x-data>
<div class="panel-header">
<span>Editor</span>
<div class="editor-controls">
@@ -205,8 +205,16 @@
<button class="btn btn-action revert" id="revert-btn" title="Discard draft and revert to published version">Revert</button>
<span class="view-label">View:</span>
<div class="view-toggle-group">
<button class="btn btn-toggle active" id="view-draft" title="View and edit draft version">Draft</button>
<button class="btn btn-toggle" id="view-published" title="View published version (read-only if draft exists)">Published</button>
<button class="btn btn-toggle"
id="view-draft"
:class="{ 'active': $store.snippets.viewMode === 'draft' }"
@click="$store.snippets.viewMode = 'draft'; switchViewMode('draft')"
title="View and edit draft version">Draft</button>
<button class="btn btn-toggle"
id="view-published"
:class="{ 'active': $store.snippets.viewMode === 'published' }"
@click="$store.snippets.viewMode = 'published'; switchViewMode('published')"
title="View published version (read-only if draft exists)">Published</button>
</div>
</div>
</div>