mirror of
https://github.com/kikootwo/ReadMeABook.git
synced 2026-06-03 21:00:09 +00:00
Add indexer flag bonuses and SSL verify toggle
Implements configurable indexer flag bonuses/penalties for torrent ranking, including UI for admin settings and support in ranking-algorithm. Adds an option to disable SSL certificate verification for qBittorrent connections (for self-signed certs), with UI in both setup and admin settings, and persists the setting. Updates documentation, API routes, and ranking logic to support these features. Also includes minor UI improvements and bug fixes.
This commit is contained in:
@@ -134,9 +134,10 @@ export function AudiobookCard({
|
||||
</p>
|
||||
)}
|
||||
|
||||
{/* Metadata Row */}
|
||||
<div className="flex items-center gap-3 text-xs text-gray-500 dark:text-gray-400">
|
||||
{audiobook.rating && (
|
||||
{/* Metadata Row - Fixed height for alignment */}
|
||||
<div className="flex items-center gap-3 text-xs text-gray-500 dark:text-gray-400 h-5">
|
||||
{/* Rating - Only show if > 0 (0 means no rating) */}
|
||||
{audiobook.rating && audiobook.rating > 0 && (
|
||||
<div className="flex items-center gap-1">
|
||||
<svg className="w-4 h-4 text-yellow-400 fill-current" viewBox="0 0 20 20">
|
||||
<path d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" />
|
||||
@@ -144,9 +145,6 @@ export function AudiobookCard({
|
||||
<span>{audiobook.rating.toFixed(1)}</span>
|
||||
</div>
|
||||
)}
|
||||
{audiobook.durationMinutes && (
|
||||
<span>{formatDuration(audiobook.durationMinutes)}</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Status or Action */}
|
||||
|
||||
@@ -242,10 +242,10 @@ export function AudiobookDetailsModal({
|
||||
|
||||
{/* Metadata Grid */}
|
||||
<div className="grid grid-cols-2 gap-4 pt-2">
|
||||
{/* Rating */}
|
||||
{audiobook.rating && (
|
||||
<div>
|
||||
<p className="text-sm text-gray-500 dark:text-gray-400 mb-1">Rating</p>
|
||||
{/* Rating - Always show header, display 'Not Found' if no rating */}
|
||||
<div>
|
||||
<p className="text-sm text-gray-500 dark:text-gray-400 mb-1">Rating</p>
|
||||
{audiobook.rating && audiobook.rating > 0 ? (
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="flex items-center gap-1">
|
||||
{[...Array(5)].map((_, i) => (
|
||||
@@ -266,8 +266,10 @@ export function AudiobookDetailsModal({
|
||||
{Number(audiobook.rating).toFixed(1)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
) : (
|
||||
<p className="text-gray-500 dark:text-gray-400 italic">Not Found</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Duration */}
|
||||
{audiobook.durationMinutes && (
|
||||
|
||||
Reference in New Issue
Block a user