import { View, StyleSheet, ViewStyle } from 'react-native';
import React from 'react';
import DotText from './DotText';
export type Dotsize = 4 | 8 | 12 | 26;
type Prop = {
size: Dotsize;
color: string;
style?: ViewStyle;
show?: boolean;
value?: number;
showNumber?: boolean;
};
const getColor = ({ show, dotColor }: { show: boolean; dotColor: string }) => {
if (!show) return 'transparent';
return dotColor;
};
const getFontSize = (size: Dotsize) => {
if (size === 26) return 18;
if (size === 12) return 10;
return 4;
};
function SvgDot({ size, color, style, show = true, value, showNumber }: Prop) {
const styles = StyleSheet.create({
container: {
backgroundColor: getColor({ show, dotColor: color }),
borderRadius: size / 2,
alignItems: 'center',
justifyContent: 'center',
},
fixedHeightWidth: {
height: size,
width: size,
},
flexibleHeightWidth: {
minHeight: size,
minWidth: size,
},
});
if (typeof value !== 'undefined' && showNumber) {
if (value === 0) return null;
return (
);
}
return ;
}
SvgDot.defaultProps = {
style: {},
show: true,
value: undefined,
};
export default SvgDot;
SvgDot.defaultProps = {
showNumber: true,
};