add detail columns

This commit is contained in:
jeffvli
2026-02-08 20:06:55 -08:00
parent 3d67b02724
commit 5421182cc1
37 changed files with 326 additions and 54 deletions
@@ -0,0 +1,155 @@
.container {
position: relative;
width: 100%;
height: 100%;
}
.placeholder {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.row {
display: grid;
grid-template-columns: 240px 1fr;
gap: var(--theme-spacing-md);
padding: 0 var(--theme-spacing-md) var(--theme-spacing-xl) var(--theme-spacing-md);
}
.image-wrapper {
position: relative;
display: block;
width: 100%;
aspect-ratio: 1;
overflow: hidden;
color: inherit;
text-decoration: none;
border-radius: var(--theme-radius-md);
&::before {
position: absolute;
top: 0;
left: 0;
z-index: 5;
width: 100%;
height: 100%;
pointer-events: none;
content: '';
background-color: rgb(0 0 0);
opacity: 0;
transition: opacity 0.2s ease-in-out;
}
&:hover {
@mixin dark {
&::before {
opacity: 0.7;
}
}
@mixin light {
&::before {
opacity: 0.5;
}
}
}
}
.row .image {
object-fit: var(--theme-image-fit);
border-radius: var(--theme-radius-md);
}
.row .metadata {
display: flex;
flex-direction: column;
gap: var(--theme-spacing-xs);
align-items: center;
overflow: hidden;
text-overflow: ellipsis;
font-size: var(--theme-font-size-md);
text-align: center;
}
.row .title {
font-weight: 500;
}
.row .artist {
font-size: var(--theme-font-size-sm);
color: var(--theme-colors-foreground-muted);
}
.row .tracks-table {
width: 100%;
font-size: var(--theme-font-size-sm);
table-layout: fixed;
}
.row .track-header-cell {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.row .track-cell {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.track-row-selected {
@mixin dark {
background-color: lighten(var(--theme-colors-surface), 5%);
}
@mixin light {
background-color: darken(var(--theme-colors-surface), 5%);
}
}
.track-row-dragging {
opacity: 0.5;
}
.skeleton-image {
width: 100%;
aspect-ratio: 1;
border-radius: var(--theme-radius-md);
}
.skeleton-title {
width: 75%;
height: 1.25rem;
}
.skeleton-artist {
width: 50%;
height: 1rem;
}
.skeleton-tracks {
display: flex;
flex-direction: column;
gap: var(--theme-spacing-xs);
}
.skeleton-track-row {
display: grid;
grid-template-columns: 40px 1fr 8rem;
gap: var(--theme-spacing-sm);
align-items: center;
}
.skeleton-track-cell {
width: 100%;
height: 1rem;
}
.skeleton-track-cell-title {
width: 100%;
min-width: 0;
height: 1rem;
}