react-native-country-flag
Version:
This is a React-Native package to display every 254 Country flags with the ISO 3166-1 alpha-2 Standard!
30 lines (29 loc) • 1.42 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var react_native_1 = require("react-native");
var FLAG_CDN_URL = "https://flagcdn.com/w80/";
var FORMAT = ".png";
var CountryFlag = function (_a) {
var isoCode = _a.isoCode, size = _a.size, style = _a.style, flags = _a.flags;
return (react_1.default.createElement(react_native_1.Image, { source: { uri: FLAG_CDN_URL + isoCode.toLocaleLowerCase() + FORMAT }, style: [{ width: size * 1.6, height: size }, style] }));
// TODO: Still in progress (probely available in v2.1)
// This switch case is just there because you can't name variables "in" and "do"
// switch (isoCode.toLowerCase()) {
// case "in":
// return <Image source={flag["ind"]} style={[{ width: size * 1.6, height: size }, style]} />;
// break;
// case "do":
// return <Image source={flag["dom"]} style={[{ width: size * 1.6, height: size }, style]} />;
// break;
// default:
// return (
// <Image source={(flag as any)[isoCode.toLowerCase()]} style={[{ width: size * 1.6, height: size }, style]} />
// );
// break;
// }
};
exports.default = CountryFlag;
;