61 lines
980 B
TypeScript
61 lines
980 B
TypeScript
import type { SongInfo } from '$lib/odesliResponse';
|
|
|
|
export interface TimelineEvent {
|
|
event: string;
|
|
payload: string;
|
|
}
|
|
|
|
export interface Post {
|
|
id: string;
|
|
created_at: string;
|
|
tags: Tag[];
|
|
url: string;
|
|
content: string;
|
|
account: Account;
|
|
card?: PreviewCard;
|
|
songs?: SongInfo[];
|
|
}
|
|
|
|
export interface PreviewCard {
|
|
url: string;
|
|
title: string;
|
|
image?: string;
|
|
blurhash?: string;
|
|
width: number;
|
|
height: number;
|
|
}
|
|
|
|
export interface Tag {
|
|
name: string;
|
|
url: string;
|
|
}
|
|
|
|
export interface Account {
|
|
id: string;
|
|
acct: string;
|
|
username: string;
|
|
display_name: string;
|
|
url: string;
|
|
avatar: string;
|
|
resizedAvatars?: AccountAvatar[];
|
|
}
|
|
|
|
export type AccountAvatar = {
|
|
accountUrl: string;
|
|
file: string;
|
|
sizeDescriptor: string;
|
|
};
|
|
|
|
export enum SongThumbnailImageKind {
|
|
Big = 1,
|
|
Small,
|
|
Blurred
|
|
}
|
|
|
|
export type SongThumbnailImage = {
|
|
songThumbnailUrl: string;
|
|
file: string;
|
|
sizeDescriptor: string;
|
|
kind: SongThumbnailImageKind;
|
|
};
|