Skip to content
Snippets Groups Projects
Commit cac99ebd authored by syuilo's avatar syuilo
Browse files

wip: clip

parent f0d0a154
No related branches found
No related tags found
No related merge requests found
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment