Files
feishin/src/renderer/components/item-card/item-card-controls.module.css
T
2025-11-29 19:32:14 -08:00

174 lines
2.8 KiB
CSS

.container {
position: absolute;
top: 0;
left: 0;
z-index: 100;
display: grid;
grid-template-rows: repeat(3, minmax(0, 1fr));
grid-template-columns: minmax(0, 1fr);
gap: var(--theme-spacing-sm);
width: 100%;
height: 100%;
}
.container.compact {
opacity: 0;
transform: scale(0.8);
transition:
opacity 0.2s ease-in-out,
transform 0.2s ease-in-out;
}
.container.visible.compact {
opacity: 1;
transform: scale(1);
}
.top-controls {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.secondary-controls {
position: absolute;
right: 0;
bottom: 0;
display: flex;
gap: var(--theme-spacing-xs);
justify-content: flex-end;
width: 100%;
height: 15%;
margin-right: var(--theme-spacing-sm);
margin-bottom: var(--theme-spacing-lg);
}
.play-button {
all: unset;
position: absolute;
top: 50%;
display: flex;
align-items: center;
justify-content: center;
background-color: #fff;
border: none;
border-radius: 100%;
opacity: 0.8;
transform: translate(-50%, -50%) scale(1);
transition: opacity 0.1s ease-in-out;
transition: transform 0.1s ease-in-out;
&:hover {
opacity: 1;
transform: translate(-50%, -50%) scale(1.1);
}
&:active {
opacity: 1;
transform: translate(-50%, -50%) scale(0.9);
}
svg {
stroke: rgb(0 0 0);
}
}
.play-button.disabled,
.play-button.loading {
cursor: not-allowed;
opacity: 0.5;
transform: translate(-50%, -50%) scale(1);
}
.play-button.primary {
left: 50%;
width: 25%;
height: 25%;
svg {
fill: rgb(0 0 0);
}
}
.play-button.secondary {
width: 15%;
height: 15%;
}
.play-button.left {
left: 25%;
}
.play-button.right {
left: 75%;
}
.play-button.left-top {
top: 40%;
left: 25%;
}
.play-button.left-bottom {
top: 60%;
left: 25%;
}
.play-button.right-bottom {
top: 60%;
left: 75%;
}
.play-button.right-top {
top: 40%;
left: 75%;
}
.secondary-button {
all: unset;
position: absolute;
padding: var(--theme-spacing-md);
border-radius: var(--theme-radius-md);
opacity: 0.8;
transition: opacity 0.2s ease-in-out;
transition: scale 0.2s linear;
&:hover {
opacity: 1;
transform: scale(1.1);
}
&:active {
opacity: 1;
transform: scale(0.9);
}
svg {
stroke: rgb(255 255 255);
}
}
.user-data {
position: absolute;
top: 0;
right: 0;
}
.rating {
position: absolute;
top: 0;
right: 0;
padding: var(--theme-spacing-md);
}
.secondary-button.options {
right: 0;
bottom: 0;
}
.secondary-button.expand {
bottom: 0;
left: 0;
}