import {
  Icon,
  IconBriefcase,
  IconBuilding,
  IconBus,
  IconCalendar,
  IconClock,
  IconCoin,
  IconCreditCard,
  IconDeviceLaptop,
  IconFileText,
  IconFlower,
  IconGlobe,
  IconHanger,
  IconHeadset,
  IconHeart,
  IconHeartbeat,
  IconHelpCircle,
  IconHome,
  IconId,
  IconInfoCircle,
  IconLock,
  IconMessageCircle,
  IconRefresh,
  IconShoppingBag,
  IconShoppingCart,
  IconStar,
  IconTools,
  IconUsers,
  IconWifi,
  IconTool,
} from '@tabler/icons-react-native';
import {ServiceManagementCategoryIcon} from '@modules/serviceManagement/interfaces';

interface Props {
  category: ServiceManagementCategoryIcon;
}

const CATEGORY_ICONS: Record<ServiceManagementCategoryIcon, Icon> = {
  [ServiceManagementCategoryIcon.Payments]: IconCreditCard,
  [ServiceManagementCategoryIcon.Timer]: IconClock,
  [ServiceManagementCategoryIcon.Checkroom]: IconHanger,
  [ServiceManagementCategoryIcon.Badge]: IconId,
  [ServiceManagementCategoryIcon.Work]: IconBriefcase,
  [ServiceManagementCategoryIcon.Help]: IconHelpCircle,
  [ServiceManagementCategoryIcon.Forum]: IconMessageCircle,
  [ServiceManagementCategoryIcon.Bussiness]: IconBuilding,
  [ServiceManagementCategoryIcon.Shopping]: IconShoppingBag,
  [ServiceManagementCategoryIcon.Group]: IconUsers,
  [ServiceManagementCategoryIcon.Description]: IconFileText,
  [ServiceManagementCategoryIcon.Health]: IconHeartbeat,
  [ServiceManagementCategoryIcon.Spa]: IconFlower,
  [ServiceManagementCategoryIcon.Global]: IconGlobe,
  [ServiceManagementCategoryIcon.Premium]: IconStar,
  [ServiceManagementCategoryIcon.Commute]: IconHome,
  [ServiceManagementCategoryIcon.Hardware]: IconTools,
  [ServiceManagementCategoryIcon.Computer]: IconDeviceLaptop,
  [ServiceManagementCategoryIcon.Home]: IconHome,
  [ServiceManagementCategoryIcon.Money]: IconCoin,
  [ServiceManagementCategoryIcon.Bus]: IconBus,
  [ServiceManagementCategoryIcon.Update]: IconRefresh,
  [ServiceManagementCategoryIcon.Grocery]: IconShoppingCart,
  [ServiceManagementCategoryIcon.Calendar]: IconCalendar,
  [ServiceManagementCategoryIcon.Heart]: IconHeart,
  [ServiceManagementCategoryIcon.Lock]: IconLock,
  [ServiceManagementCategoryIcon.Wifi]: IconWifi,
  [ServiceManagementCategoryIcon.Support]: IconHeadset,
  [ServiceManagementCategoryIcon.Info]: IconInfoCircle,
  [ServiceManagementCategoryIcon.Repair]: IconTool,
};

function ServiceManagementCategoryIconComponent({category}: Props) {
  return CATEGORY_ICONS[category] || IconHelpCircle;
}

export default ServiceManagementCategoryIconComponent;
