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;
}