diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..fc20ab1 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +DISCORD_TOKEN= + +LASTFM_KEY= +LASTFM_SECRET= diff --git a/src/app.d.ts b/src/app.d.ts index ca82793..0767a88 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -7,12 +7,41 @@ interface PostsObject { image: string; } +interface Discord { + id: number; + username: string; + global_name: string; + avatar: string; + clan: unknown; +} + +interface LastFMImage { + size: string; + '#text': string; +} + +interface LastFMTrack { + image: Array; + name: string; + artist: { + '#text': string; + }; +} + +interface LastFM { + recenttracks: { + track: Array; + }; +} + declare global { namespace App { // interface Error {} // interface Locals {} interface PageData { posts?: Array; + discord: Discord; + lastfm: LastFM; } // interface PageState {} // interface Platform {} diff --git a/src/lib/config.js b/src/lib/config.js index eb3e584..baa1bb1 100644 --- a/src/lib/config.js +++ b/src/lib/config.js @@ -1,8 +1,8 @@ export default { - DISCORD: '000000000000000000', - LASTFM: 'lastfm', - BLUESKY: 'n', - TWITTER: 'dope', - FEDIVERSE: 'idfk', - NOSTR: 'forgot how that worked' + DISCORD: '223004006299992064', + LASTFM: 'RAAAAAAAAAAAH', + BLUESKY: 'cirroskais.xyz', + TWITTER: '@cirroskais', + FEDIVERSE: '@cirroskais@chadthundercock.com', + GITHUB: 'cirroskais' }; diff --git a/src/lib/server/discord.js b/src/lib/server/discord.js index e69de29..c2daa82 100644 --- a/src/lib/server/discord.js +++ b/src/lib/server/discord.js @@ -0,0 +1,11 @@ +import { DISCORD_TOKEN } from '$env/static/private'; +import config from '$lib/config'; + +export default async function () { + const response = await fetch(`https://discord.com/api/users/${config.DISCORD}`, { + method: 'GET', + headers: { Authorization: `Bot ${DISCORD_TOKEN}` } + }); + + return response.json(); +} diff --git a/src/lib/server/lastfm.js b/src/lib/server/lastfm.js index e69de29..20f087d 100644 --- a/src/lib/server/lastfm.js +++ b/src/lib/server/lastfm.js @@ -0,0 +1,17 @@ +import { LASTFM_KEY } from '$env/static/private'; +import config from '$lib/config'; + +const BASE_URL = 'https://ws.audioscrobbler.com/2.0'; +const METHOD = 'user.getRecentTracks&limit=1'; + +export default async function () { + const response = await fetch( + `${BASE_URL}/?method=${METHOD}&user=${config.LASTFM}&api_key=${LASTFM_KEY}&format=json`, + { + method: 'GET', + headers: { 'User-Agent': 'cirroskais/2.0' } + } + ); + + return response.json(); +} diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js new file mode 100644 index 0000000..77b3187 --- /dev/null +++ b/src/routes/+layout.server.js @@ -0,0 +1,10 @@ +import discord from '$lib/server/discord'; +import lastfm from '$lib/server/lastfm'; + +/** @type {import("./$types").LayoutServerLoad} */ +export async function load() { + return { + discord: await discord(), + lastfm: await lastfm() + }; +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 8ac7cf4..96fce31 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -10,6 +10,12 @@ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6332f12..07ad59f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,69 @@ + + - cirroskais/home + {$page.data.discord?.username}/home
-
-
+
+
+ {$page.data.discord?.username}'s profile picture +

+ {$page.data.discord?.username} +

+
+ +
+
+ +
+

Full stack JavaScript developer.

+ +
+ +
+
+ _.size == 'extralarge' + )?.['#text']} + alt="Album art for {$page.data.lastfm?.recenttracks?.track[0]?.name}" + /> +
+

+ {$page.data.lastfm?.recenttracks?.track[0]?.name} +

+

+ {$page.data.lastfm?.recenttracks?.track[0]?.artist?.['#text']} +

+
+
+
diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte index ea832af..b03f332 100644 --- a/src/routes/blog/+page.svelte +++ b/src/routes/blog/+page.svelte @@ -1,6 +1,7 @@ - cirroskais/blog + {$page.data.discord?.username}/blog
diff --git a/src/routes/projects/+page.svelte b/src/routes/projects/+page.svelte index db81e4d..70dbb15 100644 --- a/src/routes/projects/+page.svelte +++ b/src/routes/projects/+page.svelte @@ -1,3 +1,7 @@ + + - cirroskais/projects + {$page.data.discord?.username}/projects