mirror of
https://github.com/tcsenpai/swingmusic.git
synced 2025-07-09 11:10:10 +00:00
138 lines
2.3 KiB
TypeScript
138 lines
2.3 KiB
TypeScript
import { FromOptions, NotifType } from "./composables/enums";
|
|
|
|
export interface AlbumDisc {
|
|
is_album_disc_number?: boolean;
|
|
album_page_disc_number?: number;
|
|
}
|
|
|
|
export interface Track extends AlbumDisc {
|
|
id: string;
|
|
title: string;
|
|
album?: string;
|
|
artist: Artist[];
|
|
albumartist: string;
|
|
albumhash?: string;
|
|
folder?: string;
|
|
filepath?: string;
|
|
duration?: number;
|
|
bitrate: number;
|
|
genre?: string;
|
|
image: string;
|
|
track: number;
|
|
disc: number;
|
|
index: number;
|
|
trackhash: string;
|
|
copyright?: string;
|
|
filetype: string;
|
|
is_favorite: boolean;
|
|
}
|
|
|
|
export interface Folder {
|
|
name: string;
|
|
path: string;
|
|
has_tracks: number;
|
|
subdircount: number;
|
|
is_sym: boolean;
|
|
}
|
|
|
|
export interface Album {
|
|
albumid: string;
|
|
title: string;
|
|
albumartists: Artist[];
|
|
count: number;
|
|
duration: number;
|
|
date: string;
|
|
image: string;
|
|
artistimg: string;
|
|
albumhash: string;
|
|
colors: string[];
|
|
copyright?: string;
|
|
|
|
is_compilation: boolean;
|
|
is_soundtrack: boolean;
|
|
is_single: boolean;
|
|
is_EP: boolean;
|
|
genres: string[];
|
|
}
|
|
|
|
export interface Artist {
|
|
name: string;
|
|
image: string;
|
|
artisthash: string;
|
|
trackcount: number;
|
|
albumcount: number;
|
|
duration: number;
|
|
colors: string[];
|
|
}
|
|
|
|
export interface Option {
|
|
type?: string;
|
|
label?: string;
|
|
action: () => void;
|
|
children?: Option[] | false;
|
|
icon?: string;
|
|
critical?: Boolean;
|
|
}
|
|
|
|
export interface Playlist {
|
|
id: string;
|
|
name: string;
|
|
image: string | FormData;
|
|
tracks: Track[];
|
|
count: number;
|
|
last_updated: string;
|
|
thumb: string;
|
|
duration: number;
|
|
}
|
|
|
|
export interface Notif {
|
|
text: string;
|
|
type: NotifType;
|
|
}
|
|
|
|
export interface fromFolder {
|
|
type: FromOptions.folder;
|
|
path: string;
|
|
name: string;
|
|
}
|
|
export interface fromAlbum {
|
|
type: FromOptions.album;
|
|
name: string;
|
|
albumhash: string;
|
|
}
|
|
export interface fromPlaylist {
|
|
type: FromOptions.playlist;
|
|
name: string;
|
|
id: string;
|
|
}
|
|
|
|
export interface fromSearch {
|
|
type: FromOptions.search;
|
|
query: string;
|
|
}
|
|
|
|
export interface fromArtist {
|
|
type: FromOptions.artist;
|
|
artisthash: string;
|
|
artistname: string;
|
|
}
|
|
|
|
export interface subPath {
|
|
name: string;
|
|
path: string;
|
|
active: boolean;
|
|
}
|
|
|
|
export interface FetchProps {
|
|
url: string;
|
|
props?: {};
|
|
get?: boolean;
|
|
put?: boolean;
|
|
headers?: {};
|
|
}
|
|
|
|
export interface FuseResult {
|
|
item: Track;
|
|
refIndex: number;
|
|
}
|