mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
display username below slug when there is no date-time
This commit is contained in:
parent
d20421cb70
commit
e93332b173
@ -56,13 +56,21 @@ export const user = {
|
|||||||
storiesOf('UserTeaser', module)
|
storiesOf('UserTeaser', module)
|
||||||
.addDecorator(withA11y)
|
.addDecorator(withA11y)
|
||||||
.addDecorator(helpers.layout)
|
.addDecorator(helpers.layout)
|
||||||
.add('available', () => ({
|
.add('user only', () => ({
|
||||||
components: { UserTeaser },
|
components: { UserTeaser },
|
||||||
store: helpers.store,
|
store: helpers.store,
|
||||||
data: () => ({
|
data: () => ({
|
||||||
user,
|
user,
|
||||||
}),
|
}),
|
||||||
template: '<user-teaser :user="user" :trunc="35" :date-time="new Date()" />',
|
template: '<user-teaser :user="user" />',
|
||||||
|
}))
|
||||||
|
.add('with Date', () => ({
|
||||||
|
components: { UserTeaser },
|
||||||
|
store: helpers.store,
|
||||||
|
data: () => ({
|
||||||
|
user,
|
||||||
|
}),
|
||||||
|
template: '<user-teaser :user="user" :date-time="new Date()" />',
|
||||||
}))
|
}))
|
||||||
.add('has edited something', () => ({
|
.add('has edited something', () => ({
|
||||||
components: { UserTeaser },
|
components: { UserTeaser },
|
||||||
@ -71,7 +79,7 @@ storiesOf('UserTeaser', module)
|
|||||||
user,
|
user,
|
||||||
}),
|
}),
|
||||||
template: `
|
template: `
|
||||||
<user-teaser :user="user" :trunc="35" :date-time="new Date()">
|
<user-teaser :user="user" :date-time="new Date()">
|
||||||
<template v-slot:dateTime>
|
<template v-slot:dateTime>
|
||||||
- HEY! I'm edited
|
- HEY! I'm edited
|
||||||
</template>
|
</template>
|
||||||
@ -84,5 +92,5 @@ storiesOf('UserTeaser', module)
|
|||||||
data: () => ({
|
data: () => ({
|
||||||
user: null,
|
user: null,
|
||||||
}),
|
}),
|
||||||
template: '<user-teaser :user="user" :trunc="35" :date-time="new Date()" />',
|
template: '<user-teaser :user="user" :date-time="new Date()" />',
|
||||||
}))
|
}))
|
||||||
|
|||||||
@ -1,9 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="user-teaser" v-if="displayAnonymous">
|
<div class="user-teaser" v-if="displayAnonymous">
|
||||||
<user-avatar v-if="showAvatar" />
|
<user-avatar v-if="showAvatar" />
|
||||||
<span class="username">{{ $t('profile.userAnonym') }}</span>
|
<span class="info anonymous">{{ $t('profile.userAnonym') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<dropdown v-else :class="{ 'disabled-content': user.disabled }" placement="top-start" offset="0">
|
<dropdown
|
||||||
|
v-else
|
||||||
|
:class="[{ 'disabled-content': user.disabled }]"
|
||||||
|
placement="top-start"
|
||||||
|
offset="0"
|
||||||
|
>
|
||||||
<template #default="{ openMenu, closeMenu, isOpen }">
|
<template #default="{ openMenu, closeMenu, isOpen }">
|
||||||
<nuxt-link
|
<nuxt-link
|
||||||
:to="userLink"
|
:to="userLink"
|
||||||
@ -12,18 +17,17 @@
|
|||||||
@mouseleave.native="closeMenu(true)"
|
@mouseleave.native="closeMenu(true)"
|
||||||
>
|
>
|
||||||
<user-avatar v-if="showAvatar" :user="user" size="small" />
|
<user-avatar v-if="showAvatar" :user="user" size="small" />
|
||||||
<div class="user-info">
|
<div class="info">
|
||||||
<span class="user-slug">
|
<span class="text">
|
||||||
{{ userSlug }}
|
<span class="slug">{{ userSlug }}</span>
|
||||||
<span class="username">{{ userName | truncate(18) }}</span>
|
<span v-if="dateTime">{{ userName }}</span>
|
||||||
</span>
|
</span>
|
||||||
<ds-text class="date-time" align="left" size="small" color="soft">
|
<span v-if="dateTime" class="text">
|
||||||
<template v-if="dateTime">
|
|
||||||
<base-icon name="clock" />
|
<base-icon name="clock" />
|
||||||
<hc-relative-date-time :date-time="dateTime" />
|
<hc-relative-date-time :date-time="dateTime" />
|
||||||
<slot name="dateTime"></slot>
|
<slot name="dateTime"></slot>
|
||||||
</template>
|
</span>
|
||||||
</ds-text>
|
<span v-else class="text">{{ userName }}</span>
|
||||||
</div>
|
</div>
|
||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
</template>
|
</template>
|
||||||
@ -104,7 +108,6 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
user: { type: Object, default: null },
|
user: { type: Object, default: null },
|
||||||
showAvatar: { type: Boolean, default: true },
|
showAvatar: { type: Boolean, default: true },
|
||||||
trunc: { type: Number, default: 18 }, // "-1" is no trunc
|
|
||||||
dateTime: { type: [Date, String], default: null },
|
dateTime: { type: [Date, String], default: null },
|
||||||
showPopover: { type: Boolean, default: true },
|
showPopover: { type: Boolean, default: true },
|
||||||
},
|
},
|
||||||
@ -162,27 +165,36 @@ export default {
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
> .user-info {
|
> .info {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
overflow: hidden;
|
padding-left: $space-xx-small;
|
||||||
|
|
||||||
> .ds-text {
|
|
||||||
display: flex;
|
|
||||||
margin: 0 0 $space-xxx-small $space-xx-small;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .user-slug {
|
|
||||||
margin: 0 0 $space-xxx-small $space-xx-small;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
white-space: nowrap;
|
||||||
}
|
|
||||||
.username {
|
|
||||||
color: $text-color-soft;
|
color: $text-color-soft;
|
||||||
font-size: $font-size-small;
|
font-size: $font-size-small;
|
||||||
|
|
||||||
|
&.anonymous {
|
||||||
|
font-size: $font-size-base;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slug {
|
||||||
|
color: $color-primary;
|
||||||
|
font-size: $font-size-base;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
|
> .ds-text {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user