mirror of
https://github.com/jeffvli/feishin.git
synced 2026-07-21 09:56:43 +02:00
refactor feature hooks to be conditionally initialized
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useCallback, useEffect, useRef, useState } from 'react';
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
|
||||
import { useItemImageUrl } from '/@/renderer/components/item-image/item-image';
|
||||
import { usePlayerEvents } from '/@/renderer/features/player/audio-player/hooks/use-player-events';
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
usePlaybackSettings,
|
||||
usePlayerSong,
|
||||
usePlayerStore,
|
||||
useSettingsStore,
|
||||
useTimestampStoreBase,
|
||||
} from '/@/renderer/store';
|
||||
import { LogCategory, logFn } from '/@/renderer/utils/logger';
|
||||
@@ -425,3 +426,19 @@ export const useScrobble = () => {
|
||||
[handleScrobbleFromSongChange, handleProgressUpdate, handleScrobbleFromSeek],
|
||||
);
|
||||
};
|
||||
|
||||
const ScrobbleHookInner = () => {
|
||||
useScrobble();
|
||||
return null;
|
||||
};
|
||||
|
||||
export const ScrobbleHook = () => {
|
||||
const isScrobbleEnabled = useSettingsStore((state) => state.playback.scrobble.enabled);
|
||||
const privateMode = useAppStore((state) => state.privateMode);
|
||||
|
||||
if (!isScrobbleEnabled || privateMode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return React.createElement(ScrobbleHookInner);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user