feat: process now button

This commit is contained in:
Leon
2025-07-16 18:20:21 +02:00
parent ad0d71cd2e
commit 0e19af170d
10 changed files with 238 additions and 28 deletions

View File

@@ -1,6 +1,10 @@
"use client"
import { Button } from "@/components/ui/button"
import { Plus, Settings } from "lucide-react"
import { processEmails } from "@/lib/api"
import { Mail, Plus, Settings } from "lucide-react"
import Image from "next/image"
import { toast } from "sonner"
interface HeaderProps {
onOpenAddNewsletter: () => void
@@ -8,13 +12,35 @@ interface HeaderProps {
}
export function Header({ onOpenAddNewsletter, onOpenSettings }: HeaderProps) {
const handleProcessEmails = async () => {
try {
await processEmails()
toast.success("Email processing started successfully!")
} catch (error) {
const message =
error instanceof Error
? error.message
: "An unexpected error occurred."
console.error(error)
toast.error(message)
}
}
return (
<div className="flex items-center justify-between mb-8">
<div className="flex items-center gap-4">
<Image src="/logo.png" alt="LetterFeed Logo" width={48} height={48} className="rounded-lg" />
<Image
src="/logo.png"
alt="LetterFeed Logo"
width={48}
height={48}
className="rounded-lg"
/>
<div>
<h1 className="text-3xl font-bold text-gray-900">LetterFeed</h1>
<p className="text-gray-600 mt-1">Read your newsletters as RSS feeds!</p>
<p className="text-gray-600 mt-1">
Read your newsletters as RSS feeds!
</p>
</div>
</div>
@@ -24,6 +50,11 @@ export function Header({ onOpenAddNewsletter, onOpenSettings }: HeaderProps) {
Add Newsletter
</Button>
<Button variant="outline" onClick={handleProcessEmails}>
<Mail className="w-4 h-4 mr-2" />
Process Now
</Button>
<Button variant="outline" onClick={onOpenSettings}>
<Settings className="w-4 h-4 mr-2" />
Settings