v3: added comment likes, added votes/likes list view, added db migrations mechanism, updated project dependencies
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 42s

This commit is contained in:
khannurien
2026-06-21 14:17:56 +00:00
parent 888aae45cf
commit 7afb5d3f07
25 changed files with 1475 additions and 840 deletions

View File

@@ -1272,6 +1272,19 @@ body.has-player .fab-new {
cursor: default;
}
.vote-count-clickable {
display: inline-block;
cursor: pointer;
/* Padding+matching negative margin enlarges the click target without
shifting layout — the box grows but its visual position is unchanged. */
padding: 0.4rem;
margin: -0.4rem;
}
.vote-count-clickable:hover {
text-decoration: underline;
}
/* ── Dump OP line ── */
.dump-op {
display: flex;
@@ -2176,6 +2189,63 @@ body.has-player .fab-new {
background: var(--color-header-user-bg-hover);
}
.user-list-popover {
/* position/top/left set inline (fixed, anchored to the trigger's viewport rect) */
min-width: 180px;
max-height: 280px;
overflow-y: auto;
background: var(--color-surface);
border: 2px solid var(--color-border-subtle);
border-radius: 10px;
padding: 0.35rem;
display: flex;
flex-direction: column;
gap: 0.15rem;
z-index: 100;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.user-list-popover-item {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.35rem 0.5rem;
border-radius: 7px;
text-decoration: none;
color: var(--color-text);
font-size: 0.85rem;
font-weight: 600;
transition: background 0.12s;
}
.user-list-popover-item:hover {
background: var(--color-header-user-bg-hover);
}
.user-list-popover-status {
margin: 0;
padding: 0.5rem 0.6rem;
font-size: 0.8rem;
color: var(--color-text-muted);
}
.user-list-popover-load-more {
background: none;
border: none;
cursor: pointer;
padding: 0.4rem 0.6rem;
font-size: 0.8rem;
font-weight: 600;
color: var(--color-accent);
text-align: left;
font-family: inherit;
}
.user-list-popover-load-more:disabled {
opacity: 0.5;
cursor: default;
}
/* ── Auth card ── */
.auth-card {
width: 100%;
@@ -3560,6 +3630,31 @@ body.has-player .fab-new {
background: color-mix(in srgb, var(--color-danger) 10%, transparent);
}
.comment-action-btn--liked {
color: var(--color-danger);
border-color: color-mix(in srgb, var(--color-danger) 40%, transparent);
background: color-mix(in srgb, var(--color-danger) 10%, transparent);
}
.comment-action-btn--liked:hover {
color: var(--color-danger);
border-color: color-mix(in srgb, var(--color-danger) 60%, transparent);
background: color-mix(in srgb, var(--color-danger) 16%, transparent);
}
.like-count-clickable {
display: inline-block;
cursor: pointer;
/* Padding+matching negative margin enlarges the click target without
shifting layout — the box grows but its visual position is unchanged. */
padding: 0.3rem;
margin: -0.3rem;
}
.like-count-clickable:hover {
text-decoration: underline;
}
.comment-replies {
padding-left: max(0.4rem, calc(1.25rem - var(--depth, 0) * 0.1rem));
margin-left: max(0.25rem, calc(1.1rem - var(--depth, 0) * 0.09rem));