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 './css/icons.css'; 26import './css/tray.css'; 27import './css/settings.css'; 28import './css/slide-bar.css'; 29import './css/viewer.css'; 30import './css/filters.css'; 31import './css/list.css'; 32 33import "./styles.css"; 34 35import App from "./Components/App"; 36import { invoke } from "@tauri-apps/api/core"; 37 38import { LoadingManager } from "./Components/Managers/LoadingManager"; 39import { PhotoManager } from "./Components/Managers/PhotoManager"; 40import { ConfirmationBoxManager } from "./Components/Managers/ConfirmationBoxManager"; 41import { PhotoViewerManager } from "./Components/Managers/PhotoViewerManager"; 42import { WorldCacheManager } from "./Components/Managers/WorldCacheManager"; 43import { PhotoListRenderingManager } from "./Components/Managers/PhotoListRenderingManager"; 44import { SyncManager } from "./Components/Managers/SyncManager"; 45import { ViewManager } from "./Components/Managers/ViewManager"; 46 47window.LoadingManager = new LoadingManager(); 48window.PhotoManager = new PhotoManager(); 49window.ConfirmationBoxManager = new ConfirmationBoxManager(); 50window.PhotoViewerManager = new PhotoViewerManager(); 51window.WorldCacheManager = new WorldCacheManager(); 52window.PhotoListRenderingManager = new PhotoListRenderingManager(); 53window.SyncManager = new SyncManager(); 54window.ViewManager = new ViewManager(); 55 56(async () => { 57 window.OS = await invoke('get_os'); 58 59 render(() => <App />, document.getElementById("root") as HTMLElement); 60 61 let f = new FontFace('Rubik', 'url(https://cdn.phaz.uk/fonts/rubik/Rubik-VariableFont_wght.ttf)'); 62 63 f.load().then((font) => { 64 document.fonts.add(font); 65 }); 66})();