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