"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { api } from "@/lib/api"; export default function Retention() { const [d, setD] = useState(null); useEffect(() => { api("/admin/subscription-lifecycle").then(setD).catch(() => {}); }, []); return (

Subscription & Retention

Upcoming Expiries (next 30 days)

{(d?.upcoming_expiries ?? []).map((u: any, i: number) => (
{u.org} {new Date(u.renewal).toLocaleDateString()} ยท {u.days}d left
))} {(!d?.upcoming_expiries || d.upcoming_expiries.length === 0) && (

No upcoming expiries.

)}
); } function Kpi({ label, value, tint }: any) { return (
{label}
{value}
); }