From 09a9498d0de5662281902feb4fb06b7fc64237f4 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Tue, 18 Nov 2025 00:19:31 -0800 Subject: [PATCH] refactor playqueue with css modules --- .../components/play-queue.module.css | 33 +++++++++++++++++++ .../now-playing/components/play-queue.tsx | 30 ++++++----------- 2 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 src/renderer/features/now-playing/components/play-queue.module.css diff --git a/src/renderer/features/now-playing/components/play-queue.module.css b/src/renderer/features/now-playing/components/play-queue.module.css new file mode 100644 index 000000000..93d2e621f --- /dev/null +++ b/src/renderer/features/now-playing/components/play-queue.module.css @@ -0,0 +1,33 @@ +.container { + position: relative; + flex: 1; + width: 100%; + min-height: 0; +} + +.group-row { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + user-select: none; +} + +.drop-zone { + position: absolute; + top: 40px; + right: 0; + bottom: 0; + left: 0; + z-index: 10; + outline: none; + background-color: var(--theme-colors-background); + border-radius: var(--theme-radius-md); + opacity: 0.6; +} + +.drop-zone.dragged-over { + outline: 2px solid var(--theme-colors-primary); + outline-offset: -4px; +} diff --git a/src/renderer/features/now-playing/components/play-queue.tsx b/src/renderer/features/now-playing/components/play-queue.tsx index 33685cdb7..3dc50314c 100644 --- a/src/renderer/features/now-playing/components/play-queue.tsx +++ b/src/renderer/features/now-playing/components/play-queue.tsx @@ -1,6 +1,9 @@ import { useDebouncedValue, useMergedRef } from '@mantine/hooks'; +import clsx from 'clsx'; import { forwardRef, ReactElement, useEffect, useMemo, useRef, useState } from 'react'; +import styles from './play-queue.module.css'; + import { useItemListColumnReorder } from '/@/renderer/components/item-list/helpers/use-item-list-column-reorder'; import { useItemListColumnResize } from '/@/renderer/components/item-list/helpers/use-item-list-column-resize'; import { @@ -19,9 +22,7 @@ import { usePlayerQueueType, } from '/@/renderer/store'; import { searchSongs } from '/@/renderer/utils/search-songs'; -import { Box } from '/@/shared/components/box/box'; import { Flex } from '/@/shared/components/flex/flex'; -import { Group } from '/@/shared/components/group/group'; import { LoadingOverlay } from '/@/shared/components/loading-overlay/loading-overlay'; import { Text } from '/@/shared/components/text/text'; import { LibraryItem, QueueSong, Song } from '/@/shared/types/domain-types'; @@ -58,7 +59,7 @@ export const PlayQueue = forwardRef(({ listKey, sear itemCount: group.count, render: (): ReactElement => { return ( - +
(({ listKey, sear > {group.name} - +
); }, rowHeight: 40, @@ -124,7 +125,7 @@ export const PlayQueue = forwardRef(({ listKey, sear }); return ( - +
(({ listKey, sear size={table.size} /> {isEmpty && } - +
); }); @@ -271,24 +272,13 @@ const EmptyQueueDropZone = () => { return ( );