react-bluesky-embed
Version:
React Bluesky Embed allows you to embed post threads, profiles, and comments in your React application when using Next.js, Create React App, Vite, and more.
1 lines • 648 B
JavaScript
"use client";import{useEffect,useState}from"react";import swr from"swr";import{getPostThread}from"./api/index.js";const useSWR=swr.default||swr;async function fetcher([params,config]){const res=await getPostThread({did:params.did,rkey:params.rkey},config);return res}export const usePostThread=(params,config)=>{const{isLoading,data,error}=useSWR(()=>[params,config],fetcher,{revalidateIfStale:false,revalidateOnFocus:false,shouldRetryOnError:false});return{isLoading:Boolean(isLoading||data===undefined&&!error),data,error}};export const useMounted=()=>{const[mounted,setMounted]=useState(false);useEffect(()=>setMounted(true),[]);return mounted};