'use client' import { useState, useEffect } from 'react' import Link from 'next/link' import { PenSquare, RefreshCw } from 'lucide-react' import { Button } from '@/components/ui/button' import { FolderList, FolderInfo } from '@/components/email/folder-list' export default function EmailLayout({ children, }: { children: React.ReactNode }) { const [folders, setFolders] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) async function loadFolders() { setLoading(true) setError(null) try { const res = await fetch('/api/email/folders') if (!res.ok) { const data = await res.json() throw new Error(data.error || 'Failed to load folders') } const data = await res.json() setFolders(data) } catch (err) { setError(err instanceof Error ? err.message : 'Failed to load folders') } finally { setLoading(false) } } useEffect(() => { loadFolders() }, []) return (
{/* Folder sidebar */}
{/* Main content */}
{children}
) }