rn-inkpad
Version:
<img src="https://res.cloudinary.com/fercloudinary/image/upload/v1715452841/packages/inkpad-banner_acl0xl.png" />
37 lines (36 loc) • 1.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Rating = void 0;
const react_1 = __importDefault(require("react"));
const react_native_1 = require("react-native");
const __1 = require("..");
const Rating = ({ color = '#FFD700', icon = 'star', rating = 3, size = 35, style, total = 5, }) => {
if (rating > total) {
rating = total;
}
const icons = [];
for (let index = 0; index < total; index++) {
if (index <= rating - 1) {
icons.push(icon);
}
else {
icons.push(`${icon}-outline`);
}
}
if (rating.toString().includes('.')) {
icons[icons.indexOf(`${icon}-outline`)] = `${icon}-half`;
}
return (<react_native_1.View style={style}>
<react_native_1.View style={{
flexDirection: 'row',
justifyContent: 'space-between',
width: '100%',
}}>
{icons.map((name, idx) => (<__1.Icon name={name} size={size} color={color} key={idx}/>))}
</react_native_1.View>
</react_native_1.View>);
};
exports.Rating = Rating;