diff --git a/app/api/documents.py b/app/api/documents.py index 862b9cd..ff11fe0 100644 --- a/app/api/documents.py +++ b/app/api/documents.py @@ -72,6 +72,7 @@ class DocumentUpdate(BaseModel): ai_sub_group: str | None = None ai_tags: list | None = None user_note: str | None = None + is_read: bool | None = None edit_url: str | None = None source_channel: str | None = None data_origin: str | None = None diff --git a/frontend/src/routes/news/+page.svelte b/frontend/src/routes/news/+page.svelte index 7c57eea..0ad1fb0 100644 --- a/frontend/src/routes/news/+page.svelte +++ b/frontend/src/routes/news/+page.svelte @@ -22,6 +22,8 @@ let showUnreadOnly = $state(false); let sources = $state([]); let currentPage = $state(1); + let noteEditing = $state(false); + let noteText = $state(''); onMount(async () => { try { @@ -79,6 +81,20 @@ } } + async function saveNote() { + try { + await api(`/documents/${selectedArticle.id}`, { + method: 'PATCH', + body: JSON.stringify({ user_note: noteText }), + }); + selectedArticle.user_note = noteText; + noteEditing = false; + addToast('success', '저장됨'); + } catch (e) { + addToast('error', '저장 실패'); + } + } + function timeAgo(dateStr) { const diff = Date.now() - new Date(dateStr).getTime(); const mins = Math.floor(diff / 60000); @@ -172,26 +188,83 @@ {/if} + + {#if total > 30} +