import { View, Text, Spinner } from "tamagui"; import React, { useMemo, useState } from "react"; import SearchInput from "@/components/ui/search-input"; import GridView from "@/components/ui/grid-view"; import { useKeychains } from "../hooks/query"; import KeyItem from "./key-item"; import { keyFormModal } from "./form"; const KeyList = () => { const [search, setSearch] = useState(""); const keys = useKeychains({ withData: true }); const keyList = useMemo(() => { let items = keys.data || []; if (search) { items = items.filter((item: any) => { const q = search.toLowerCase(); return item.label.toLowerCase().includes(q); }); } return items.map((i: any) => ({ ...i, key: i.id })); }, [keys.data, search]); const onEdit = (item: any) => { keyFormModal.onOpen(item); }; return ( <> {keys.isLoading ? ( Loading... ) : ( ( onEdit(item)} /> )} /> )} ); }; export default React.memo(KeyList);