// DashboardView Component // Home dashboard with stats and quick actions function DashboardView({ token, t, settings, updateSettings, updateMultipleSettings, setActiveTab, setActionParams }) { const [stats, setStats] = useState(null); const [loading, setLoading] = useState(true); const [quickActions, setQuickActions] = useState(() => { const saved = localStorage.getItem('quickActions'); return saved ? JSON.parse(saved) : []; }); useEffect(() => { fetchDashboard(); }, []); const fetchDashboard = async () => { try { const response = await fetch(API_URL + '/dashboard', { headers: { 'Authorization': `Bearer ${token}` } }); const data = await response.json(); setStats(data); } catch (err) { console.error(err); } finally { setLoading(false); } }; const removeQuickAction = (toolId) => { const updated = quickActions.filter(qa => qa.id !== toolId); setQuickActions(updated); localStorage.setItem('quickActions', JSON.stringify(updated)); }; if (loading) return
{t('common.loading') || "Loading your dashboard..."}
; return (

{t('common.welcome') || (stats?.greeting || 'Welcome')}!

{stats?.total_notes || 0}
{t('dashboard.totalNotes')}
{stats?.active_goals || 0}
{t('dashboard.activeGoals')}

{t('dashboard.quickActions')}

{/* Default Quick Actions */} {/* User-added Tools Quick Actions */} {quickActions.map(tool => (
{ setActiveTab('tools'); setTimeout(() => { setActionParams({ openTool: tool.id }); }, 100); }} onMouseEnter={(e) => { e.currentTarget.style.transform = 'translateY(-2px)'; e.currentTarget.style.borderColor = 'var(--primary)'; }} onMouseLeave={(e) => { e.currentTarget.style.transform = 'translateY(0)'; e.currentTarget.style.borderColor = 'var(--primary-light)'; }} > {/* Remove button */}
{tool.icon}
{tool.name}
))}
); } // Export to global scope window.DashboardView = DashboardView;