Thread viewer for Bluesky
1import { AuthenticatedAPI } from "./api/authenticated_api";
2import { BlueskyAPI, URLError } from "./api/bluesky_api";
3import { APIError, Minisky } from "./api/minisky";
4import { settings } from "./models/settings.svelte";
5
6export { AuthenticatedAPI, BlueskyAPI, Minisky };
7export { APIError, URLError };
8
9declare global {
10 interface Window {
11 AuthenticatedAPI: typeof AuthenticatedAPI;
12 BlueskyAPI: typeof BlueskyAPI;
13 Minisky: typeof Minisky;
14
15 api: BlueskyAPI;
16 appView: BlueskyAPI;
17 blueAPI: BlueskyAPI;
18 constellationAPI: BlueskyAPI;
19 accountAPI: AuthenticatedAPI;
20 }
21}
22
23export let appView = new BlueskyAPI('api.bsky.app');
24export let blueAPI = new BlueskyAPI('blue.mackuba.eu');
25export let constellationAPI = new BlueskyAPI('constellation.microcosm.blue');
26export let accountAPI = new AuthenticatedAPI();
27export let api: BlueskyAPI;
28
29export function setAPI() {
30 api = (accountAPI.isLoggedIn && !settings.incognitoMode) ? accountAPI : appView;
31 window.api = api;
32}
33
34setAPI();
35
36window.AuthenticatedAPI = AuthenticatedAPI;
37window.BlueskyAPI = BlueskyAPI;
38window.Minisky = Minisky;
39
40window.appView = appView;
41window.blueAPI = blueAPI;
42window.accountAPI = accountAPI;
43window.constellationAPI = constellationAPI;