Skip to content

Commit

Permalink
chore: Minor refactor and add more placeholder announcements
Browse files Browse the repository at this point in the history
  • Loading branch information
Ushie committed Sep 17, 2024
1 parent 566a777 commit d65c01e
Show file tree
Hide file tree
Showing 4 changed files with 150 additions and 100 deletions.
94 changes: 51 additions & 43 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 64 additions & 2 deletions src/data/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,71 @@ async function announcements(channel?: string): Promise<AnnouncementsData> {
createdAt: {
value: '2024-09-11T07:32:38.849Z'
},
id: 420,
level: 420,
attachmentUrls: [
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65'
],
id: 874,
level: 874,
title: 'test title 2'
},
{
author: 'balls',
channel: 'test2',
content:
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis.',
createdAt: {
value: '2024-09-03T15:54:31.912Z'
},
id: 510,
level: 510,
title: 'test title 2'
},
{
author: 'balls',
channel: 'test2',
content:
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis.',
createdAt: {
value: '2024-09-03T15:54:31.912Z'
},
attachmentUrls: [
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65'
],
id: 87,
level: 87,
title: 'test title 2'
},
{
author: 'balls',
channel: 'test2',
content:
'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis. Lorem ipsum dolor, sit amet consectetur adipisicing elit. Velit dignissimos reiciendis quo alias, nihil error eaque consectetur nam quaerat accusamus iste fugit, ad, atque placeat perferendis commodi culpa sequi nobis.',
createdAt: {
value: '2024-09-03T15:54:31.912Z'
},
id: 8,
level: 8,
title: 'test title 2'
},
{
author: 'madkarmaa',
channel: 'test',
content: 'short content',
createdAt: {
value: '2024-09-03T15:53:01.532Z'
},
id: 984,
level: 984,
title: 'test title',
attachmentUrls: [
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65',
'https://repository-images.githubusercontent.com/731390704/b0ddaf49-d868-4bb5-866c-417a86ebbf65'
]
}
]
};
Expand Down
40 changes: 35 additions & 5 deletions src/routes/announcements/+page.svelte
Original file line number Diff line number Diff line change
@@ -1,10 +1,40 @@
<script lang="ts">
import CardsList from '$layout/Announcements/CardsList.svelte';
import { createQuery } from '@tanstack/svelte-query';
import { derived, readable, type Readable } from 'svelte/store';
import { building } from '$app/environment';
import { page } from '$app/stores';
import Query from '$lib/components/Query.svelte';
import AnnouncementCard from './AnnouncementCard.svelte';
import { queries } from '$data/api';
import ChannelChip from './ChannelChip.svelte';
import Masonry from 'svelte-bricks';
let searchParams: Readable<URLSearchParams>;
if (building) searchParams = readable(new URLSearchParams());
else searchParams = derived(page, ($page) => $page.url.searchParams);
$: query = createQuery(queries.announcements());
$: channel = $searchParams.get('channel');
function uniqueObjArrayByKey<T extends object>(array: T[], key: keyof T) {
return array.filter((obj, index, self) => index === self.findIndex((t) => t[key] === obj[key]));
}
</script>

<main class="wrapper">
<CardsList />
</main>
<div class="announcements-list">
<Query {query} let:data>
<div class="channels-selection">
{#each uniqueObjArrayByKey(data.announcements, 'channel') as ann (ann.id)}
<ChannelChip channel={ann.channel} />
{/each}
</div>

<style>
</style>
<Masonry items={data.announcements.filter((a) => a.channel === channel)} let:item>
<AnnouncementCard {item} />
</Masonry>
</Query>
</div>
</main>
Loading

0 comments on commit d65c01e

Please sign in to comment.