1
0
mirror of https://github.com/lexogrine/cs2-react-hud.git synced 2026-05-04 12:13:11 +02:00

Updated setup to vite and moved to hooks instead of class

This commit is contained in:
Hubert Walczak
2023-11-02 12:11:03 +01:00
parent 44f173f23c
commit f88baa5fc9
90 changed files with 7411 additions and 2706 deletions
+22 -16
View File
@@ -1,19 +1,25 @@
import React from 'react';
import * as Weapons from './../../assets/Weapons';
import React from "react";
import * as Weapons from "./../../assets/Weapons";
interface IProps extends React.SVGProps<SVGSVGElement> {
weapon: string,
active: boolean,
isGrenade?: boolean
weapon: string;
active: boolean;
isGrenade?: boolean;
}
export default class WeaponImage extends React.Component<IProps> {
render() {
const { weapon, active, isGrenade, ...rest } = this.props;
const Weapon = (Weapons as any)[weapon];
const { className, ...svgProps } = rest;
if(!Weapon) return null;
return (
<Weapon fill="white" className={`${active ? 'active':''} weapon ${isGrenade ? 'grenade' : ''} ${className || ''}`} {...svgProps} />
);
}
}
const WeaponImage = ({ weapon, active, isGrenade, ...rest }: IProps) => {
const weaponId = weapon.replace("weapon_", "");
const Weapon = (Weapons as any)[weaponId];
const { className, ...svgProps } = rest;
if (!Weapon) return null;
return (
<Weapon
fill="white"
className={`${active ? "active" : ""} weapon ${
isGrenade ? "grenade" : ""
} ${className || ""}`}
{...svgProps}
/>
);
};
export default React.memo(WeaponImage);