diff --git a/src/renderer/components/item-card/item-card-controls.module.css b/src/renderer/components/item-card/item-card-controls.module.css index 9c5d0ae93..51853c6f5 100644 --- a/src/renderer/components/item-card/item-card-controls.module.css +++ b/src/renderer/components/item-card/item-card-controls.module.css @@ -45,6 +45,22 @@ margin-bottom: var(--theme-spacing-lg); } +.play-button { + position: absolute; + top: 50%; + transform: translate(-50%, -50%) scale(var(--play-button-scale, 1)); + + &:hover { + opacity: 1; + transform: translate(-50%, -50%) scale(1.1); + } + + &:active { + opacity: 1; + transform: translate(-50%, -50%) scale(0.9); + } +} + .primary { left: 50%; width: 25%; diff --git a/src/renderer/components/item-card/item-card-controls.tsx b/src/renderer/components/item-card/item-card-controls.tsx index 9fb507b64..e672fb75d 100644 --- a/src/renderer/components/item-card/item-card-controls.tsx +++ b/src/renderer/components/item-card/item-card-controls.tsx @@ -236,18 +236,18 @@ export const ItemCardControls = ({ {controls?.onPlay && ( <> { interface PlayButtonProps { classNames?: string; + fill?: boolean; icon?: keyof typeof AppIcon; + isSecondary?: boolean; loading?: boolean; onClick?: (e: React.MouseEvent) => void; onLongPress?: (e: React.MouseEvent) => void; } export const PlayButton = memo( - ({ classNames, icon = 'mediaPlay', loading, onClick, onLongPress }: PlayButtonProps) => { + ({ + classNames, + fill, + icon = 'mediaPlay', + isSecondary, + loading, + onClick, + onLongPress, + }: PlayButtonProps) => { const clickHandlers = usePlayButtonClick({ loading, onClick, @@ -92,11 +103,14 @@ export const PlayButton = memo( return ( ); },