Openstatus www.openstatus.dev
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 36 lines 1.1 kB view raw
1"use client"; 2 3import { useCookieState } from "@/hooks/use-cookie-state"; 4import { useTRPC } from "@/lib/trpc/client"; 5import { useQuery } from "@tanstack/react-query"; 6import { NavBannerChecklist } from "./nav-banner-checklist"; 7import { NavBannerUpgrade } from "./nav-banner-upgrade"; 8 9const EXPIRES_IN = 7 * 24 * 60 * 60 * 1000; // in 7 days 10 11export function NavBanner() { 12 const trpc = useTRPC(); 13 const { data: workspace } = useQuery(trpc.workspace.get.queryOptions()); 14 const [openChecklist, setOpenChecklist] = useCookieState<"true" | "false">( 15 "sidebar_banner_checklist", 16 "true", 17 { expires: EXPIRES_IN }, 18 ); 19 const [openUpgrade, setOpenUpgrade] = useCookieState<"true" | "false">( 20 "sidebar_banner_upgrade", 21 "true", 22 { expires: EXPIRES_IN }, 23 ); 24 25 if (!workspace) return null; 26 27 if (openChecklist === "true") { 28 return <NavBannerChecklist handleClose={() => setOpenChecklist("false")} />; 29 } 30 31 if (openUpgrade === "true" && workspace.plan === "free") { 32 return <NavBannerUpgrade handleClose={() => setOpenUpgrade("false")} />; 33 } 34 35 return null; 36}