diff --git a/Accounts/src/Pages/Login.tsx b/Accounts/src/Pages/Login.tsx index f62c1ea7d9..f9ee60c079 100644 --- a/Accounts/src/Pages/Login.tsx +++ b/Accounts/src/Pages/Login.tsx @@ -12,6 +12,7 @@ import FormFieldSchemaType from "Common/UI/Components/Forms/Types/FormFieldSchem import Link from "Common/UI/Components/Link/Link"; import { DASHBOARD_URL } from "Common/UI/Config"; import OneUptimeLogo from "Common/UI/Images/logos/OneUptimeSVG/3-transparent.svg"; +import EditionLabel from "Common/UI/Components/EditionLabel/EditionLabel"; import UiAnalytics from "Common/UI/Utils/Analytics"; import LoginUtil from "Common/UI/Utils/Login"; import UserTotpAuth from "Common/Models/DatabaseModels/UserTotpAuth"; @@ -192,6 +193,9 @@ const LoginPage: () => JSX.Element = () => { src={OneUptimeLogo} alt="OneUptime" /> +
+ +
{!showTwoFactorAuth && ( <>

diff --git a/AdminDashboard/src/Components/Header/Header.tsx b/AdminDashboard/src/Components/Header/Header.tsx index dce6770462..b97415d944 100644 --- a/AdminDashboard/src/Components/Header/Header.tsx +++ b/AdminDashboard/src/Components/Header/Header.tsx @@ -3,6 +3,7 @@ import Logo from "./Logo"; import UserProfile from "./UserProfile"; import Button, { ButtonStyleType } from "Common/UI/Components/Button/Button"; import Header from "Common/UI/Components/Header/Header"; +import EditionLabel from "Common/UI/Components/EditionLabel/EditionLabel"; import { DASHBOARD_URL } from "Common/UI/Config"; import Navigation from "Common/UI/Utils/Navigation"; import React, { FunctionComponent, ReactElement } from "react"; @@ -27,6 +28,7 @@ const DashboardHeader: FunctionComponent = (): ReactElement => { } rightComponents={ <> + + + {isDialogOpen && ( + +
+ {IS_ENTERPRISE ? ( + <> +

+ 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. Upgrade to + Enterprise to unlock advanced automation, security controls, + and priority support. +

+
    +
  • Unlimited monitors, workflows, and integrations.
  • +
  • Role-based access controls and audit trails.
  • +
  • 24/7 priority support with guaranteed SLAs.
  • +
+ + )} +
+
+ )} + + ); +}; + +export default EditionLabel; diff --git a/Common/UI/Config.ts b/Common/UI/Config.ts index ada31b1e2b..00c6fffc08 100644 --- a/Common/UI/Config.ts +++ b/Common/UI/Config.ts @@ -48,6 +48,7 @@ export const HTTP_PROTOCOL: Protocol = export const HOST: string = env("HOST") || ""; export const BILLING_ENABLED: boolean = env("BILLING_ENABLED") === "true"; +export const IS_ENTERPRISE: boolean = env("IS_ENTERPRISE") === "true"; export const BILLING_PUBLIC_KEY: string = env("BILLING_PUBLIC_KEY") || ""; // VAPID Configuration for Push Notifications diff --git a/Dashboard/src/Components/Footer/Footer.tsx b/Dashboard/src/Components/Footer/Footer.tsx index f9cc908150..cf60635e37 100644 --- a/Dashboard/src/Components/Footer/Footer.tsx +++ b/Dashboard/src/Components/Footer/Footer.tsx @@ -7,6 +7,7 @@ import { JSONObject } from "Common/Types/JSON"; import API from "Common/Utils/API"; import Footer from "Common/UI/Components/Footer/Footer"; import ConfirmModal from "Common/UI/Components/Modal/ConfirmModal"; +import EditionLabel from "Common/UI/Components/EditionLabel/EditionLabel"; import { HOST, HTTP_PROTOCOL } from "Common/UI/Config"; import React from "react"; @@ -66,6 +67,9 @@ const DashboardFooter: () => JSX.Element = () => { return ( <> +
+ +