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;
};