A photo manager for VRChat.
1/* @refresh reload */
2import { render } from "solid-js/web";
3
4declare global{
5 interface Window {
6 AccountManager: AccountManager;
7 LoadingManager: LoadingManager;
8 PhotoManager: PhotoManager;
9 ConfirmationBoxManager: ConfirmationBoxManager;
10 PhotoViewerManager: PhotoViewerManager;
11 WorldCacheManager: WorldCacheManager;
12 PhotoListRenderingManager: PhotoListRenderingManager;
13 SyncManager: SyncManager;
14 ViewManager: ViewManager;
15
16 CloseAllPopups: (() => void)[];
17 OS: string;
18
19 }
20}
21
22window.CloseAllPopups = [];
23
24window.oncontextmenu = ( e ) => e.preventDefault();
25
26import "./styles.css";
27import App from "./Components/App";
28import { invoke } from "@tauri-apps/api/core";
29
30import { AccountManager } from "./Components/Managers/AccountManager";
31import { LoadingManager } from "./Components/Managers/LoadingManager";
32import { PhotoManager } from "./Components/Managers/PhotoManager";
33import { ConfirmationBoxManager } from "./Components/Managers/ConfirmationBoxManager";
34import { PhotoViewerManager } from "./Components/Managers/PhotoViewerManager";
35import { WorldCacheManager } from "./Components/Managers/WorldCacheManager";
36import { PhotoListRenderingManager } from "./Components/Managers/PhotoListRenderingManager";
37import { SyncManager } from "./Components/Managers/SyncManager";
38import { ViewManager } from "./Components/Managers/ViewManager";
39
40window.AccountManager = new AccountManager();
41window.LoadingManager = new LoadingManager();
42window.PhotoManager = new PhotoManager();
43window.ConfirmationBoxManager = new ConfirmationBoxManager();
44window.PhotoViewerManager = new PhotoViewerManager();
45window.WorldCacheManager = new WorldCacheManager();
46window.PhotoListRenderingManager = new PhotoListRenderingManager();
47window.SyncManager = new SyncManager();
48window.ViewManager = new ViewManager();
49
50(async () => {
51 window.OS = await invoke('get_os');
52
53 render(() => <App />, document.getElementById("root") as HTMLElement);
54
55 let f = new FontFace('Rubik', 'url(https://cdn.phaz.uk/fonts/rubik/Rubik-VariableFont_wght.ttf)');
56
57 f.load().then((font) => {
58 document.fonts.add(font);
59 });
60})();