import { useQuery } from '@tanstack/react-query'; import { useApi } from 'soapbox/hooks'; type Embed = { type: string, version: string, author_name: string, author_url: string, provider_name: string, provider_url: string, cache_age: number, html: string, width: number, height: number, } /** Fetch OEmbed information for a status by its URL. */ // https://github.com/mastodon/mastodon/blob/main/app/controllers/api/oembed_controller.rb // https://github.com/mastodon/mastodon/blob/main/app/serializers/oembed_serializer.rb export default function useEmbed(url: string) { const api = useApi(); const getEmbed = async() => { const { data } = await api.get('/api/oembed', { params: { url } }); return data; }; return useQuery(['embed', url], getEmbed); }