diff --git a/src/components/News_section/General_section.vue b/src/components/News_section/General_section.vue index bc5fecf..0fd2f72 100644 --- a/src/components/News_section/General_section.vue +++ b/src/components/News_section/General_section.vue @@ -27,10 +27,14 @@ - + + + + + @@ -48,11 +52,19 @@ :parsed_at="item.parsed_at" :status="item.status" :viewed="item.viewed" + :tematik="item.tematik" + :svodka="item.svodka" + :donesenie="item.donesenie" + :bilutene="item.bilutene" :original_text="item.original_text" :translation_text="item.translation_text" :other="item.other" @update:viewed="handleViewedChange" @update:status="handleStatusChange" + @update:tematik="handleTematikChange" + @update:svodka="handleSvodkaChange" + @update:donesenie="handleDonesenieChange" + @update:bilutene="handleBiluteneChange" />
@@ -93,7 +105,6 @@ let currentOffset = 0; let pollTimer = null; let lastScrollTop = 0; // Сохраняем позицию скролла - const fetchData = async (url) => { try { const { data } = await axios.get(url); @@ -198,7 +209,11 @@ const checkForUpdates = async () => { hasNew = true; } else if ( existing.viewed !== item.viewed || - existing.status !== item.status + existing.status !== item.status || + existing.tematik !== item.tematik || + existing.svodka !== item.svodka || + existing.donesenie !== item.donesenie || + existing.bilutene !== item.bilutene ) { // Изменились viewed/status - обновляем const index = items.value.indexOf(existing); @@ -240,6 +255,26 @@ const handleStatusChange = ({ url, status }) => { if (item) item.status = status; }; +const handleTematikChange = ({ url, tematik }) => { + const item = items.value.find((i) => i.url === url); + if (item) item.tematik = tematik; +}; + +const handleSvodkaChange = ({ url, svodka }) => { + const item = items.value.find((i) => i.url === url); + if (item) item.svodka = svodka; +}; + +const handleDonesenieChange = ({ url, donesenie }) => { + const item = items.value.find((i) => i.url === url); + if (item) item.donesenie = donesenie; +}; + +const handleBiluteneChange = ({ url, bilutene }) => { + const item = items.value.find((i) => i.url === url); + if (item) item.bilutene = bilutene; +}; + // === Watch === let debounceTimer = null; diff --git a/src/components/News_section/One_kard.vue b/src/components/News_section/One_kard.vue index bc8e9f4..41a49c3 100644 --- a/src/components/News_section/One_kard.vue +++ b/src/components/News_section/One_kard.vue @@ -374,7 +374,7 @@ onBeforeUnmount(() => {