From 34324361a39bd52911f8b859ca0cae3198abf80f Mon Sep 17 00:00:00 2001 From: ghaddaditw <40211818-ghaddaditw@users.noreply.replit.com> Date: Fri, 30 May 2025 17:37:08 +0000 Subject: [PATCH] Add command palette and voice controls to make the task manager easier to use Implement CommandPalette component and integrate voice control context into DashboardPage. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 556aa286-edd2-4cea-8583-f4fc3cfd119b Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/81470e0d-8ae8-4335-9301-cd9a69e670fa/6009c02a-0a60-49de-bce6-3126cf528401.jpg --- client/src/pages/DashboardPage.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/src/pages/DashboardPage.tsx b/client/src/pages/DashboardPage.tsx index deaec20..e959276 100644 --- a/client/src/pages/DashboardPage.tsx +++ b/client/src/pages/DashboardPage.tsx @@ -1,6 +1,6 @@ import { useAuth } from "@/hooks/useAuth"; import { useLocation } from "wouter"; -import { useEffect } from "react"; +import { useEffect, useState } from "react"; import Header from "@/components/layout/Header"; import Sidebar from "@/components/layout/Sidebar"; import TaskList from "@/components/tasks/TaskList"; @@ -8,6 +8,9 @@ import FinancialOverview from "@/components/financial/FinancialOverview"; import VoiceRecorder from "@/components/voice/VoiceRecorder"; import VoiceIndicator from "@/components/voice/VoiceIndicator"; import DailyJoke from "@/components/ai/DailyJoke"; +import { CommandPalette } from "@/components/CommandPalette"; +import { useVoiceContext } from "@/context/VoiceProvider"; +import { useNotifications } from "@/context/NotificationProvider"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; @@ -24,6 +27,9 @@ import { export default function DashboardPage() { const { user, isLoading } = useAuth(); const [, setLocation] = useLocation(); + const [commandPaletteOpen, setCommandPaletteOpen] = useState(false); + const { isListening, speak } = useVoiceContext(); + const { unreadCount } = useNotifications(); useEffect(() => { if (!isLoading && !user) {