diff --git a/components/canvas/canvas-area.tsx b/components/canvas/canvas-area.tsx index 8dade97e..7d13d7e4 100644 --- a/components/canvas/canvas-area.tsx +++ b/components/canvas/canvas-area.tsx @@ -37,6 +37,8 @@ export function CanvasArea({ onNextSlide, onPlayPause, onWhiteboardClose, + isPresenting, + onTogglePresentation, showStopDiscussion, onStopDiscussion, hideToolbar, @@ -246,6 +248,8 @@ export function CanvasArea({ onNextSlide={onNextSlide} onPlayPause={onPlayPause} onWhiteboardClose={onWhiteboardClose} + isPresenting={isPresenting} + onTogglePresentation={onTogglePresentation} showStopDiscussion={showStopDiscussion} onStopDiscussion={onStopDiscussion} /> diff --git a/components/canvas/canvas-toolbar.tsx b/components/canvas/canvas-toolbar.tsx index bf4db9f4..b0c7b50d 100644 --- a/components/canvas/canvas-toolbar.tsx +++ b/components/canvas/canvas-toolbar.tsx @@ -13,6 +13,8 @@ import { Volume2, VolumeX, Repeat, + Maximize2, + Minimize2, } from 'lucide-react'; import { cn } from '@/lib/utils'; import { useStageStore } from '@/lib/store'; @@ -35,6 +37,8 @@ export interface CanvasToolbarProps { readonly onWhiteboardClose: () => void; readonly showStopDiscussion?: boolean; readonly onStopDiscussion?: () => void; + readonly isPresenting?: boolean; + readonly onTogglePresentation?: () => void; readonly className?: string; // Audio/playback controls readonly ttsEnabled?: boolean; @@ -92,6 +96,8 @@ export function CanvasToolbar({ onWhiteboardClose, showStopDiscussion, onStopDiscussion, + isPresenting, + onTogglePresentation, className, ttsEnabled, ttsMuted, @@ -131,6 +137,7 @@ export function CanvasToolbar({ // Effective volume for display const effectiveVolume = ttsMuted ? 0 : ttsVolume; + const presentationLabel = isPresenting ? t('stage.exitFullscreen') : t('stage.fullscreen'); return (
@@ -382,6 +389,26 @@ export function CanvasToolbar({ {/* ── Right: chat toggle ── */}
+ {onTogglePresentation && ( + + )} {onToggleChat && (