From c66bbfa3797045520b4a594001a0c1675b711f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Thu, 5 Mar 2026 00:54:45 +0000 Subject: [PATCH] add dictate and download video toolbar buttons, reorder context menu Co-Authored-By: Claude Opus 4.6 --- .../FileBrowserApp/components/FileItem.tsx | 88 +++++++++---------- .../components/Toolbar/Toolbar.tsx | 34 +++++-- 2 files changed, 70 insertions(+), 52 deletions(-) diff --git a/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/FileItem.tsx b/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/FileItem.tsx index aab4945e..4a7230d8 100644 --- a/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/FileItem.tsx +++ b/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/FileItem.tsx @@ -118,6 +118,8 @@ const DropdownMenuItems = ({ const showExtract = fileType === 'archive'; const showPlay = fileType === 'audio' || entry.type === 'directory'; + const hasActions = showPlay || showReadAloud || showOcr || showTranscribe || showExtractAudio || showExtract || matchingTasks.length > 0; + return ( <> {showPlay && ( @@ -126,18 +128,6 @@ const DropdownMenuItems = ({ Play )} - onChat(entry)} className="cursor-pointer"> - - Chat... - - onCopyPath(entry)} className="cursor-pointer"> - - Copy path - - onDownload(entry)} className="cursor-pointer"> - - Download - {showReadAloud && ( onReadAloud(entry)} className="cursor-pointer"> @@ -183,16 +173,7 @@ const DropdownMenuItems = ({ )} - {entry.type === 'directory' && ( - <> - - onCreateDashboard(entry)} className="cursor-pointer"> - - Create Dashboard here - - - )} - + {hasActions && } Cut @@ -207,6 +188,25 @@ const DropdownMenuItems = ({ Rename )} + onCopyPath(entry)} className="cursor-pointer"> + + Copy path + + onDownload(entry)} className="cursor-pointer"> + + Download + + + onChat(entry)} className="cursor-pointer"> + + Chat... + + {entry.type === 'directory' && ( + onCreateDashboard(entry)} className="cursor-pointer"> + + Create Dashboard here + + )} onDelete(entry)} className="text-red-600 cursor-pointer"> @@ -244,6 +244,8 @@ const ContextMenuItems = ({ const showExtract = fileType === 'archive'; const showPlay = fileType === 'audio' || entry.type === 'directory'; + const hasActions = showPlay || showReadAloud || showOcr || showTranscribe || showExtractAudio || showExtract || matchingTasks.length > 0; + return ( <> {showPlay && ( @@ -252,18 +254,6 @@ const ContextMenuItems = ({ Play )} - onChat(entry)} className="cursor-pointer"> - - Chat... - - onCopyPath(entry)} className="cursor-pointer"> - - Copy path - - onDownload(entry)} className="cursor-pointer"> - - Download - {showReadAloud && ( onReadAloud(entry)} className="cursor-pointer"> @@ -309,16 +299,7 @@ const ContextMenuItems = ({ )} - {entry.type === 'directory' && ( - <> - - onCreateDashboard(entry)} className="cursor-pointer"> - - Create Dashboard here - - - )} - + {hasActions && } Cut @@ -333,6 +314,25 @@ const ContextMenuItems = ({ Rename )} + onCopyPath(entry)} className="cursor-pointer"> + + Copy path + + onDownload(entry)} className="cursor-pointer"> + + Download + + + onChat(entry)} className="cursor-pointer"> + + Chat... + + {entry.type === 'directory' && ( + onCreateDashboard(entry)} className="cursor-pointer"> + + Create Dashboard here + + )} onDelete(entry)} className="text-red-600 cursor-pointer"> diff --git a/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/Toolbar/Toolbar.tsx b/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/Toolbar/Toolbar.tsx index ce552785..ee7e52ba 100644 --- a/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/Toolbar/Toolbar.tsx +++ b/src/workspaces/officerdev/src/apps/FileBrowser/FileBrowserApp/components/Toolbar/Toolbar.tsx @@ -1,4 +1,4 @@ -import { Loader2, LayoutGrid, List, Search, X, Check, GitBranch, Eye, EyeOff } from 'lucide-react'; +import { Loader2, LayoutGrid, List, Search, X, Check, GitBranch, Eye, EyeOff, Download, Mic } from 'lucide-react'; import type { UseFileBrowserAppType } from '../../useFileBrowserApp'; import { ActionButtons } from './ActionButtons'; @@ -21,6 +21,8 @@ export const Toolbar = ({ fileBrowserManager }: ToolbarProps) => { setShowHidden, viewMode, setViewMode, + setShowVideoDownload, + setShowDictate, } = fileBrowserManager; return ( @@ -71,13 +73,29 @@ export const Toolbar = ({ fileBrowserManager }: ToolbarProps) => { ) : ( - + <> + + + + )}