Skip to content

Commit 2676f23

Browse files
feat: Make books clickable in Duplicates Manager (#921)
Add clickable covers, titles, and action buttons (Edit/Archive) to each book in the duplicate groups for easier verification and management. Fixes #921
1 parent 9571f89 commit 2676f23

1 file changed

Lines changed: 57 additions & 2 deletions

File tree

cps/templates/duplicates.html

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,49 @@
133133
font-size: 15px;
134134
text-shadow: 0 1px 2px rgba(44, 62, 80, 0.1);
135135
}
136+
.book-title-link {
137+
color: white;
138+
text-decoration: none;
139+
transition: color 0.2s ease;
140+
}
141+
.book-title-link:hover {
142+
color: #3498db;
143+
text-decoration: none;
144+
}
145+
.book-cover a {
146+
display: block;
147+
text-decoration: none;
148+
}
149+
.book-actions {
150+
margin-top: 12px;
151+
display: flex;
152+
gap: 8px;
153+
flex-wrap: wrap;
154+
}
155+
.book-action-btn {
156+
display: inline-flex;
157+
align-items: center;
158+
gap: 5px;
159+
padding: 6px 12px;
160+
background: rgba(52, 152, 219, 0.2);
161+
border: 1px solid rgba(52, 152, 219, 0.4);
162+
border-radius: 4px;
163+
color: #3498db;
164+
font-size: 12px;
165+
text-decoration: none;
166+
transition: all 0.2s ease;
167+
cursor: pointer;
168+
}
169+
.book-action-btn:hover {
170+
background: rgba(52, 152, 219, 0.3);
171+
border-color: #3498db;
172+
color: #5dade2;
173+
text-decoration: none;
174+
transform: translateY(-1px);
175+
}
176+
.book-action-btn .glyphicon {
177+
font-size: 11px;
178+
}
136179
.book-meta {
137180
color: white;
138181
font-size: 13px;
@@ -427,11 +470,15 @@ <h4 style="color: white; margin-bottom: 15px; display: flex; align-items: center
427470
<input type="checkbox" class="book-checkbox" value="{{ book.id }}" data-title="{{ book.title }}" data-authors="{{ book.author_names }}">
428471

429472
<div class="book-cover">
430-
<img src="{{ book.cover_url }}" alt="Cover for {{ book.title }}" onerror="this.src='/static/generic_cover.svg'">
473+
<a href="{{ url_for('web.show_book', book_id=book.id) }}" title="{{_('View book details')}}">
474+
<img src="{{ book.cover_url }}" alt="Cover for {{ book.title }}" onerror="this.src='/static/generic_cover.svg'">
475+
</a>
431476
</div>
432477

433478
<div class="book-details">
434-
<div class="book-title">{{ book.title }}</div>
479+
<div class="book-title">
480+
<a href="{{ url_for('web.show_book', book_id=book.id) }}" class="book-title-link">{{ book.title }}</a>
481+
</div>
435482
<div class="book-meta">
436483
<div><strong>Authors:</strong> {{ book.author_names }}</div>
437484
<div><strong>Added:</strong> {{ book.timestamp.strftime('%Y-%m-%d %H:%M') }}</div>
@@ -449,6 +496,14 @@ <h4 style="color: white; margin-bottom: 15px; display: flex; align-items: center
449496
</div>
450497
{% endif %}
451498
</div>
499+
<div class="book-actions">
500+
<a href="{{ url_for('edit-book.show_edit_book', book_id=book.id) }}" class="book-action-btn" title="{{_('Edit book metadata')}}">
501+
<span class="glyphicon glyphicon-edit"></span> {{_('Edit')}}
502+
</a>
503+
<a href="{{ url_for('web.show_book', book_id=book.id) }}" class="book-action-btn" title="{{_('Archive/delete book')}}">
504+
<span class="glyphicon glyphicon-trash"></span> {{_('Archive')}}
505+
</a>
506+
</div>
452507
</div>
453508
</div>
454509
{% endfor %}

0 commit comments

Comments
 (0)