diff --git a/src/renderer/features/player/components/full-screen-player-queue.tsx b/src/renderer/features/player/components/full-screen-player-queue.tsx
index 2f46fed68..8906d7b2f 100644
--- a/src/renderer/features/player/components/full-screen-player-queue.tsx
+++ b/src/renderer/features/player/components/full-screen-player-queue.tsx
@@ -91,7 +91,7 @@ export const FullScreenPlayerQueue = () => {
pos="relative"
size="lg"
uppercase
- variant="subtle"
+ variant="transparent"
>
{item.label}
diff --git a/src/renderer/features/player/components/full-screen-player.module.css b/src/renderer/features/player/components/full-screen-player.module.css
index de3f74301..4bb95166b 100644
--- a/src/renderer/features/player/components/full-screen-player.module.css
+++ b/src/renderer/features/player/components/full-screen-player.module.css
@@ -10,8 +10,31 @@
@media screen and (orientation: portrait) {
padding: 2rem 2rem 1rem;
}
+
+ &:hover .controls-container {
+ [data-variant='subtle'] {
+ color: var(--theme-colors-foreground);
+ background: var(--theme-colors-surface);
+ border: 1px solid transparent;
+
+ &:hover,
+ &:active,
+ &:focus-visible {
+ @mixin dark {
+ background: lighten(var(--theme-colors-surface), 5%);
+ }
+
+ @mixin light {
+ background: lighten(var(--theme-colors-surface), 5%);
+ }
+ }
+ }
+
+
+ }
}
+
.responsive-container {
display: grid;
grid-template-rows: minmax(0, 1fr);
diff --git a/src/renderer/features/player/components/full-screen-player.tsx b/src/renderer/features/player/components/full-screen-player.tsx
index c1faebab6..e4864b862 100644
--- a/src/renderer/features/player/components/full-screen-player.tsx
+++ b/src/renderer/features/player/components/full-screen-player.tsx
@@ -220,11 +220,7 @@ const BackgroundImageOverlay = memo(
BackgroundImageOverlay.displayName = 'BackgroundImageOverlay';
-interface ControlsProps {
- isPageHovered: boolean;
-}
-
-const Controls = ({ isPageHovered }: ControlsProps) => {
+const Controls = () => {
const { t } = useTranslation();
const {
dynamicBackground,
@@ -271,6 +267,7 @@ const Controls = ({ isPageHovered }: ControlsProps) => {
return (
{
iconProps={{ size: 'lg' }}
onClick={handleToggleFullScreenPlayer}
tooltip={{ label: t('common.minimize', { postProcess: 'titleCase' }) }}
- variant={isPageHovered ? 'default' : 'subtle'}
+ variant="subtle"
/>
@@ -293,7 +290,7 @@ const Controls = ({ isPageHovered }: ControlsProps) => {
icon="settings2"
iconProps={{ size: 'lg' }}
tooltip={{ label: t('common.configure', { postProcess: 'titleCase' }) }}
- variant={isPageHovered ? 'default' : 'subtle'}
+ variant="subtle"
/>
@@ -556,7 +553,7 @@ const Controls = ({ isPageHovered }: ControlsProps) => {
void;
- onMouseLeave: () => void;
windowBarStyle: Platform;
}
const PlayerContainer = memo(
- ({
- children,
- dynamicBackground,
- dynamicIsImage,
- onMouseEnter,
- onMouseLeave,
- windowBarStyle,
- }: PlayerContainerProps) => {
+ ({ children, dynamicBackground, dynamicIsImage, windowBarStyle }: PlayerContainerProps) => {
const currentSong = usePlayerSong();
const imageUrl = useItemImageUrl({
id: currentSong?.imageId || undefined,
@@ -650,8 +638,6 @@ const PlayerContainer = memo(
custom={{ background, dynamicBackground, windowBarStyle }}
exit="closed"
initial="closed"
- onMouseEnter={onMouseEnter}
- onMouseLeave={onMouseLeave}
transition={{ duration: 2 }}
variants={containerVariants}
>
@@ -672,8 +658,6 @@ export const FullScreenPlayer = () => {
const { setStore } = useFullScreenPlayerStoreActions();
const { windowBarStyle } = useWindowSettings();
- const [isPageHovered, setIsPageHovered] = useState(false);
-
const location = useLocation();
const isOpenedRef = useRef(null);
@@ -689,11 +673,9 @@ export const FullScreenPlayer = () => {
setIsPageHovered(true)}
- onMouseLeave={() => setIsPageHovered(false)}
windowBarStyle={windowBarStyle}
>
-
+
{
+export const Option = ({ children, classNames, ...props }: OptionProps) => {
const mergedClassNames = useMemo(
() => (classNames ? { ...defaultClassNames, ...classNames } : defaultClassNames),
[classNames],
@@ -23,7 +23,7 @@ export const Option = memo(({ children, classNames, ...props }: OptionProps) =>
{children}
);
-});
+};
Option.displayName = 'Option';
@@ -43,5 +43,5 @@ const Control = ({ children }: ControlProps) => {
return {children};
};
-(Option as typeof Option & { Label: typeof Label }).Label = Label;
-(Option as typeof Option & { Control: typeof Control }).Control = Control;
+Option.Label = Label;
+Option.Control = Control;