diff --git a/backend/package-lock.json b/backend/package-lock.json index f37dbb4..1a1266e 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-backend", - "version": "0.10.2-14", + "version": "0.10.2-15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-backend", - "version": "0.10.2-14", + "version": "0.10.2-15", "dependencies": { "archiver": "^7.0.1", "cors": "^2.8.5", diff --git a/backend/package.json b/backend/package.json index ffbb27b..904dcef 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-backend", - "version": "0.10.2-14", + "version": "0.10.2-15", "private": true, "type": "commonjs", "scripts": { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d451cea..2d5d7f5 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-frontend", - "version": "0.10.2-14", + "version": "0.10.2-15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-frontend", - "version": "0.10.2-14", + "version": "0.10.2-15", "dependencies": { "primeicons": "^7.0.0", "primereact": "^10.9.2", diff --git a/frontend/package.json b/frontend/package.json index cba0cf8..4e5c80e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-frontend", - "version": "0.10.2-14", + "version": "0.10.2-15", "private": true, "type": "module", "scripts": { diff --git a/frontend/src/components/AudiobookConfigPanel.jsx b/frontend/src/components/AudiobookConfigPanel.jsx index fc05150..6340ea4 100644 --- a/frontend/src/components/AudiobookConfigPanel.jsx +++ b/frontend/src/components/AudiobookConfigPanel.jsx @@ -51,8 +51,12 @@ function formatChapterTime(secondsValue) { return `${minutes}:${String(seconds).padStart(2, '0')}`; } +function stripHtml(value) { + return String(value || '').replace(/<[^>]*>/g, ' ').replace(/\s+/g, ' ').trim(); +} + function truncateDescription(value, maxLength = 220) { - const normalized = String(value || '').replace(/\s+/g, ' ').trim(); + const normalized = stripHtml(value); if (!normalized || normalized.length <= maxLength) { return normalized; } @@ -168,6 +172,7 @@ export default function AudiobookConfigPanel({ const statusLabel = getStatusLabel(state); const statusSeverity = getStatusSeverity(state); const description = String(metadata?.description || '').trim(); + const descriptionStripped = stripHtml(description); const descriptionPreview = truncateDescription(description); const posterUrl = String(metadata?.poster || '').trim() || null; @@ -196,7 +201,7 @@ export default function AudiobookConfigPanel({