"use client";
import { useSearchParams, useRouter, usePathname } from "next/navigation";
import { useEffect, useState } from "react";
import { useIdentityData } from "./IdentityProvider";
import { Modal } from "./Modal";
export function SubscriptionSuccessModal() {
let searchParams = useSearchParams();
let router = useRouter();
let pathname = usePathname();
let { identity, mutate } = useIdentityData();
let [open, setOpen] = useState(false);
let [loading, setLoading] = useState(true);
let isUpgradeSuccess = searchParams.get("upgrade") === "success";
useEffect(() => {
if (!isUpgradeSuccess) return;
setOpen(true);
setLoading(true);
mutate().then(() => setLoading(false));
}, [isUpgradeSuccess]);
function handleOpenChange(next: boolean) {
setOpen(next);
if (!next) {
let params = new URLSearchParams(searchParams.toString());
params.delete("upgrade");
let qs = params.toString();
router.replace(qs ? `${pathname}?${qs}` : pathname, { scroll: false });
}
}
if (!isUpgradeSuccess && !open) return null;
return (
Activating your subscription...
Your Pro subscription is active. Thanks for supporting Leaflet!