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
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { useAuth } from "@/hooks/useAuth";
|
import { useAuth } from "@/hooks/useAuth";
|
||||||
import { useLocation } from "wouter";
|
import { useLocation } from "wouter";
|
||||||
import { useEffect } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import Header from "@/components/layout/Header";
|
import Header from "@/components/layout/Header";
|
||||||
import Sidebar from "@/components/layout/Sidebar";
|
import Sidebar from "@/components/layout/Sidebar";
|
||||||
import TaskList from "@/components/tasks/TaskList";
|
import TaskList from "@/components/tasks/TaskList";
|
||||||
@@ -8,6 +8,9 @@ import FinancialOverview from "@/components/financial/FinancialOverview";
|
|||||||
import VoiceRecorder from "@/components/voice/VoiceRecorder";
|
import VoiceRecorder from "@/components/voice/VoiceRecorder";
|
||||||
import VoiceIndicator from "@/components/voice/VoiceIndicator";
|
import VoiceIndicator from "@/components/voice/VoiceIndicator";
|
||||||
import DailyJoke from "@/components/ai/DailyJoke";
|
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 { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
@@ -24,6 +27,9 @@ import {
|
|||||||
export default function DashboardPage() {
|
export default function DashboardPage() {
|
||||||
const { user, isLoading } = useAuth();
|
const { user, isLoading } = useAuth();
|
||||||
const [, setLocation] = useLocation();
|
const [, setLocation] = useLocation();
|
||||||
|
const [commandPaletteOpen, setCommandPaletteOpen] = useState(false);
|
||||||
|
const { isListening, speak } = useVoiceContext();
|
||||||
|
const { unreadCount } = useNotifications();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isLoading && !user) {
|
if (!isLoading && !user) {
|
||||||
|
|||||||
Reference in New Issue
Block a user