diff --git a/.env.example b/.env.example deleted file mode 100644 index ae13e37..0000000 --- a/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -VITE_DISCORD_CLIENT_ID= -API_HOST= \ No newline at end of file diff --git a/src/App.svelte b/src/App.svelte index 15235eb..b5df53c 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,14 +1,10 @@ {#if $user} diff --git a/src/lib/api.ts b/src/lib/api.ts index e69de29..b5307d5 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -0,0 +1,10 @@ +export interface Configuration { + DISCORD_CLIENT_ID: string; +} + +export async function fetchConfiguration() { + const response = await fetch("/api"); + const body: Promise = await response.json(); + + return body; +} diff --git a/src/lib/discord.ts b/src/lib/discord.ts index a66a834..18b99fc 100644 --- a/src/lib/discord.ts +++ b/src/lib/discord.ts @@ -1,13 +1,17 @@ import { DiscordSDK } from "@discord/embedded-app-sdk"; -export const discordSdk = new DiscordSDK(import.meta.env.VITE_DISCORD_CLIENT_ID); +import type { Configuration } from "./api"; +import { user } from "./stores"; export const ACTIVITY_STARTED = Date.now(); +export let discordSdk: DiscordSDK | null = null; + +export async function authorize(config: Configuration) { + discordSdk = new DiscordSDK(config.DISCORD_CLIENT_ID); -export async function authorize() { await discordSdk.ready(); const { code } = await discordSdk.commands.authorize({ - client_id: import.meta.env.VITE_DISCORD_CLIENT_ID, + client_id: config.DISCORD_CLIENT_ID, response_type: "code", state: "", prompt: "none", @@ -23,5 +27,7 @@ export async function authorize() { const { access_token } = await response.json(); const auth = await discordSdk.commands.authenticate({ access_token }); + user.set(auth.user); + return auth; }