feat: refresh button

This commit is contained in:
2025-05-03 19:03:24 +01:00
parent 63e3081a69
commit 6952aa16da

View File

@ -1,5 +1,5 @@
import { Button } from "@kobalte/core/button"; import { Button } from "@kobalte/core/button";
import { IconSearch, IconSettings } from "@tabler/icons-solidjs"; import { IconRefresh, IconSearch, IconSettings } from "@tabler/icons-solidjs";
import { listen } from "@tauri-apps/api/event"; import { listen } from "@tauri-apps/api/event";
import Fuse from "fuse.js"; import Fuse from "fuse.js";
import { import {
@ -14,9 +14,8 @@ import { SearchCard } from "./components/search-card/SearchCard";
import { invoke } from "@tauri-apps/api/core"; import { invoke } from "@tauri-apps/api/core";
import { ItemModal } from "./components/item-modal/ItemModal"; import { ItemModal } from "./components/item-modal/ItemModal";
import type { Shortcut } from "./components/shortcuts/hooks/useShortcutEditor"; import type { Shortcut } from "./components/shortcuts/hooks/useShortcutEditor";
import type { sendImage, UserImage } from "./network"; import type { UserImage } from "./network";
import { useSearchImageContext } from "./contexts/SearchImageContext"; import { useSearchImageContext } from "./contexts/SearchImageContext";
import { ImageStatus } from "./components/image-status/ImageStatus";
export const Search = () => { export const Search = () => {
const [searchResults, setSearchResults] = createSignal<UserImage[]>([]); const [searchResults, setSearchResults] = createSignal<UserImage[]>([]);
@ -25,10 +24,7 @@ export const Search = () => {
null, null,
); );
const [processingImage, setProcessingImage] = const { images, onRefetchImages } = useSearchImageContext();
createSignal<Awaited<ReturnType<typeof sendImage>>>();
const { images } = useSearchImageContext();
let fuze = new Fuse<UserImage>(images() ?? [], { let fuze = new Fuse<UserImage>(images() ?? [], {
keys: [ keys: [
@ -115,6 +111,12 @@ export const Search = () => {
class="appearance-none inline-flex w-full min-h-[40px] text-base bg-transparent rounded-l-md outline-none placeholder:text-gray-600" class="appearance-none inline-flex w-full min-h-[40px] text-base bg-transparent rounded-l-md outline-none placeholder:text-gray-600"
/> />
</div> </div>
<Button
class="ml-2 p-2.5 bg-neutral-200 rounded-lg"
onClick={onRefetchImages}
>
<IconRefresh size={20} />
</Button>
<Button <Button
as="a" as="a"
href="/settings" href="/settings"
@ -176,11 +178,6 @@ export const Search = () => {
onClose={() => setSelectedItem(null)} onClose={() => setSelectedItem(null)}
/> />
)} )}
<ImageStatus
processingImage={processingImage}
onSetProcessingImage={setProcessingImage}
/>
</> </>
); );
}; };