Sharkey/src/client/app/mobile/views/widgets/profile.vue

71 lines
1.3 KiB
Vue
Raw Normal View History

2018-02-23 23:29:21 +02:00
<template>
<div class="mkw-profile">
<mk-widget-container>
<div :class="$style.banner"
2018-03-29 08:48:47 +03:00
:style="os.i.bannerUrl ? `background-image: url(${os.i.bannerUrl}?thumbnail&size=256)` : ''"
2018-02-23 23:29:21 +02:00
></div>
<img :class="$style.avatar"
2018-03-29 08:48:47 +03:00
:src="`${os.i.avatarUrl}?thumbnail&size=96`"
2018-02-23 23:29:21 +02:00
alt="avatar"
/>
2018-04-05 19:36:34 +03:00
<router-link :class="$style.name" :to="`/@${os.i.username}`">{{ name }}</router-link>
2018-02-23 23:29:21 +02:00
</mk-widget-container>
</div>
</template>
<script lang="ts">
2018-02-24 17:18:09 +02:00
import define from '../../../common/define-widget';
2018-04-05 19:36:34 +03:00
import getUserName from '../../../../../renderers/get-user-name';
2018-02-23 23:29:21 +02:00
export default define({
name: 'profile'
2018-04-05 19:36:34 +03:00
}).extend({
computed: {
name() {
return getUserName(this.os.i);
}
}
2018-02-23 23:29:21 +02:00
});
</script>
<style lang="stylus" module>
.banner
height 100px
background-color #f5f5f5
background-size cover
background-position center
cursor pointer
.banner:before
content ""
display block
width 100%
height 100%
background rgba(0, 0, 0, 0.5)
.avatar
display block
position absolute
width 58px
height 58px
margin 0
vertical-align bottom
top ((100px - 58px) / 2)
left ((100px - 58px) / 2)
border none
border-radius 100%
box-shadow 0 0 16px rgba(0, 0, 0, 0.5)
.name
display block
position absolute
top 0
left 92px
margin 0
line-height 100px
color #fff
font-weight bold
text-shadow 0 0 8px rgba(0, 0, 0, 0.5)
</style>