Merge pull request #74 from dderbentsov/new_avatar

New Avatar
This commit is contained in:
Kirill Andrusyak
2022-10-27 18:27:27 +03:00
committed by GitHub
4 changed files with 64 additions and 6 deletions

View File

@@ -1,7 +1,8 @@
<template lang="pug">
.change-person-wrapper(:class="openOptions")
.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 }}
.dot.mr-4
.icon-wrapper.icon-down-arrow.flex.items-center.justify-center.text-xxs.cursor-pointer(@click="changeState")
@@ -18,8 +19,10 @@
</template>
<script>
import BaseAvatar from "@/components/base/BaseAvatar";
export default {
name: "HeaderActiveClientPanel",
components: { BaseAvatar },
props: {
info: Object,
},

View File

@@ -10,7 +10,8 @@
button.header-buttons.flex.justify-center.items-center.mr-8.p-0
.icon-bell.text-xxl
.flex.justify-centflexer.items-center
img.avatar-img.mr-2(:src="avatarSrc")
BaseAvatar(:size="32").mr-2
img(:src="avatarSrc")
button.header-buttons
.icon-down-arrow.text-xxs.flex.justify-center.items-center.p-0
</template>
@@ -20,9 +21,10 @@ import img from "@/assets/images/avatar.svg";
import chargePersonAvatar from "@/assets/images/charge-person-avatar.svg";
import HeaderInputs from "./HeaderInputs.vue";
import HeaderAddClientButton from "./HeaderAddClientButton.vue";
import BaseAvatar from "@/components/base/BaseAvatar";
export default {
name: "TheHeader",
components: { HeaderInputs, HeaderAddClientButton },
components: { HeaderInputs, HeaderAddClientButton, BaseAvatar },
data() {
return {
avatarSrc: img,

View 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>

View File

@@ -1,16 +1,16 @@
<template lang="pug">
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(:style="{ minWidth : width + 'px' }")
.flex.avatar.justify-center.items-center
span {{avatar}}
BaseAvatar(:size="36") {{avatar}}
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
base-input(v-if="isOpenChange" type="text" v-model:value="value.fullName" :width-input="300")
</template>
<script>
import BaseInput from "@/components/base/BaseInput";
import BaseAvatar from "@/components/base/BaseAvatar";
export default {
name: "TableCellBodyName",
components: { BaseInput },
components: { BaseAvatar, BaseInput },
props: {
value: Object,
avatar: String,