From 92e7e1f1cb763a16b3781fcb0399efae29311ffd Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 24 Oct 2024 21:38:36 +0200 Subject: [PATCH] feat(dashboard): add news --- Catalogger.Frontend/package.json | 6 +++- Catalogger.Frontend/src/lib/api.ts | 14 +++++++++ Catalogger.Frontend/src/routes/+page.svelte | 17 +++++++--- Catalogger.Frontend/src/routes/Message.svelte | 31 +++++++++++++++++++ Catalogger.Frontend/yarn.lock | 10 ++++++ 5 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 Catalogger.Frontend/src/routes/Message.svelte diff --git a/Catalogger.Frontend/package.json b/Catalogger.Frontend/package.json index 114f4b8..b4070de 100644 --- a/Catalogger.Frontend/package.json +++ b/Catalogger.Frontend/package.json @@ -17,6 +17,7 @@ "@sveltejs/vite-plugin-svelte": "^3.0.0", "@sveltestrap/sveltestrap": "^6.2.7", "@types/eslint": "^9.6.0", + "@types/luxon": "^3.4.2", "bootstrap": "^5.3.3", "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", @@ -33,5 +34,8 @@ "vite": "^5.0.3", "vite-plugin-markdown": "^2.2.0" }, - "type": "module" + "type": "module", + "dependencies": { + "luxon": "^3.5.0" + } } diff --git a/Catalogger.Frontend/src/lib/api.ts b/Catalogger.Frontend/src/lib/api.ts index cd20aac..9db5318 100644 --- a/Catalogger.Frontend/src/lib/api.ts +++ b/Catalogger.Frontend/src/lib/api.ts @@ -137,3 +137,17 @@ export type GuildChannelConfig = { message_delete: string; message_delete_bulk: string; }; + +export type Meta = { + guilds: number; + invite_url: string; + news: NewsMessage[]; +}; + +export type NewsMessage = { + author: string; + content: string; + attachment_urls: string[]; + posted_at: string; + edited_at: string | null; +}; diff --git a/Catalogger.Frontend/src/routes/+page.svelte b/Catalogger.Frontend/src/routes/+page.svelte index 3ceb478..f0bed2a 100644 --- a/Catalogger.Frontend/src/routes/+page.svelte +++ b/Catalogger.Frontend/src/routes/+page.svelte @@ -1,20 +1,21 @@ @@ -59,3 +60,11 @@

{/if} + +

News

+ +{#each news as message (message.posted_at)} + +{:else} +

No news right now.

+{/each} diff --git a/Catalogger.Frontend/src/routes/Message.svelte b/Catalogger.Frontend/src/routes/Message.svelte new file mode 100644 index 0000000..7db0ddb --- /dev/null +++ b/Catalogger.Frontend/src/routes/Message.svelte @@ -0,0 +1,31 @@ + + + + + {message.content} + + + From {message.author} • Posted {postedAt} + {#if editedAt} +

(edited {editedAt})

+ {/if} +
+
diff --git a/Catalogger.Frontend/yarn.lock b/Catalogger.Frontend/yarn.lock index 492f46b..e09c92d 100644 --- a/Catalogger.Frontend/yarn.lock +++ b/Catalogger.Frontend/yarn.lock @@ -505,6 +505,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@types/luxon@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@types/luxon/-/luxon-3.4.2.tgz#e4fc7214a420173cea47739c33cdf10874694db7" + integrity sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA== + "@typescript-eslint/eslint-plugin@8.9.0": version "8.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.9.0.tgz#bf0b25305b0bf014b4b194a6919103d7ac2a7907" @@ -1278,6 +1283,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +luxon@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20" + integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== + magic-string@^0.30.10, magic-string@^0.30.4, magic-string@^0.30.5: version "0.30.12" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60"