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 (
);
},