fix(knowledges): make the Plain/Visual toggle reachable on a new document

The Plain/Visual DropdownMenuItem sat inside the `canShowActions` (!isNew)
block, and the dropdown trigger itself was gated the same way, so a brand-new
knowledge doc was locked to the visual editor until first save — inconsistent
with templates, where the toggle is outside that gate. Move the toggle out of
`canShowActions` (Rename/Delete still require a saved doc) and show the trigger
whenever a toggle handler is supplied.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Sergey Kozyrenko
2026-06-30 21:47:36 +07:00
co-authored by Claude Opus 4.8
parent 501473ba5a
commit 2ee3d6ecf9
@@ -214,7 +214,7 @@ export function KnowledgeHeader({
/>
)}
{saveButton}
{(canShowActions || (isMobile && canAnonymize)) && (
{(canShowActions || (isMobile && canAnonymize) || !!onToggleViewMode) && (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button
@@ -249,7 +249,7 @@ export function KnowledgeHeader({
</>
)}
</DropdownMenuItem>
{canShowActions && <DropdownMenuSeparator />}
{(canShowActions || onToggleViewMode) && <DropdownMenuSeparator />}
</>
)}
{isMobile && knowledgeNav.total > 0 && (
@@ -271,22 +271,23 @@ export function KnowledgeHeader({
<DropdownMenuSeparator />
</>
)}
{onToggleViewMode ? (
<DropdownMenuItem onClick={onToggleViewMode}>
{viewMode === 'plain' ? (
<Eye className="size-4" />
) : (
<Code className="size-4" />
)}
{viewMode === 'plain' ? 'Visual editor' : 'Plain text'}
</DropdownMenuItem>
) : null}
{canShowActions && (
<>
{onToggleViewMode ? <DropdownMenuSeparator /> : null}
<DropdownMenuItem onClick={handleRenameStart}>
<Pencil className="size-3" />
Rename
</DropdownMenuItem>
{onToggleViewMode ? (
<DropdownMenuItem onClick={onToggleViewMode}>
{viewMode === 'plain' ? (
<Eye className="size-4" />
) : (
<Code className="size-4" />
)}
{viewMode === 'plain' ? 'Visual editor' : 'Plain text'}
</DropdownMenuItem>
) : null}
<DropdownMenuSeparator />
<DropdownMenuItem
disabled={isDeleting}