Files
Wand-Enhancer/web-panel/src/trainer/ui/CategoryIcon.tsx
T
kitbyte a0b3968d33 refactor(web-panel): update architecture + cheat i18n
Reorganize the panel around product capabilities and integrate the
remote i18n feature from origin/master into the new structure.

- Restructure src into capability features (app, trainer, library,
  remote-session, appearance, shared); move the bridge to bridge/src.
- Add lingui-based UI localization and wrap remaining user-facing
  strings (Trans / msg macros); fix the 'END В·' mojibake.
- Port WeMod cheat-metadata i18n: capture the access token from the
  snapshot's renderer in the bridge and fetch localized trainer_meta
  in remote-session.i18n; guarantee snapshot sync on token failure.
- Wire vitest to the app's lingui/preact pipeline (mergeConfig).
2026-06-15 00:10:49 +03:00

26 lines
677 B
TypeScript

import { Icon, type IconName } from '@/shared/ui/Icon';
const CATEGORY_ICONS: Record<string, IconName> = {
challenge: 'flame',
character: 'user',
cheats: 'sparkles',
crafting: 'hammer',
enemies: 'heart-broken',
game: 'gamepad',
inventory: 'backpack',
items: 'package',
physics: 'atom',
pinned: 'bolt',
player: 'user',
resources: 'box',
stats: 'chart',
teleport: 'map-pin',
vehicles: 'car',
weapons: 'swords',
world: 'world',
};
export function CategoryIcon({ category, className }: { category: string; className?: string }) {
return <Icon className={className} name={CATEGORY_ICONS[category.toLowerCase()] ?? 'gamepad'} stroke={1.8} />;
}