import React from 'react'; type BannerProps = { kind?: 'error' | 'info' | 'success'; children: React.ReactNode; }; const styles = { error: 'bg-red-50 text-red-800 border-red-200', info: 'bg-sky-50 text-sky-800 border-sky-200', success: 'bg-green-50 text-green-800 border-green-200', }; export const Banner: React.FC = ({ kind = 'info', children }) => (
{children}
); export const PageHeader: React.FC<{ title: string; subtitle?: string; icon?: React.ReactNode; actions?: React.ReactNode; }> = ({ title, subtitle, icon, actions }) => (
{icon && (
{icon}
)}

{title}

{subtitle &&

{subtitle}

}
{actions}
); export const Spinner: React.FC = () => (
Memuat...
); export const EmptyFarm: React.FC<{ onSettings: () => void }> = ({ onSettings }) => ( Pilih site, kandang, dan siklus di header. GM mendaftarkan site di{' '} ; BUH melihat rollup site dari GM yang dikelola. );