Files
hedena_gold/apps/admin-panel/src/components/icons.ts
T

82 lines
2.2 KiB
TypeScript
Raw Normal View History

2026-10-15 17:19:10 +03:30
// Shared legacy-Feather-name -> ant-design-vue icon map.
//
// Originally lived only inside TooltipBtn.vue (row-action icons). Extracted
// here so the sidebar (navMenuItems.ts icon: values) can resolve the SAME
// names through the SAME map instead of duplicating it — one source of
// truth for "legacy Feather icon name" -> "ant component" across the app.
import {
AppstoreOutlined,
BarChartOutlined,
BellOutlined,
BlockOutlined,
BookOutlined,
CameraOutlined,
CheckOutlined,
CloseOutlined,
CreditCardOutlined,
DeleteOutlined,
DollarOutlined,
EditOutlined,
EyeOutlined,
FileOutlined,
FileTextOutlined,
GiftOutlined,
HomeOutlined,
InboxOutlined,
MailOutlined,
MessageOutlined,
PercentageOutlined,
PlusOutlined,
SettingOutlined,
ShoppingOutlined,
StopOutlined,
TeamOutlined,
UnorderedListOutlined,
UserAddOutlined,
UserOutlined,
} from '@ant-design/icons-vue';
/** legacy Feather name -> ant component. */
export const ICONS: Record<string, unknown> = {
// row-action icons (TooltipBtn.vue's original set)
ListIcon: UnorderedListOutlined,
FileIcon: FileOutlined,
TrashIcon: DeleteOutlined,
EditIcon: EditOutlined,
CheckIcon: CheckOutlined,
CameraIcon: CameraOutlined,
EyeIcon: EyeOutlined,
PlusIcon: PlusOutlined,
XIcon: CloseOutlined,
FileTextIcon: FileTextOutlined,
// sidebar icons (navMenuItems.ts), added when the sidebar started
// rendering them for the first time
HomeIcon: HomeOutlined,
PackageIcon: InboxOutlined,
UserIcon: UserOutlined,
UsersIcon: TeamOutlined,
UserPlusIcon: UserAddOutlined,
ShoppingBagIcon: ShoppingOutlined,
BoxIcon: InboxOutlined,
GridIcon: AppstoreOutlined,
LayersIcon: BlockOutlined,
CreditCardIcon: CreditCardOutlined,
DollarSignIcon: DollarOutlined,
PercentIcon: PercentageOutlined,
GiftIcon: GiftOutlined,
SlashIcon: StopOutlined,
BookIcon: BookOutlined,
MessageSquareIcon: MessageOutlined,
MailIcon: MailOutlined,
BellIcon: BellOutlined,
BarChartIcon: BarChartOutlined,
SettingsIcon: SettingOutlined,
InboxIcon: InboxOutlined,
};
export function resolveIcon(name: string | undefined): unknown | undefined {
if (!name) return undefined;
return ICONS[name];
}