import { useQuery } from '@tanstack/react-query'; import { Suspense } from 'react'; import { FilePath, useLibraryContext } from '@sd/client'; import { ContextMenu } from '@sd/ui'; import { Platform, usePlatform } from '~/util/Platform'; export default (props: { filePath: FilePath }) => { const { getFilePathOpenWithApps, openFilePathWith } = usePlatform(); if (!getFilePathOpenWithApps || !openFilePathWith) return null; return ( ); }; const Items = ({ filePath, actions }: { filePath: FilePath; actions: Required>; }) => { const { library } = useLibraryContext(); const items = useQuery( ['openWith', filePath.id], () => actions.getFilePathOpenWithApps(library.uuid, filePath.id), { suspense: true } ); return ( <> {items.data?.map((d) => ( actions.openFilePathWith(library.uuid, filePath.id, d.url)} > {d.name} ))} ); };