diff --git a/website/client/components/memberDetails.vue b/website/client/components/memberDetails.vue
index bd5bcd27e1..9a016666a4 100644
--- a/website/client/components/memberDetails.vue
+++ b/website/client/components/memberDetails.vue
@@ -23,21 +23,31 @@
span.mr-1(v-if="member.auth && member.auth.local && member.auth.local.username") @{{ member.auth.local.username }}
span.mr-1(v-if="member.auth && member.auth.local && member.auth.local.username") •
span {{ characterLevel }}
- .progress-container(v-b-tooltip.hover.bottom="$t('health')")
- .svg-icon(v-html="icons.health")
- .progress
- .progress-bar.bg-health(:style="{width: `${percent(member.stats.hp, MAX_HEALTH)}%`}")
- span.small-text {{member.stats.hp | statFloor}} / {{MAX_HEALTH}}
- .progress-container(v-b-tooltip.hover.bottom="$t('experience')")
- .svg-icon(v-html="icons.experience")
- .progress
- .progress-bar.bg-experience(:style="{width: `${percent(member.stats.exp, toNextLevel)}%`}")
- span.small-text {{member.stats.exp | statFloor}} / {{toNextLevel}}
- .progress-container(v-if="hasClass", v-b-tooltip.hover.bottom="$t('mana')")
- .svg-icon(v-html="icons.mana")
- .progress
- .progress-bar.bg-mana(:style="{width: `${percent(member.stats.mp, maxMP)}%`}")
- span.small-text {{member.stats.mp | statFloor}} / {{maxMP}}
+ stats-bar(
+ :icon="icons.health",
+ :value="member.stats.hp",
+ :maxValue="MAX_HEALTH",
+ :tooltip="$t('health')",
+ progressClass="bg-health",
+ :condensed="condensed"
+ )
+ stats-bar(
+ :icon="icons.experience",
+ :value="member.stats.exp",
+ :maxValue="toNextLevel",
+ :tooltip="$t('experience')",
+ progressClass="bg-experience",
+ :condensed="condensed"
+ )
+ stats-bar(
+ v-if="hasClass",
+ :icon="icons.mana",
+ :value="member.stats.mp",
+ :maxValue="maxMP",
+ :tooltip="$t('mana')",
+ progressClass="bg-mana",
+ :condensed="condensed"
+ )
@@ -190,6 +143,7 @@ import Avatar from './avatar';
import ClassBadge from './members/classBadge';
import { mapState } from 'client/libs/store';
import Profile from './userMenu/profile';
+import StatsBar from './ui/statsbar';
import { toNextLevel } from '../../common/script/statHelpers';
import statsComputed from '../../common/script/libs/statsComputed';
@@ -205,9 +159,7 @@ export default {
Avatar,
Profile,
ClassBadge,
- },
- directives: {
- // bTooltip,
+ StatsBar,
},
props: {
member: {
diff --git a/website/client/components/ui/statsbar.vue b/website/client/components/ui/statsbar.vue
new file mode 100644
index 0000000000..dc7ddb37c0
--- /dev/null
+++ b/website/client/components/ui/statsbar.vue
@@ -0,0 +1,126 @@
+
+ .progress-container(ref="container", :id="elementId", :class="{condensed}")
+ .svg-icon(v-html="icon")
+ .progress
+ .progress-bar(:class="progressClass", :style="{width: `${percent(value, maxValue)}%`}")
+ span.small-text {{value | statFloor}} / {{maxValue}}
+ b-tooltip.myClass(:target="() => $refs.container", :container="elementId", :title="tooltip", triggers="hover", placement="bottom")
+
+
+
+
+
diff --git a/website/client/components/userMenu/profile.vue b/website/client/components/userMenu/profile.vue
index 9f3de16db0..e66208d0d8 100644
--- a/website/client/components/userMenu/profile.vue
+++ b/website/client/components/userMenu/profile.vue
@@ -324,6 +324,7 @@
}
.progress-container > .progress {
+ border-radius: 1px;
background-color: $gray-500;
}
}
@@ -371,8 +372,10 @@
.progress {
height: 8px;
+ border-radius: 1px;
.progress-bar {
+ border-radius: 1px;
background-color: $green-10 !important;
}
}