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})();