diff --git a/webapp/src/routes/BlockProducers/BlockProducerProfile.js b/webapp/src/routes/BlockProducers/BlockProducerProfile.js
index cb7734e4..d8b630d0 100644
--- a/webapp/src/routes/BlockProducers/BlockProducerProfile.js
+++ b/webapp/src/routes/BlockProducers/BlockProducerProfile.js
@@ -115,7 +115,9 @@ const BlockProducerProfile = () => {
bpRated = rate
}
})
+
setMyRating(bpRated?.ratings)
+
const userDataSet = getBPRadarData({
colorString: 'myRate',
name: t('myRate'),
@@ -168,6 +170,12 @@ const BlockProducerProfile = () => {
({ owner }) => owner === account
)
+ if (!bp) {
+ await setProducer(account)
+
+ return
+ }
+
setProducer(bp, true)
setProfileData(bp)
@@ -181,7 +189,7 @@ const BlockProducerProfile = () => {
}, [account])
useEffect(() => {
- if (!state.blockProducer || !state.user) return
+ if (!state.blockProducer) return
setProfileData(state?.blockProducer)
}, [state.blockProducer, state.user])
@@ -301,8 +309,14 @@ const BlockProducerProfile = () => {
rows={[
{
rater: t('myRate'),
- amount: 1,
- average: getMyRatingAverage(myRating)
+ amount: isRated ? 1 : 0,
+ average: getMyRatingAverage({
+ community: myRating?.community,
+ development: myRating?.development,
+ infrastructure: myRating?.infrastructure,
+ transparency: myRating?.transparency,
+ trustiness: myRating?.trustiness
+ })
},
{
rater: t('eosRates'),
diff --git a/webapp/src/routes/BlockProducers/BlockProducerRate.js b/webapp/src/routes/BlockProducers/BlockProducerRate.js
index bf8f7848..8cc74e8c 100644
--- a/webapp/src/routes/BlockProducers/BlockProducerRate.js
+++ b/webapp/src/routes/BlockProducers/BlockProducerRate.js
@@ -52,7 +52,14 @@ const Alert = forwardRef(function Alert(props, ref) {
return
})
-const RadarSection = ({ t, state, myRating, polarChartData, classes }) => (
+const RadarSection = ({
+ t,
+ state,
+ myRating,
+ polarChartData,
+ classes,
+ isRated
+}) => (
<>
@@ -62,7 +69,7 @@ const RadarSection = ({ t, state, myRating, polarChartData, classes }) => (
rows={[
{
rater: t('myRate'),
- amount: 1,
+ amount: isRated ? 1 : 0,
average: getMyRatingAverage({
community: myRating.community,
development: myRating.development,
@@ -100,7 +107,8 @@ RadarSection.propTypes = {
state: PropTypes.object,
myRating: PropTypes.object,
polarChartData: PropTypes.array,
- classes: PropTypes.object
+ classes: PropTypes.object,
+ isRated: PropTypes.bool
}
const BlockProducerRate = () => {
@@ -114,7 +122,7 @@ const BlockProducerRate = () => {
{ setProducer, setLastTransaction, handleMutationInsertUserRating }
] = useSharedState()
const [ratingState, setRatingState] = useState(initialRatingState)
- const [isRated, setIsRated] = useState(true)
+ const [isRated, setIsRated] = useState(false)
const [blockProducerLogo, setBlockProducerLogo] = useState(null)
const [blockProducerTitle, setBlockProducerTitle] = useState('No Title')
const [polarChartData, setPolarChartData] = useState([])
@@ -476,6 +484,7 @@ const BlockProducerRate = () => {
state={state}
myRating={myRating}
polarChartData={polarChartData}
+ isRated={isRated}
classes={classes}
/>
@@ -573,6 +582,7 @@ const BlockProducerRate = () => {
t={t}
myRating={myRating}
state={state}
+ isRated={isRated}
polarChartData={polarChartData}
/>
diff --git a/webapp/src/utils/get-my-rating-average.js b/webapp/src/utils/get-my-rating-average.js
index c720d642..d4e4cc54 100644
--- a/webapp/src/utils/get-my-rating-average.js
+++ b/webapp/src/utils/get-my-rating-average.js
@@ -1,4 +1,6 @@
const getMyRatingAverage = myRating => {
+ if (!myRating) return 0
+
const average =
((myRating?.community || 0) +
(myRating?.development || 0) +
@@ -6,6 +8,7 @@ const getMyRatingAverage = myRating => {
(myRating?.transparency || 0) +
(myRating?.trustiness || 0)) /
Object.keys(myRating || {}).length
+
return average
}