import { invoke } from "@tauri-apps/api/core"; import { openUrl } from "@tauri-apps/plugin-opener"; import type { LicenseCheckStatus } from "@yaakapp-internal/license"; import { useEffect, useState } from "react"; import { appInfo } from "../lib/appInfo"; import { DismissibleBanner } from "./core/DismissibleBanner"; export function CommercialUseBanner({ children, source, title, }: { children: string; source: string; title: string; }) { const [visible, setVisible] = useState(false); useEffect(() => { let canceled = false; shouldShowCommercialUsePrompt() .then((shouldShow) => { if (!canceled) setVisible(shouldShow); }) .catch(console.error); return () => { canceled = true; }; }, [source]); if (!visible) return null; return (
{title}
{children}