diff --git a/src/renderer/features/sidebar/components/collapsed-sidebar.tsx b/src/renderer/features/sidebar/components/collapsed-sidebar.tsx index ea330c277..7e7383db3 100644 --- a/src/renderer/features/sidebar/components/collapsed-sidebar.tsx +++ b/src/renderer/features/sidebar/components/collapsed-sidebar.tsx @@ -15,6 +15,7 @@ import { ServerSelectorItems } from '/@/renderer/features/sidebar/components/ser import { getCollectionTo } from '/@/renderer/features/sidebar/components/sidebar-collection-list'; import { SidebarIcon } from '/@/renderer/features/sidebar/components/sidebar-icon'; import { AppMenu } from '/@/renderer/features/titlebar/components/app-menu'; +import { AppRoute } from '/@/renderer/router/routes'; import { SidebarItemType, useCollections, @@ -141,15 +142,13 @@ export const CollapsedSidebar = () => { component={Link} key={collection.id} leftSection={ - } to={to} diff --git a/src/renderer/features/sidebar/components/sidebar-collection-list.tsx b/src/renderer/features/sidebar/components/sidebar-collection-list.tsx index 4bb7e1ca1..e7d6fc9b5 100644 --- a/src/renderer/features/sidebar/components/sidebar-collection-list.tsx +++ b/src/renderer/features/sidebar/components/sidebar-collection-list.tsx @@ -5,6 +5,7 @@ import { Link, useLocation } from 'react-router'; import styles from './sidebar-collection-list.module.css'; +import { SidebarIcon } from '/@/renderer/features/sidebar/components/sidebar-icon'; import { AppRoute } from '/@/renderer/router/routes'; import { useCollections, useSettingsStoreActions } from '/@/renderer/store'; import { getFilterQueryStringFromSearchParams } from '/@/renderer/utils/query-params'; @@ -13,7 +14,6 @@ import { ActionIcon } from '/@/shared/components/action-icon/action-icon'; import { Button } from '/@/shared/components/button/button'; import { DropdownMenu } from '/@/shared/components/dropdown-menu/dropdown-menu'; import { Group } from '/@/shared/components/group/group'; -import { Icon } from '/@/shared/components/icon/icon'; import { Popover } from '/@/shared/components/popover/popover'; import { Stack } from '/@/shared/components/stack/stack'; import { TextInput } from '/@/shared/components/text-input/text-input'; @@ -93,13 +93,15 @@ const CollectionRow = ({
- - + {collection.name} diff --git a/src/renderer/features/sidebar/components/sidebar-icon.module.css b/src/renderer/features/sidebar/components/sidebar-icon.module.css new file mode 100644 index 000000000..a74550b3a --- /dev/null +++ b/src/renderer/features/sidebar/components/sidebar-icon.module.css @@ -0,0 +1,4 @@ +.wrapper { + display: inline-flex; + flex-shrink: 0; +} diff --git a/src/renderer/features/sidebar/components/sidebar-icon.tsx b/src/renderer/features/sidebar/components/sidebar-icon.tsx index 237e2118a..be6923937 100644 --- a/src/renderer/features/sidebar/components/sidebar-icon.tsx +++ b/src/renderer/features/sidebar/components/sidebar-icon.tsx @@ -26,6 +26,8 @@ import { } from 'react-icons/ri'; import { generatePath, useLocation } from 'react-router'; +import styles from './sidebar-icon.module.css'; + import { AppRoute } from '/@/renderer/router/routes'; import { LibraryItem } from '/@/shared/types/domain-types'; @@ -38,48 +40,51 @@ interface SidebarIconProps { export const SidebarIcon = ({ active, route, size }: SidebarIconProps) => { const location = useLocation(); const isActive = active !== undefined ? active : location.pathname === route; - switch (route) { - case AppRoute.HOME: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_ALBUM_ARTISTS: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_ALBUMS: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_ARTISTS: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_FOLDERS: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_GENRES: - if (isActive) return ; - return ; - case AppRoute.LIBRARY_SONGS: - if (isActive) return ; - return ; - case AppRoute.NOW_PLAYING: - if (isActive) return ; - return ; - case AppRoute.PLAYLISTS: - if (isActive) return ; - return ; - case AppRoute.RADIO: - if (isActive) return ; - return ; - case AppRoute.SETTINGS: - if (isActive) return ; - return ; - case generatePath(AppRoute.SEARCH, { itemType: LibraryItem.SONG }): - if (isActive) return ; - return ; - default: - if (route.startsWith(AppRoute.FAVORITES)) { - if (isActive) return ; - return ; - } - return ; - } + const renderIcon = () => { + switch (route) { + case AppRoute.HOME: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_ALBUM_ARTISTS: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_ALBUMS: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_ARTISTS: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_FOLDERS: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_GENRES: + if (isActive) return ; + return ; + case AppRoute.LIBRARY_SONGS: + if (isActive) return ; + return ; + case AppRoute.NOW_PLAYING: + if (isActive) return ; + return ; + case AppRoute.PLAYLISTS: + if (isActive) return ; + return ; + case AppRoute.RADIO: + if (isActive) return ; + return ; + case AppRoute.SETTINGS: + if (isActive) return ; + return ; + case generatePath(AppRoute.SEARCH, { itemType: LibraryItem.SONG }): + if (isActive) return ; + return ; + default: + if (route.startsWith(AppRoute.FAVORITES)) { + if (isActive) return ; + return ; + } + return ; + } + }; + return {renderIcon()}; };