A photo manager for VRChat.
1import { createSignal, onMount } from "solid-js"; 2 3import PhotoList from "./PhotoList"; 4import PhotoViewer from "./PhotoViewer"; 5import SettingsMenu from "./SettingsMenu"; 6import { animate, utils } from "animejs"; 7import { listen } from "@tauri-apps/api/event"; 8 9let App = () => { 10 let [ errorText, setErrorText ] = createSignal(''); 11 12 onMount(() => { 13 utils.set('.settings', 14 { 15 display: 'none', 16 opacity: 0, 17 translateX: '500px' 18 }) 19 20 listen<string>('vrcpm-error', ( ev ) => { 21 setErrorText(ev.payload); 22 23 utils.set('.error-notif', { translateX: '-50%', translateY: '-100px' }); 24 animate('.error-notif', { 25 ease: 'outElastic', 26 opacity: 1, 27 translateY: '0px' 28 }); 29 30 setTimeout(() => { 31 animate('.error-notif', { 32 ease: 'outElastic', 33 opacity: 0, 34 translateY: '-100px' 35 }); 36 }, 2000); 37 }); 38 }) 39 40 return ( 41 <div class="container"> 42 <PhotoList /> 43 <PhotoViewer /> 44 45 <SettingsMenu /> 46 47 <div class="copy-notif">Image Copied!</div> 48 <div class="error-notif">{ errorText() }</div> 49 </div> 50 ); 51} 52 53export default App;