mirror of
https://github.com/antebudimir/feishin.git
synced 2026-01-03 11:21:38 +00:00
restructure files onto electron-vite boilerplate
This commit is contained in:
parent
91ce2cd8a1
commit
1cf587bc8f
457 changed files with 9927 additions and 11705 deletions
|
|
@ -6,34 +6,9 @@ import { create } from 'zustand';
|
|||
import { devtools, persist, subscribeWithSelector } from 'zustand/middleware';
|
||||
import { immer } from 'zustand/middleware/immer';
|
||||
import { shallow } from 'zustand/shallow';
|
||||
import { QueueSong } from '/@/renderer/api/types';
|
||||
import { PlayerStatus, PlayerRepeat, PlayerShuffle, Play } from '/@/renderer/types';
|
||||
|
||||
export interface PlayerState {
|
||||
current: {
|
||||
index: number;
|
||||
nextIndex: number;
|
||||
player: 1 | 2;
|
||||
previousIndex: number;
|
||||
seek: boolean;
|
||||
shuffledIndex: number;
|
||||
song?: QueueSong;
|
||||
status: PlayerStatus;
|
||||
time: number;
|
||||
};
|
||||
fallback: boolean | null;
|
||||
muted: boolean;
|
||||
queue: {
|
||||
default: QueueSong[];
|
||||
previousNode?: QueueSong;
|
||||
shuffled: string[];
|
||||
sorted: QueueSong[];
|
||||
};
|
||||
repeat: PlayerRepeat;
|
||||
shuffle: PlayerShuffle;
|
||||
speed: number;
|
||||
volume: number;
|
||||
}
|
||||
import { QueueSong } from '/@/renderer/api/types';
|
||||
import { Play, PlayerRepeat, PlayerShuffle, PlayerStatus } from '/@/renderer/types';
|
||||
|
||||
export interface PlayerData {
|
||||
current: {
|
||||
|
|
@ -50,13 +25,6 @@ export interface PlayerData {
|
|||
queue: QueueData;
|
||||
}
|
||||
|
||||
export interface QueueData {
|
||||
current?: QueueSong;
|
||||
length: number;
|
||||
next?: QueueSong;
|
||||
previous?: QueueSong;
|
||||
}
|
||||
|
||||
export interface PlayerSlice extends PlayerState {
|
||||
actions: {
|
||||
addToQueue: (args: {
|
||||
|
|
@ -90,7 +58,7 @@ export interface PlayerSlice extends PlayerState {
|
|||
setFallback: (fallback: boolean | null) => boolean;
|
||||
setFavorite: (ids: string[], favorite: boolean) => string[];
|
||||
setMuted: (muted: boolean) => void;
|
||||
setRating: (ids: string[], rating: number | null) => string[];
|
||||
setRating: (ids: string[], rating: null | number) => string[];
|
||||
setRepeat: (type: PlayerRepeat) => PlayerData;
|
||||
setShuffle: (type: PlayerShuffle) => PlayerData;
|
||||
setShuffledIndex: (index: number) => PlayerData;
|
||||
|
|
@ -100,6 +68,39 @@ export interface PlayerSlice extends PlayerState {
|
|||
};
|
||||
}
|
||||
|
||||
export interface PlayerState {
|
||||
current: {
|
||||
index: number;
|
||||
nextIndex: number;
|
||||
player: 1 | 2;
|
||||
previousIndex: number;
|
||||
seek: boolean;
|
||||
shuffledIndex: number;
|
||||
song?: QueueSong;
|
||||
status: PlayerStatus;
|
||||
time: number;
|
||||
};
|
||||
fallback: boolean | null;
|
||||
muted: boolean;
|
||||
queue: {
|
||||
default: QueueSong[];
|
||||
previousNode?: QueueSong;
|
||||
shuffled: string[];
|
||||
sorted: QueueSong[];
|
||||
};
|
||||
repeat: PlayerRepeat;
|
||||
shuffle: PlayerShuffle;
|
||||
speed: number;
|
||||
volume: number;
|
||||
}
|
||||
|
||||
export interface QueueData {
|
||||
current?: QueueSong;
|
||||
length: number;
|
||||
next?: QueueSong;
|
||||
previous?: QueueSong;
|
||||
}
|
||||
|
||||
export const usePlayerStore = create<PlayerSlice>()(
|
||||
subscribeWithSelector(
|
||||
persist(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue