Skip to main content

Rating

Reusable Rating component

Example​

import {
createStyles,
IStatusState,
Typography,
useStyles,
View,
} from '@/shared/ui';
import Header from '@/shared/ui/Header';
import Rating from '@lad-tech/mobydick-core';

export const RatingWidget = () => {
const [styles] = useStyles(stylesFn);

return (
<View>
<Header title={'Rating'} />
<View style={styles.container}>
<Typography>Style</Typography>
<View style={styles.row}>
<Rating
setCurrentRate={setRate}
count={5}
iconSize={25}
iconStyle={styles.rating}
fillColor={IStatusState.red}
currentRate={rate}
/>
</View>
<Typography>Default</Typography>
<View style={styles.row}>
<Rating setCurrentRate={setRate} count={5} currentRate={rate} />
</View>
</View>
</View>
);
};

const stylesFn = createStyles(({spaces}) => ({
container: {
gap: spaces.Space16,
alignItems: 'center',
},
row: {
flexDirection: 'row',
gap: spaces.Space16,
},
rating: {
margin: spaces.Space1,
},
}));


Props​

Required
count​

TYPE
number

Amount of elements

setCurrentRate​

TYPE
() => void

Return active element

iconSize​

TYPE
number

Star icon Size

fillColor​

TYPE
string

Color for star elements

iconStyle​

TYPE
ViewStyle

Custom styles for icon container

disabled​

TYPE
boolean

Make changing rating disabled

currentRate​

TYPE
number

Initial rating for component