feat: overhaul UI styling, improve templates, enhance services and tests

This commit is contained in:
2026-06-06 00:38:56 +08:00
parent f7f1a4c0cb
commit 904eec392e
38 changed files with 1471 additions and 795 deletions
+21 -20
View File
@@ -12,7 +12,9 @@
{% if paper.summary and paper.summary.one_line %}
<p class="paper-one-line">{{ paper.summary.one_line }}</p>
{% elif paper.abstract %}
<p class="paper-abstract-preview">{{ paper.abstract[:200] }}{% if paper.abstract|length > 200 %}…{% endif %}</p>
<p class="paper-abstract-preview">
{{ paper.abstract[:200] }}{% if paper.abstract|length > 200 %}…{% endif %}
</p>
{% endif %}
<div class="paper-meta">
@@ -29,32 +31,31 @@
<div class="paper-footer">
<div class="paper-footer-left">
<span class="summary-badge summary-{{ paper.summary_status.status if paper.summary_status else 'none' }}">
{% if not paper.summary_status or paper.summary_status.status == 'pending' %}
未总结
{% elif paper.summary_status.status == 'processing' %}
🔄 总结中
{% elif paper.summary_status.status == 'failed' or paper.summary_status.status == 'permanent_failure' %}
❌ 总结失败
{% elif paper.summary_status.status == 'done' %}
✅ 已总结
{% endif %}
<span
class="summary-badge summary-{{ paper.summary_status.status if paper.summary_status else 'none' }}"
>
{% if not paper.summary_status or paper.summary_status.status ==
'pending' %} 未总结 {% elif paper.summary_status.status == 'processing'
%} 🔄 总结中 {% elif paper.summary_status.status == 'failed' or
paper.summary_status.status == 'permanent_failure' %} ❌ 总结失败 {%
elif paper.summary_status.status == 'done' %} ✅ 已总结 {% endif %}
</span>
{% if paper.reading_status %}
<span class="reading-badge reading-{{ paper.reading_status.status }}">
{% if paper.reading_status.status == 'unread' %}未读
{% elif paper.reading_status.status == 'skimmed' %}已浏览
{% elif paper.reading_status.status == 'read_summary' %}已读摘要
{% elif paper.reading_status.status == 'read_full' %}已读原文
{% endif %}
{% if paper.reading_status.status == 'unread' %}未读 {% elif
paper.reading_status.status == 'skimmed' %}已浏览 {% elif
paper.reading_status.status == 'read_summary' %}已读摘要 {% elif
paper.reading_status.status == 'read_full' %}已读原文 {% endif %}
</span>
{% endif %}
</div>
<div class="paper-footer-right">
<button class="btn-bookmark {% if paper.bookmark %}active{% endif %}"
hx-post="/api/bookmark/{{ paper.arxiv_id }}"
hx-target="#user-data-{{ paper.arxiv_id }}"
hx-swap="outerHTML">
<button
class="btn-bookmark {% if paper.bookmark %}active{% endif %}"
hx-post="/api/bookmark/{{ paper.arxiv_id }}"
hx-target="#user-data-{{ paper.arxiv_id }}"
hx-swap="outerHTML"
>
{% if paper.bookmark %}★{% else %}☆{% endif %}
</button>
<a href="/paper/{{ paper.arxiv_id }}" class="btn-detail">详情 →</a>