- {#if isPostEventOfInterest}
+
+ {#if post.dateChanged}
-
- {:else}
-
- {#if post.dateChanged}
-
- {/if}
-
-
-
- {blogPostTypeToString(type)}
-
-
{/if}
+
+
+
+ {blogPostTypeToString(type)}
+
+
@@ -177,7 +139,7 @@
}
&.updated {
- box-shadow: 0 0 0 calc(var(--spacing) * 1) var(--color-purple-600);
+ box-shadow: 0 0 0 4px var(--color-purple-600);
.toast {
@apply bg-purple-600;
@@ -185,29 +147,13 @@
}
&.new {
- box-shadow: 0 0 0 calc(var(--spacing) * 1) var(--color-amber-600);
+ box-shadow: 0 0 0 4px var(--color-amber-600);
.toast {
@apply bg-amber-600;
}
}
- &.eventPreStart {
- box-shadow: 0 0 0 calc(var(--spacing) * 1) var(--color-rose-600);
-
- .toast {
- @apply bg-rose-600;
- }
- }
-
- &.eventOngoing {
- box-shadow: 0 0 0 calc(var(--spacing) * 1) var(--color-teal-600);
-
- .toast {
- @apply bg-teal-600;
- }
- }
-
img.thumbnail {
@apply absolute h-full w-full object-cover transition-transform;
diff --git a/src/lib/components/DateWidget.svelte b/src/lib/components/DateWidget.svelte
index 90065a3..fd52c69 100644
--- a/src/lib/components/DateWidget.svelte
+++ b/src/lib/components/DateWidget.svelte
@@ -10,7 +10,7 @@
class: className = ''
}: {
dateString?: string;
- type?: 'published' | 'updated' | 'eventStart' | 'eventFinish';
+ type?: 'published' | 'updated';
highlight?: boolean;
showTime?: boolean;
class?: string;
@@ -18,9 +18,7 @@
const typeToIcon = {
published: 'material-symbols:calendar-today',
- updated: 'material-symbols:update',
- eventStart: 'material-symbols:rocket-launch',
- eventFinish: 'material-symbols:sports-score'
+ updated: 'material-symbols:update'
};
const icon = type ? typeToIcon[type] : undefined;
@@ -30,12 +28,7 @@
{#if icon}
diff --git a/src/lib/util/Blogs.ts b/src/lib/util/Blogs.ts
index 223ca87..e10d18d 100644
--- a/src/lib/util/Blogs.ts
+++ b/src/lib/util/Blogs.ts
@@ -8,11 +8,6 @@ export enum EventStatus {
IsOver
}
-export function postIsEventOfInterest(post: App.BlogPost): boolean {
- const status = postEventStatus(post);
- return status === EventStatus.NotStarted || status === EventStatus.InProgress;
-}
-
export function postEventStatus(post: App.BlogPost): EventStatus {
if (post.type !== 'event' || post.dateEventFrom === undefined || post.dateEventTo === undefined) {
return EventStatus.NotEvent;
@@ -31,21 +26,17 @@ export function postEventStatus(post: App.BlogPost): EventStatus {
export type PostComparer = (a: App.BlogPost, b: App.BlogPost) => number;
export const sortPostsByPostDate: PostComparer = (a, b) => new Date(b.date!).valueOf() - new Date(a.date!).valueOf();
-export const sortPostsByPostAndUpdateDate: PostComparer = (a, b) => laterDate(b.date!, b.dateChanged) - laterDate(a.date!, a.dateChanged);
-function laterDate(a: string, ...dates: (string | undefined)[]): number {
+function laterDate(a: string, b?: string): number {
const dateA = new Date(a).valueOf();
- if (dates.length <= 0) return dateA;
+ if (!b) return dateA;
- let max = dateA;
- for (const d of dates) {
- if (!d) continue;
- const date = new Date(d).valueOf();
- max = Math.max(max, date);
- };
- return max;
+ const dateB = new Date(b).valueOf();
+ return Math.max(dateA, dateB);
}
+export const sortPostsByPostAndUpdateDate: PostComparer = (a, b) => laterDate(b.date!, b.dateChanged) - laterDate(a.date!, a.dateChanged);
+
export async function fetchPostsSorted(postComparer?: PostComparer) {
const allPosts = await fetchPosts();
diff --git a/src/pages/index.md b/src/pages/index.md
index ae91af5..e206d50 100644
--- a/src/pages/index.md
+++ b/src/pages/index.md
@@ -36,7 +36,4 @@ __Tea Sanctuary__ — это также и сообщество едином
Общие вопросы можно задавать в [сообществе Tea Sanctuary](https://teasanctuary.ru/discord).
Там же можете написать личное сообщение администраторам.
-Есть и другие способы следить за нашими новостями — например, [канал в Telegram](https://t.me/tea_sanctuary),
-с комментариями и отдельным чатом.
-
Наши соцсети и почту для более важных обращений можно найти на странице [Контакты](/contact).
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index f6024d4..e617887 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,24 +1,11 @@
@@ -101,11 +88,9 @@
ПОСЛЕДНИЕ ПОСТЫ
- {#each posts as post, i}
+ {#each page.data.posts as post, i}
- {#key post}
-
- {/key}
+
{/each}
diff --git a/src/routes/+page.ts b/src/routes/+page.ts
index a94c88b..e430cc1 100644
--- a/src/routes/+page.ts
+++ b/src/routes/+page.ts
@@ -1,6 +1,6 @@
import { fetchPostsSorted, sortPostsByPostAndUpdateDate } from "$src/lib/util/Blogs";
-const LATEST_POSTS_COUNT = 5;
+const LATEST_POSTS_COUNT = 3;
export async function load() {
let md: any
diff --git a/src/routes/blog/+page.server.ts b/src/routes/blog/+page.server.ts
index 916e748..c5653b5 100644
--- a/src/routes/blog/+page.server.ts
+++ b/src/routes/blog/+page.server.ts
@@ -1,4 +1,4 @@
-import { fetchPostsSorted } from "$lib/util/Blogs";
+import { fetchPostsSorted } from "$src/lib/util/Blogs";
export async function load() {
return { title: "Блог", description: "Новости и заметки проектов Tea Sanctuary", posts: await fetchPostsSorted() };
diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte
index 3eed89a..da243da 100644
--- a/src/routes/blog/+page.svelte
+++ b/src/routes/blog/+page.svelte
@@ -1,10 +1,8 @@
@@ -54,20 +39,6 @@
пропускать новые посты!
-{#if !!eventPosts && eventPosts.length > 0}
-
- АКТУАЛЬНЫЕ СОБЫТИЯ
-
-
- {#each eventPosts as post, i}
-
-
-
- {/each}
-
-
-{/if}
-
{#each groupedPosts.entries() as [monthYear, postsInMonthYear]}
{/each}
-
+
\ No newline at end of file