import { FolderPicker } from "./components/FolderPicker"; import { listen } from "@tauri-apps/api/event"; import { createEffect, createSignal } from "solid-js"; import { Search } from "@kobalte/core/search"; import { IconSearch, IconRefresh } from "@tabler/icons-solidjs"; type Emoji = { emoji: string; name: string; }; function App() { const [latestImage, setLatestImage] = createSignal(null); const [options, setOptions] = createSignal([]); const [emoji, setEmoji] = createSignal(null); const emojiData: Emoji[] = [ { emoji: "😀", name: "Grinning Face" }, { emoji: "😃", name: "Grinning Face with Big Eyes" }, { emoji: "😄", name: "Grinning Face with Smiling Eyes" }, { emoji: "😁", name: "Beaming Face with Smiling Eyes" }, { emoji: "😆", name: "Grinning Squinting Face" }, ]; const queryEmojiData = (query: string) => { return emojiData.filter((emoji) => emoji.name.toLowerCase().includes(query.toLowerCase()) ); }; createEffect(() => { // Listen for PNG processing events const unlisten = listen("png-processed", (event) => { console.log("Received processed PNG"); const base64Data = event.payload as string; setLatestImage(`data:image/png;base64,${base64Data}`); }); return () => { unlisten.then((fn) => fn()); // Cleanup listener }; }); return (

hello???

{latestImage() && (

Latest Processed Image:

Latest processed
)} setOptions(queryEmojiData(query))} onChange={(result) => setEmoji(result)} optionValue="name" optionLabel="name" placeholder="Search an emoji…" itemComponent={(props) => ( {props.item.rawValue.emoji} )} > } > e.preventDefault()} > 😬 No emoji found
Emoji selected: {emoji()?.emoji} {emoji()?.name}
); } export default App;