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 15 CloseAllPopups: (() => void)[]; 16 OS: string; 17 } 18} 19 20window.CloseAllPopups = []; 21 22window.oncontextmenu = ( e ) => e.preventDefault(); 23 24import "./styles.css"; 25import App from "./Components/App"; 26import { invoke } from "@tauri-apps/api/core"; 27 28import { AccountManager } from "./Components/Managers/AccountManager"; 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"; 36 37window.AccountManager = new AccountManager(); 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(); 45 46(async () => { 47 window.OS = await invoke('get_os'); 48 49 render(() => <App />, document.getElementById("root") as HTMLElement); 50 51 let f = new FontFace('Rubik', 'url(https://cdn.phaz.uk/fonts/rubik/Rubik-VariableFont_wght.ttf)'); 52 53 f.load().then((font) => { 54 document.fonts.add(font); 55 }); 56})();