add avatar to kit
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.change-person-wrapper(:class="openOptions")
|
.change-person-wrapper(:class="openOptions")
|
||||||
.header.flex.items-center.pl-1.pr-2
|
.header.flex.items-center.pl-1.pr-2
|
||||||
img.img-wrapper.mr-2(:src="info.avatarSrc" alt="Charge person avatar")
|
BaseAvatar(:size="32").mr-6px
|
||||||
|
img(:src="info.avatarSrc" alt="Charge person avatar")
|
||||||
span.font-bold.text-sm.mr-6px {{ info.name }}
|
span.font-bold.text-sm.mr-6px {{ info.name }}
|
||||||
.dot.mr-4
|
.dot.mr-4
|
||||||
.icon-wrapper.icon-down-arrow.flex.items-center.justify-center.text-xxs.cursor-pointer(@click="changeState")
|
.icon-wrapper.icon-down-arrow.flex.items-center.justify-center.text-xxs.cursor-pointer(@click="changeState")
|
||||||
@@ -18,8 +19,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||||
export default {
|
export default {
|
||||||
name: "HeaderActiveClientPanel",
|
name: "HeaderActiveClientPanel",
|
||||||
|
components: { BaseAvatar },
|
||||||
props: {
|
props: {
|
||||||
info: Object,
|
info: Object,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
button.header-buttons.flex.justify-center.items-center.mr-8.p-0
|
button.header-buttons.flex.justify-center.items-center.mr-8.p-0
|
||||||
.icon-bell.text-xxl
|
.icon-bell.text-xxl
|
||||||
.flex.justify-centflexer.items-center
|
.flex.justify-centflexer.items-center
|
||||||
img.avatar-img.mr-2(:src="avatarSrc")
|
BaseAvatar(:size="32").mr-2
|
||||||
|
img(:src="avatarSrc")
|
||||||
button.header-buttons
|
button.header-buttons
|
||||||
.icon-down-arrow.text-xxs.flex.justify-center.items-center.p-0
|
.icon-down-arrow.text-xxs.flex.justify-center.items-center.p-0
|
||||||
</template>
|
</template>
|
||||||
@@ -21,9 +22,15 @@ import chargePersonAvatar from "@/assets/images/charge-person-avatar.svg";
|
|||||||
import HeaderInputs from "./HeaderInputs.vue";
|
import HeaderInputs from "./HeaderInputs.vue";
|
||||||
import HeaderActiveClientPanel from "./HeaderActiveClientPanel.vue";
|
import HeaderActiveClientPanel from "./HeaderActiveClientPanel.vue";
|
||||||
import HeaderAddClientButton from "./HeaderAddClientButton.vue";
|
import HeaderAddClientButton from "./HeaderAddClientButton.vue";
|
||||||
|
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||||
export default {
|
export default {
|
||||||
name: "TheHeader",
|
name: "TheHeader",
|
||||||
components: { HeaderInputs, HeaderActiveClientPanel, HeaderAddClientButton },
|
components: {
|
||||||
|
BaseAvatar,
|
||||||
|
HeaderInputs,
|
||||||
|
HeaderActiveClientPanel,
|
||||||
|
HeaderAddClientButton,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
avatarSrc: img,
|
avatarSrc: img,
|
||||||
|
|||||||
53
src/components/base/BaseAvatar.vue
Normal file
53
src/components/base/BaseAvatar.vue
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<template lang="pug">
|
||||||
|
.base-avatar(:style="styles")
|
||||||
|
slot
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "BaseAvatar",
|
||||||
|
props: {
|
||||||
|
size: {
|
||||||
|
type: Number,
|
||||||
|
size: 32,
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
type: String,
|
||||||
|
default: "#D3D4DC",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
styles() {
|
||||||
|
return {
|
||||||
|
width: this.size + "px",
|
||||||
|
height: this.size + "px",
|
||||||
|
minWidth: this.size + "px",
|
||||||
|
backgroundColor: this.color,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="sass">
|
||||||
|
.base-avatar
|
||||||
|
align-items: center
|
||||||
|
border-radius: 50%
|
||||||
|
display: inline-flex
|
||||||
|
justify-content: center
|
||||||
|
line-height: normal
|
||||||
|
position: relative
|
||||||
|
text-align: center
|
||||||
|
vertical-align: middle
|
||||||
|
overflow: hidden
|
||||||
|
color: var(--font-dark-blue-color)
|
||||||
|
text-transform: uppercase
|
||||||
|
|
||||||
|
img,
|
||||||
|
svg
|
||||||
|
border-radius: inherit
|
||||||
|
display: inline-flex
|
||||||
|
height: inherit
|
||||||
|
width: inherit
|
||||||
|
</style>
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(:style="{ minWidth : width + 'px' }")
|
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(:style="{ minWidth : width + 'px' }")
|
||||||
.flex.avatar.justify-center.items-center
|
BaseAvatar(:size="36") {{avatar}}
|
||||||
span {{avatar}}
|
|
||||||
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
|
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
|
||||||
base-input(v-if="isOpenChange" type="text" v-model:value="value.fullName" :width-input="300")
|
base-input(v-if="isOpenChange" type="text" v-model:value="value.fullName" :width-input="300")
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseInput from "@/components/base/BaseInput";
|
import BaseInput from "@/components/base/BaseInput";
|
||||||
|
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||||
export default {
|
export default {
|
||||||
name: "TableCellBodyName",
|
name: "TableCellBodyName",
|
||||||
components: { BaseInput },
|
components: { BaseAvatar, BaseInput },
|
||||||
props: {
|
props: {
|
||||||
value: Object,
|
value: Object,
|
||||||
avatar: String,
|
avatar: String,
|
||||||
|
|||||||
Reference in New Issue
Block a user