mirror of
https://github.com/mountain-loop/yaak.git
synced 2025-12-23 22:48:55 -05:00
32 lines
735 B
TypeScript
32 lines
735 B
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { convertFileSrc } from '@tauri-apps/api/core';
|
|
import { resolveResource } from '@tauri-apps/api/path';
|
|
import classNames from 'classnames';
|
|
|
|
interface Props {
|
|
src: string;
|
|
className?: string;
|
|
}
|
|
|
|
export function LocalImage({ src: srcPath, className }: Props) {
|
|
const src = useQuery({
|
|
queryKey: ['local-image', srcPath],
|
|
queryFn: async () => {
|
|
const p = await resolveResource(srcPath);
|
|
return convertFileSrc(p);
|
|
},
|
|
});
|
|
|
|
return (
|
|
<img
|
|
src={src.data}
|
|
alt="Response preview"
|
|
className={classNames(
|
|
className,
|
|
'transition-opacity',
|
|
src.data == null ? 'opacity-0' : 'opacity-100',
|
|
)}
|
|
/>
|
|
);
|
|
}
|