Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 49 lines 1.5 kB view raw
1"use client"; 2 3import { useIsMobile } from "@/hooks/use-mobile"; 4import * as Portal from "@radix-ui/react-portal"; 5import { Kbd } from "./common/kbd"; 6import { 7 Tooltip, 8 TooltipContent, 9 TooltipProvider, 10 TooltipTrigger, 11} from "./ui/tooltip"; 12 13export function DevelopmentIndicator() { 14 const isMobile = useIsMobile(); 15 16 if (process.env.NODE_ENV !== "production") return null; 17 18 return ( 19 <Portal.Root> 20 <div className="pointer-events-none fixed inset-0 z-[9999] border-2 border-destructive" /> 21 <div className="fixed inset-x-0 bottom-0 z-[9999] select-none"> 22 <div className="flex items-center justify-center"> 23 <TooltipProvider delayDuration={0}> 24 <Tooltip> 25 <TooltipTrigger> 26 <div className="w-fit rounded-t bg-destructive px-2 py-1 font-mono text-background text-xs"> 27 In Beta 28 </div> 29 </TooltipTrigger> 30 <TooltipContent side="top"> 31 {!isMobile ? ( 32 <p> 33 Press{" "} 34 <Kbd variant="secondary" className="-me-0 ms-0"> 35 F 36 </Kbd>{" "} 37 key to provide feedback. 38 </p> 39 ) : ( 40 <p>Use a larger screen to provide feedback.</p> 41 )} 42 </TooltipContent> 43 </Tooltip> 44 </TooltipProvider> 45 </div> 46 </div> 47 </Portal.Root> 48 ); 49}