From ae98d3269219e91c1afacaa127791b82a45e5852 Mon Sep 17 00:00:00 2001 From: 7nik Date: Tue, 14 Nov 2023 22:33:43 +0200 Subject: [PATCH] fixes --- package.json | 2 +- src/Button.svelte | 2 +- src/PostMaker.svelte | 20 ++++++++------------ src/Utils.ts | 12 ++++++++---- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index fcf120e..4c6927f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ap-vk-poster", - "version": "2.6.0", + "version": "2.6.1", "private": true, "scripts": { "build": "rollup -c --environment PROD", diff --git a/src/Button.svelte b/src/Button.svelte index 2024338..5f6c514 100644 --- a/src/Button.svelte +++ b/src/Button.svelte @@ -3,7 +3,7 @@ export let error = false; - diff --git a/src/PostMaker.svelte b/src/PostMaker.svelte index 1e4cb6b..3499da3 100644 --- a/src/PostMaker.svelte +++ b/src/PostMaker.svelte @@ -60,9 +60,6 @@ let picture: Promise = getPostInfo().then((post) => { ({ message, previewUrl, source, error } = post); - if (error) { - return new Promise(() => {}); - } }).then(() => { return GM.xmlHttpRequest({ method: "GET", @@ -80,13 +77,7 @@ }); // create and keep updated a preview object for the post - let postPreview: PostPreview = { - preview: previewUrl, - link: "", - date: pubtimeDate?.getTime() ?? 0, - }; $: if (pubtimeDate) { - postPreview.date = pubtimeDate.getTime(); previews = previews.sort((a, b) => b.date - a.date); } @@ -115,7 +106,7 @@ return; } console.error(ex); - error ||= "Ошибка подключения в ВК"; + error = "Ошибка подключения к ВК"; return; } posts.sort((a, b) => b.date - a.date); @@ -136,7 +127,12 @@ } return null; }).filter((p): p is PostPreview => p !== null); - previews.unshift(postPreview); + await picture; + previews.unshift({ + preview: previewUrl, + link: "", + date: pubtimeDate?.getTime() ?? 0, + }); const scheduler = SETTINGS.scheduleMethod === "step" ? proposeDateByStep @@ -249,7 +245,7 @@ max-height: 280px; overflow-y: auto; } - .previews a:last-child { + .previews :last-child { margin-right: auto; } .previews > div { diff --git a/src/Utils.ts b/src/Utils.ts index cae5619..620bc00 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -44,7 +44,11 @@ async function getPostInfo () { big_preview: string, }, tags: Array<{ - tag: { id: number }, + tag: { + id: number, + tag: string, + tag_ru: string, + }, relation: { removetime: string|null }, }>, } = await fetch(`/api/v3/posts/${postId}`).then((resp) => resp.json()); @@ -61,15 +65,15 @@ async function getPostInfo () { if (post.post.erotics > SETTINGS.maxErotic) { error = "Слишком эротично"; } - if (post.tags.some((t) => SETTINGS.forbiddenTags.includes(t.tag.id))) { - error = "Есть запрещённые теги"; + const tags = post.tags.filter((t) => SETTINGS.forbiddenTags.includes(t.tag.id)) + if (tags.length > 0) { + error = `Есть запрещённые теги: ${tags.map(({ tag }) => tag.tag_ru || tag.tag).join(", ")}`; } return { message, previewUrl, source: `https://anime-pictures.net/posts/${postId}?lang=ru`, - erotic: post.post.erotics, error, } }