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;