Актуальность блог поста проверяется только на клиенте
This commit is contained in:
parent
5bc2d586cc
commit
e006cdb09b
1 changed files with 18 additions and 9 deletions
|
|
@ -14,20 +14,29 @@
|
||||||
} from '$lib/util/Blogs';
|
} from '$lib/util/Blogs';
|
||||||
import DateWidget from '$lib/components/DateWidget.svelte';
|
import DateWidget from '$lib/components/DateWidget.svelte';
|
||||||
import Icon from '@iconify/svelte';
|
import Icon from '@iconify/svelte';
|
||||||
|
import { onMount } from 'svelte';
|
||||||
|
|
||||||
export let post: App.BlogPost;
|
let {
|
||||||
export let size: BlogCardSize = BlogCardSize.Both;
|
post,
|
||||||
export let fullHeight = false;
|
size = BlogCardSize.Both,
|
||||||
|
fullHeight = false
|
||||||
|
}: { post: App.BlogPost; size: BlogCardSize; fullHeight: boolean } = $props();
|
||||||
|
|
||||||
const type: App.BlogPostType = post.type ?? 'article';
|
const type: App.BlogPostType = post.type ?? 'article';
|
||||||
const dateNow = new Date().valueOf();
|
let isPostNew = $state(false);
|
||||||
const isPostNew = dateNow - new Date(post.date!).valueOf() <= BLOG_POST_FRESHNESS_MILLIS;
|
let isPostUpdated = $state(false);
|
||||||
const isPostUpdated =
|
let isPostFresh = $derived(isPostNew || isPostUpdated);
|
||||||
post.dateChanged != null &&
|
|
||||||
dateNow - new Date(post.dateChanged).valueOf() <= BLOG_POST_FRESHNESS_MILLIS;
|
|
||||||
const isPostFresh = isPostNew || isPostUpdated;
|
|
||||||
// TODO: rndtrash: события и их актуальность
|
// TODO: rndtrash: события и их актуальность
|
||||||
|
|
||||||
|
onMount(() => {
|
||||||
|
// rndtrash: Выполняем проверки на клиенте, чтобы плашка не скомпилировалась и потом не потеряла актуальность
|
||||||
|
const dateNow = new Date().valueOf();
|
||||||
|
isPostNew = dateNow - new Date(post.date!).valueOf() <= BLOG_POST_FRESHNESS_MILLIS;
|
||||||
|
isPostUpdated =
|
||||||
|
post.dateChanged != null &&
|
||||||
|
dateNow - new Date(post.dateChanged).valueOf() <= BLOG_POST_FRESHNESS_MILLIS;
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rndtrash: пришлось дублировать классы с модификатором и без, потому что Tailwind просто не понимает,
|
* rndtrash: пришлось дублировать классы с модификатором и без, потому что Tailwind просто не понимает,
|
||||||
* когда его классы склеивают из нескольких частей
|
* когда его классы склеивают из нескольких частей
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue