wip: clip
This commit is contained in:
parent
f0d0a1546a
commit
cac99ebdd4
|
@ -4,6 +4,9 @@
|
|||
<div class="description" v-if="clip.description">
|
||||
<Mfm :text="clip.description" :is-note="false" :i="$store.state.i"/>
|
||||
</div>
|
||||
<div class="user">
|
||||
<MkAvatar :user="clip.user" class="avatar"/> <MkUserName :user="clip.user" :nowrap="false"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<XNotes class="_content _vMargin" :pagination="pagination" :detail="true"/>
|
||||
|
@ -135,5 +138,17 @@ export default defineComponent({
|
|||
> .description {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
> .user {
|
||||
$height: 32px;
|
||||
padding: 16px;
|
||||
border-top: solid 1px var(--divider);
|
||||
line-height: $height;
|
||||
|
||||
> .avatar {
|
||||
width: $height;
|
||||
height: $height;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,6 +2,8 @@ import { EntityRepository, Repository } from 'typeorm';
|
|||
import { Clip } from '../entities/clip';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
import { SchemaType } from '../../misc/schema';
|
||||
import { Users } from '..';
|
||||
import { awaitAll } from '../../prelude/await-all';
|
||||
|
||||
export type PackedClip = SchemaType<typeof packedClipSchema>;
|
||||
|
||||
|
@ -12,14 +14,15 @@ export class ClipRepository extends Repository<Clip> {
|
|||
): Promise<PackedClip> {
|
||||
const clip = typeof src === 'object' ? src : await this.findOne(src).then(ensure);
|
||||
|
||||
return {
|
||||
return await awaitAll({
|
||||
id: clip.id,
|
||||
createdAt: clip.createdAt.toISOString(),
|
||||
userId: clip.userId,
|
||||
user: Users.pack(clip.user || clip.userId),
|
||||
name: clip.name,
|
||||
description: clip.description,
|
||||
isPublic: clip.isPublic,
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,6 +48,11 @@ export const packedClipSchema = {
|
|||
optional: false as const, nullable: false as const,
|
||||
format: 'id',
|
||||
},
|
||||
user: {
|
||||
type: 'object' as const,
|
||||
ref: 'User',
|
||||
optional: false as const, nullable: false as const,
|
||||
},
|
||||
name: {
|
||||
type: 'string' as const,
|
||||
optional: false as const, nullable: false as const,
|
||||
|
|
Loading…
Reference in New Issue