summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-05-03 12:58:15 +0200
committerDanilo M. <danix@danix.xyz>2026-05-03 12:58:15 +0200
commit1570667d5d2b66588bd7d5b44ab70c25ba16d5d4 (patch)
tree5ad57ea90013d3041d8d06f60e644716351221b4 /ui
parent220b9e054424569afc3298be04eeff6d7fa18381 (diff)
downloadpublisher-1570667d5d2b66588bd7d5b44ab70c25ba16d5d4.tar.gz
publisher-1570667d5d2b66588bd7d5b44ab70c25ba16d5d4.zip
feat: show type, date, tags, categories in article list rows
Diffstat (limited to 'ui')
-rw-r--r--ui/articles_view.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/ui/articles_view.py b/ui/articles_view.py
index f45e736..36ca5ec 100644
--- a/ui/articles_view.py
+++ b/ui/articles_view.py
@@ -3,7 +3,7 @@ from PyQt6.QtWidgets import (
QWidget, QVBoxLayout, QTabWidget,
QListWidget, QListWidgetItem, QLabel,
)
-from PyQt6.QtCore import Qt, pyqtSignal
+from PyQt6.QtCore import Qt, pyqtSignal, QSize
from PyQt6.QtGui import QColor
from core.models import Article
@@ -13,12 +13,30 @@ class ArticleItem(QListWidgetItem):
self.article = article
if article.has_translation:
badge = f"🇬🇧 ✓" if article.lang == "it" else "🇮🇹 ✓"
- status = f"{article.slug} [{badge}]"
else:
badge = f"🇬🇧 ✗" if article.lang == "it" else "🇮🇹 ✗"
- status = f"{article.slug} [{badge}]"
- self.setText(status)
- if not article.has_translation:
+ line1 = f"{article.slug} [{badge}]"
+ if article.draft:
+ line1 = f"[DRAFT] {line1}"
+
+ parts = []
+ if article.meta_type:
+ parts.append(article.meta_type)
+ if article.meta_date:
+ parts.append(article.meta_date)
+ if article.meta_tags:
+ parts.append(f"#{article.meta_tags.replace(', ', ' #')}")
+ if article.meta_categories:
+ parts.append(f"[{article.meta_categories}]")
+ line2 = " ".join(parts) if parts else ""
+
+ text = f"{line1}\n{line2}" if line2 else line1
+ self.setText(text)
+ self.setSizeHint(QSize(0, 42) if line2 else QSize(0, 26))
+
+ if article.draft:
+ self.setForeground(QColor("#f59e0b"))
+ elif not article.has_translation:
self.setForeground(QColor("#ff6b6b"))
class ArticlesView(QWidget):