From e02a518583474c7972ed36dcff4de56eb9f5fae4 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Sun, 2 Nov 2025 19:04:29 -0800 Subject: [PATCH] reorganize --- .../audio-player/engine/web-player-engine.tsx | 2 +- .../player}/audio-player/index.tsx | 0 .../player}/audio-player/listener/player-events.tsx | 0 .../audio-player/listener/use-player-events.ts | 2 +- .../player}/audio-player/types.ts | 0 .../player}/audio-player/utils/list-handlers.ts | 0 .../player}/audio-player/web-player.tsx | 13 ++++++++----- .../player}/context/player-context.tsx | 3 +-- 8 files changed, 11 insertions(+), 9 deletions(-) rename src/renderer/{components => features/player}/audio-player/engine/web-player-engine.tsx (98%) rename src/renderer/{components => features/player}/audio-player/index.tsx (100%) rename src/renderer/{components => features/player}/audio-player/listener/player-events.tsx (100%) rename src/renderer/{components => features/player}/audio-player/listener/use-player-events.ts (84%) rename src/renderer/{components => features/player}/audio-player/types.ts (100%) rename src/renderer/{components => features/player}/audio-player/utils/list-handlers.ts (100%) rename src/renderer/{components => features/player}/audio-player/web-player.tsx (96%) rename src/renderer/{ => features/player}/context/player-context.tsx (97%) diff --git a/src/renderer/components/audio-player/engine/web-player-engine.tsx b/src/renderer/features/player/audio-player/engine/web-player-engine.tsx similarity index 98% rename from src/renderer/components/audio-player/engine/web-player-engine.tsx rename to src/renderer/features/player/audio-player/engine/web-player-engine.tsx index 63f10d7f2..3f36f182c 100644 --- a/src/renderer/components/audio-player/engine/web-player-engine.tsx +++ b/src/renderer/features/player/audio-player/engine/web-player-engine.tsx @@ -3,7 +3,7 @@ import type { RefObject } from 'react'; import { useImperativeHandle, useRef, useState } from 'react'; import ReactPlayer from 'react-player'; -import { AudioPlayer } from '/@/renderer/components/audio-player/types'; +import { AudioPlayer } from '/@/renderer/features/player/audio-player/types'; import { PlayerStatus } from '/@/shared/types/types'; export interface OnProgressProps { diff --git a/src/renderer/components/audio-player/index.tsx b/src/renderer/features/player/audio-player/index.tsx similarity index 100% rename from src/renderer/components/audio-player/index.tsx rename to src/renderer/features/player/audio-player/index.tsx diff --git a/src/renderer/components/audio-player/listener/player-events.tsx b/src/renderer/features/player/audio-player/listener/player-events.tsx similarity index 100% rename from src/renderer/components/audio-player/listener/player-events.tsx rename to src/renderer/features/player/audio-player/listener/player-events.tsx diff --git a/src/renderer/components/audio-player/listener/use-player-events.ts b/src/renderer/features/player/audio-player/listener/use-player-events.ts similarity index 84% rename from src/renderer/components/audio-player/listener/use-player-events.ts rename to src/renderer/features/player/audio-player/listener/use-player-events.ts index 2cc6d57cc..758686bbb 100644 --- a/src/renderer/components/audio-player/listener/use-player-events.ts +++ b/src/renderer/features/player/audio-player/listener/use-player-events.ts @@ -3,7 +3,7 @@ import { useEffect } from 'react'; import { createPlayerEvents, PlayerEventsCallbacks, -} from '/@/renderer/components/audio-player/listener/player-events'; +} from '/@/renderer/features/player/audio-player/listener/player-events'; export function usePlayerEvents(callbacks: PlayerEventsCallbacks, deps: React.DependencyList) { useEffect(() => { diff --git a/src/renderer/components/audio-player/types.ts b/src/renderer/features/player/audio-player/types.ts similarity index 100% rename from src/renderer/components/audio-player/types.ts rename to src/renderer/features/player/audio-player/types.ts diff --git a/src/renderer/components/audio-player/utils/list-handlers.ts b/src/renderer/features/player/audio-player/utils/list-handlers.ts similarity index 100% rename from src/renderer/components/audio-player/utils/list-handlers.ts rename to src/renderer/features/player/audio-player/utils/list-handlers.ts diff --git a/src/renderer/components/audio-player/web-player.tsx b/src/renderer/features/player/audio-player/web-player.tsx similarity index 96% rename from src/renderer/components/audio-player/web-player.tsx rename to src/renderer/features/player/audio-player/web-player.tsx index c749be186..0c691d11b 100644 --- a/src/renderer/components/audio-player/web-player.tsx +++ b/src/renderer/features/player/audio-player/web-player.tsx @@ -6,7 +6,7 @@ import { OnProgressProps } from 'react-player/base'; import { WebPlayerEngine, WebPlayerEngineHandle } from './engine/web-player-engine'; -import { usePlayerEvents } from '/@/renderer/components/audio-player/listener/use-player-events'; +import { usePlayerEvents } from '/@/renderer/features/player/audio-player/listener/use-player-events'; import { usePlayerActions, usePlayerData, @@ -19,7 +19,7 @@ import { PlayerStatus, PlayerStyle } from '/@/shared/types/types'; const PLAY_PAUSE_FADE_DURATION = 300; const PLAY_PAUSE_FADE_INTERVAL = 10; -export function AudiolingWebPlayer() { +export function WebPlayer() { const playerRef = useRef(null); const { player, player1, player2 } = usePlayerData(); const { mediaAutoNext, setProgress } = usePlayerActions(); @@ -178,21 +178,24 @@ export function AudiolingWebPlayer() { usePlayerEvents( { - onPlayerSeekToTimestamp: (timestamp) => { + onPlayerSeekToTimestamp: (properties) => { + const timestamp = properties.timestamp; if (player.playerNum === 1) { playerRef.current?.player1()?.ref?.seekTo(timestamp); } else { playerRef.current?.player2()?.ref?.seekTo(timestamp); } }, - onPlayerStatus: async (status) => { + onPlayerStatus: async (properties) => { + const status = properties.status; if (status === PlayerStatus.PAUSED) { fadeAndSetStatus(volume, 0, PLAY_PAUSE_FADE_DURATION, PlayerStatus.PAUSED); } else if (status === PlayerStatus.PLAYING) { fadeAndSetStatus(0, volume, PLAY_PAUSE_FADE_DURATION, PlayerStatus.PLAYING); } }, - onPlayerVolume: (volume) => { + onPlayerVolume: (properties) => { + const volume = properties.volume; playerRef.current?.setVolume(volume); }, }, diff --git a/src/renderer/context/player-context.tsx b/src/renderer/features/player/context/player-context.tsx similarity index 97% rename from src/renderer/context/player-context.tsx rename to src/renderer/features/player/context/player-context.tsx index 2f3d3aa51..5d7fe1ae0 100644 --- a/src/renderer/context/player-context.tsx +++ b/src/renderer/features/player/context/player-context.tsx @@ -1,8 +1,7 @@ import { createContext, useCallback, useMemo } from 'react'; -import { Song } from 'src/main/features/core/lyrics/netease'; import { AddToQueueType } from '/@/renderer/store'; -import { LibraryItem, QueueSong } from '/@/shared/types/domain-types'; +import { LibraryItem, QueueSong, Song } from '/@/shared/types/domain-types'; interface PlayerContext { addToQueueByData: (data: Song[], type: AddToQueueType) => void;