planmymeal/app/components/Icons.tsx
Cayden Schwechten c19b910c36 init
2026-10-31 20:44:29 -05:00

58 lines
1.5 KiB
TypeScript

import type { LucideProps } from "lucide-react";
import {
BookHeart,
CookingPot,
CupSoda,
Fish,
Flame,
Heater,
Leaf,
PackageCheck,
Salad,
Soup,
Timer,
Utensils,
Wind,
Zap,
} from "lucide-react";
import type { Appliance, CookingStyle } from "@/app/types";
export function ApplianceIcon({ id, className = "size-4", ...props }: { id: Appliance } & LucideProps) {
const shared = { className, strokeWidth: 1.75, "aria-hidden": true as const, ...props };
switch (id) {
case "stovetop":
return <Flame {...shared} />;
case "oven":
return <Heater {...shared} />;
case "air_fryer":
return <Wind {...shared} />;
case "slow_cooker":
return <Soup {...shared} />;
case "microwave":
return <Zap {...shared} />;
case "blender":
return <CupSoda {...shared} />;
case "rice_cooker":
return <CookingPot {...shared} />;
}
}
export function StyleIcon({ id, className = "size-3.5", ...props }: { id: CookingStyle } & LucideProps) {
const shared = { className, strokeWidth: 1.75, "aria-hidden": true as const, ...props };
switch (id) {
case "caydens_corner":
return <BookHeart {...shared} />;
case "seafood":
return <Fish {...shared} />;
case "quick":
return <Timer {...shared} />;
case "vegetarian":
return <Leaf {...shared} />;
case "healthy":
return <Salad {...shared} />;
case "meal_prep":
return <PackageCheck {...shared} />;
case "comfort":
return <Utensils {...shared} />;
}
}