import React from 'react'; import Button from './Button'; import { ArrowLeftIcon, ArrowRightIcon } from './icons'; // Assuming these are added to icons.tsx interface NavigableItem { id: string; title: string; } interface ItemDetailNavigationProps { previousItem?: NavigableItem; nextItem?: NavigableItem; onNavigate: (itemId: string) => void; previousItemButtonLabel: string; nextItemButtonLabel: string; noPreviousItemText: string; noNextItemText: string; themeColorClass?: 'blue' | 'teal' | 'indigo' | 'amber' | 'slate'; } const ItemDetailNavigation: React.FC = ({ previousItem, nextItem, onNavigate, previousItemButtonLabel, nextItemButtonLabel, noPreviousItemText, noNextItemText, themeColorClass = 'slate', // Default theme }) => { const themeStyles: Record = { blue: 'border-blue-500 text-blue-600 hover:bg-blue-50', teal: 'border-teal-500 text-teal-600 hover:bg-teal-50', indigo: 'border-indigo-500 text-indigo-600 hover:bg-indigo-50', amber: 'border-amber-500 text-amber-600 hover:bg-amber-50', slate: 'border-slate-400 text-slate-700 hover:bg-slate-100', } const buttonBaseClasses = themeStyles[themeColorClass] || themeStyles.slate; const disabledClasses = "opacity-50 cursor-not-allowed"; return (
{previousItem ? ( ) : (
{noPreviousItemText}
)} {nextItem ? ( ) : (
{noNextItemText}
)}
); }; export default ItemDetailNavigation;