import Modal, { ModalWidth } from "../Modal/Modal"; import Icon, { IconType, SizeProp } from "../Icon/Icon"; import IconProp from "../../../Types/Icon/IconProp"; import React, { FunctionComponent, ReactElement, useMemo, useState, } from "react"; import { BILLING_ENABLED, IS_ENTERPRISE_EDITION } from "../../Config"; export interface ComponentProps { className?: string | undefined; } const ENTERPRISE_URL: string = "https://oneuptime.com/enterprise/demo"; const EditionLabel: FunctionComponent = ( props: ComponentProps, ): ReactElement => { const [isDialogOpen, setIsDialogOpen] = useState(false); if (BILLING_ENABLED) { return <>; } const editionName: string = IS_ENTERPRISE_EDITION ? "Enterprise Edition" : "Community Edition"; const indicatorColor: string = IS_ENTERPRISE_EDITION ? "bg-emerald-500" : "bg-indigo-400"; const ctaLabel: string = IS_ENTERPRISE_EDITION ? "View benefits" : "Learn more"; const communityFeatures: Array = useMemo(() => { return [ "Full OneUptime platform with incident response, status pages, and workflow automation.", "Community support, documentation, and tutorials to help teams get started quickly.", "Regular updates, bug fixes, and open-source extensibility.", "Integrations with popular DevOps tools through community-maintained connectors.", ]; }, []); const enterpriseFeatures: Array = useMemo(() => { return [ "Enterprise (hardened and secure) Docker images.", "Dedicated enterprise support phone number available 24/7/365.", "Priority chat and email support.", "Dedicated engineer who can build custom features to integrate OneUptime with your ecosystem.", "Compliance reports (ISO, SOC, GDPR, HIPAA).", "Legal indemnification.", "Audit logs.", ]; }, []); const openDialog: () => void = () => { setIsDialogOpen(true); }; const closeDialog: () => void = () => { setIsDialogOpen(false); }; const handlePrimaryAction: () => void = () => { if (typeof window !== "undefined") { window.open(ENTERPRISE_URL, "_blank", "noopener,noreferrer"); } closeDialog(); }; return ( <> {isDialogOpen && (
{IS_ENTERPRISE_EDITION ? ( <>

You are running the Enterprise Edition of OneUptime. This includes premium capabilities such as enterprise-grade support, governance controls, and unlimited project scale.

Reach out to our team if you need help enabling additional enterprise features or onboarding new teams.

) : ( <>

You are running the Community Edition of OneUptime. Here is a quick comparison to help you decide if Enterprise is the right fit for your team.

Community Edition

    {communityFeatures.map( (feature: string, index: number) => { return (
  • {feature}
  • ); }, )}

Best for small teams experimenting with reliability workflows.

Enterprise Edition

    {enterpriseFeatures.map( (feature: string, index: number) => { return (
  • {feature}
  • ); }, )}

Everything in Community plus white-glove onboarding, enterprise SLAs, and a partner dedicated to your reliability goals.

Ready to unlock enterprise capabilities? Click “Talk to Sales” to start the conversation.

)}
)} ); }; export default EditionLabel;