import AbilityIcon from "components/common/AbilityIcon"; import GearImage from "components/common/GearImage"; import WeaponImage from "components/common/WeaponImage"; import Image from "next/image"; import { abilityMarkdownCodes } from "utils/lists/abilityMarkdownCodes"; import { gearMarkdownCodes } from "utils/lists/gearMarkdownCodes"; import { codeToWeapon } from "utils/lists/weaponCodes"; import { subSpecialWeaponMarkdownCodes } from "utils/lists/subSpecialWeaponMarkdownCodes"; const modeCodes: Record = { turf_war: "TW", splat_zones: "SZ", tower_control: "TC", rainmaker: "RM", clam_blitz: "CB", } as const; interface EmojiProps { value: string; } const Emoji: React.FC = (props) => { const value = props.value.replace(/:/g, "").toLowerCase(); //TODO: inline removed : make sure emojis blend in with the text const keyWeapon = value as keyof typeof codeToWeapon; const weaponName = codeToWeapon[keyWeapon]; if (!!weaponName) return ; const keyAbility = value as keyof typeof abilityMarkdownCodes; const abilityName = abilityMarkdownCodes[keyAbility]; if (!!abilityName) return ; const keyGear = value as keyof typeof gearMarkdownCodes; const gearName = gearMarkdownCodes[keyGear]; if (!!gearName) return ; const keySubSpecial = value as keyof typeof subSpecialWeaponMarkdownCodes; const subSpecialWeapon = subSpecialWeaponMarkdownCodes[keySubSpecial]; if (!!subSpecialWeapon) return ( {`Sub ); const modeCode = modeCodes[value]; if (!!modeCode) return ( {`Mode ); return <>{props.value}; }; export default Emoji;