mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 07:15:47 +00:00
refactor(folderBrowser): co-locate folder-browser feature into features/folderBrowser
This commit is contained in:
@@ -35,7 +35,7 @@ const DeviceSync = lazy(() => import('@/features/deviceSync/pages/DeviceSync'));
|
||||
const OfflineLibrary = lazy(() => import('@/features/offline/pages/OfflineLibrary'));
|
||||
const LabelAlbums = lazy(() => import('@/features/album/pages/LabelAlbums'));
|
||||
const SearchBrowsePage = lazy(() => import('@/features/search/pages/SearchBrowsePage'));
|
||||
const FolderBrowser = lazy(() => import('../pages/FolderBrowser'));
|
||||
const FolderBrowser = lazy(() => import('@/features/folderBrowser/pages/FolderBrowser'));
|
||||
const InternetRadio = lazy(() => import('@/features/radio/pages/InternetRadio'));
|
||||
const Genres = lazy(() => import('../pages/Genres'));
|
||||
const GenreDetail = lazy(() => import('../pages/GenreDetail'));
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import type { Track } from '@/lib/media/trackTypes';
|
||||
import {
|
||||
folderBrowserHasKeyModifiers, isFolderBrowserArrowKey,
|
||||
type Column,
|
||||
} from '../../utils/componentHelpers/folderBrowserHelpers';
|
||||
} from '@/features/folderBrowser/utils/folderBrowserHelpers';
|
||||
|
||||
interface Props {
|
||||
col: Column;
|
||||
+1
-1
@@ -4,7 +4,7 @@ import { usePlayerStore } from '@/features/playback/store/playerStore';
|
||||
import {
|
||||
entryToTrack, folderBrowserHasKeyModifiers, isFolderBrowserArrowKey,
|
||||
type Column, type NavPos,
|
||||
} from '../utils/componentHelpers/folderBrowserHelpers';
|
||||
} from '@/features/folderBrowser/utils/folderBrowserHelpers';
|
||||
|
||||
interface Args {
|
||||
columns: Column[];
|
||||
+1
-1
@@ -3,7 +3,7 @@ import { useLocation } from 'react-router-dom';
|
||||
import { getMusicDirectory, getMusicIndexes } from '@/lib/api/subsonicLibrary';
|
||||
import type { SubsonicDirectoryEntry } from '@/lib/api/subsonicTypes';
|
||||
import type { Track } from '@/lib/media/trackTypes';
|
||||
import type { Column, NavPos } from '../utils/componentHelpers/folderBrowserHelpers';
|
||||
import type { Column, NavPos } from '@/features/folderBrowser/utils/folderBrowserHelpers';
|
||||
|
||||
let persistedPlayingPathIds: string[] = [];
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import type { Column, NavPos } from '../utils/componentHelpers/folderBrowserHelpers';
|
||||
import type { Column, NavPos } from '@/features/folderBrowser/utils/folderBrowserHelpers';
|
||||
|
||||
interface Args {
|
||||
columns: Column[];
|
||||
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Folder Browser feature — the Miller-column directory browser over the
|
||||
* server's raw music folders (`getMusicFolders`/`getMusicDirectory`/
|
||||
* `getMusicIndexes`): the FolderBrowser page, its column component, the
|
||||
* now-playing-path / scrolling / keyboard-nav hooks, and the pure path/entry
|
||||
* helpers. The page is lazy-loaded by the router via its deep path, so it is
|
||||
* not re-exported here; nothing else outside the feature consumes its modules.
|
||||
*/
|
||||
export {};
|
||||
@@ -6,11 +6,11 @@ import { useTranslation } from 'react-i18next';
|
||||
import {
|
||||
entryToAlbumIfPresent, entryToTrack,
|
||||
type Column, type ColumnKind, type NavPos,
|
||||
} from '../utils/componentHelpers/folderBrowserHelpers';
|
||||
import FolderBrowserColumn from '../components/folderBrowser/FolderBrowserColumn';
|
||||
import { useFolderBrowserNowPlayingPath } from '../hooks/useFolderBrowserNowPlayingPath';
|
||||
import { useFolderBrowserScrolling } from '../hooks/useFolderBrowserScrolling';
|
||||
import { useFolderBrowserKeyboardNav } from '../hooks/useFolderBrowserKeyboardNav';
|
||||
} from '@/features/folderBrowser/utils/folderBrowserHelpers';
|
||||
import FolderBrowserColumn from '@/features/folderBrowser/components/FolderBrowserColumn';
|
||||
import { useFolderBrowserNowPlayingPath } from '@/features/folderBrowser/hooks/useFolderBrowserNowPlayingPath';
|
||||
import { useFolderBrowserScrolling } from '@/features/folderBrowser/hooks/useFolderBrowserScrolling';
|
||||
import { useFolderBrowserKeyboardNav } from '@/features/folderBrowser/hooks/useFolderBrowserKeyboardNav';
|
||||
|
||||
export default function FolderBrowser() {
|
||||
const { t } = useTranslation();
|
||||
Reference in New Issue
Block a user