serve a static website from your pds
1import { PUBLIC_HOST, PUBLIC_REDIRECT_HOST } from "$env/static/public";
2
3import { Client } from "@atcute/client";
4import { configureOAuth, OAuthUserAgent, type Session } from "@atcute/oauth-browser-client";
5
6import ATProto from "./atproto";
7
8export const CLIENT_ID = `${PUBLIC_HOST}/client-metadata.json`;
9export const REDIRECT_URI = `${PUBLIC_REDIRECT_HOST || PUBLIC_HOST}/oauth/callback`;
10
11export function configure() {
12 configureOAuth({ metadata: { client_id: CLIENT_ID, redirect_uri: REDIRECT_URI } });
13}
14
15export function client(session: Session) {
16 const handler = new OAuthUserAgent(session);
17 const client = new Client({ handler });
18
19 return new ATProto(session.info.sub, client);
20}