mirror of
https://github.com/khoaliber/LetterFeed.git
synced 2026-03-06 21:29:13 +00:00
feat: process now button
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user