All files / src/components/FlagIcon FlagIcon.tsx

100% Statements 2/2
100% Branches 2/2
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35              2x                             20x                        
import { type CSSProperties } from 'react';
import fr from "../../assets/flags/FR.svg";
import us from "../../assets/flags/US.svg";
import de from "../../assets/flags/DE.svg";
 
export type CountryCode = 'FR' | 'US' | 'DE';
 
const FLAG_MAP: Record<CountryCode, string> = {
  FR: fr,
  US: us,
  DE: de,
};
 
interface FlagIconProps {
  code: CountryCode;
  width?: number;
  height?: number;
  className?: string;
  style?: CSSProperties;
}
 
function FlagIcon({ code, width = 24, height = 16, className, style }: FlagIconProps) {
  return (
    <img
      src={FLAG_MAP[code]}
      width={width}
      height={height}
      alt={`Flag ${code}`}
      className={className}
      style={style}
    />
  );
}
 
export default FlagIcon;