umami/src/app/(main)/links/LinkProvider.tsx
Mike Cao f40e1b44f3
Some checks failed
Node.js CI / build (postgresql, 18.18) (push) Has been cancelled
Updates for cloud mode.
2025-09-04 20:27:42 -07:00

21 lines
653 B
TypeScript

'use client';
import { createContext, ReactNode } from 'react';
import { Loading } from '@umami/react-zen';
import { Link } from '@/generated/prisma/client';
import { useLinkQuery } from '@/components/hooks/queries/useLinkQuery';
export const LinkContext = createContext<Link>(null);
export function LinkProvider({ linkId, children }: { linkId?: string; children: ReactNode }) {
const { data: link, isLoading, isFetching } = useLinkQuery(linkId);
if (isFetching && isLoading) {
return <Loading placement="absolute" />;
}
if (!link) {
return null;
}
return <LinkContext.Provider value={link}>{children}</LinkContext.Provider>;
}