diff --git a/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ExportApplication_spec.js b/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ExportApplication_spec.js index 69b64124d1..8e529c5c20 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ExportApplication_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/OtherUIFeatures/ExportApplication_spec.js @@ -8,7 +8,7 @@ import { describe( "Export application as a JSON file", - { tags: ["@tag.ExportApplication"] }, + { tags: ["@tag.ImportExport"] }, function () { let workspaceId, appid; diff --git a/app/client/cypress/e2e/Regression/ClientSide/ProductRamps/PrivateEmbedRamp_spec.ts b/app/client/cypress/e2e/Regression/ClientSide/ProductRamps/PrivateEmbedRamp_spec.ts index e5bb84db8f..bd8e9453ff 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/ProductRamps/PrivateEmbedRamp_spec.ts +++ b/app/client/cypress/e2e/Regression/ClientSide/ProductRamps/PrivateEmbedRamp_spec.ts @@ -10,7 +10,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => { ); _.agHelper.GetNAssertElementText( _.inviteModal.locators._privateEmbedRampAppSettings, - "To embed private Appsmith apps and seamlessly authenticate users through SSO", + Cypress.env("MESSAGES").IN_APP_EMBED_SETTING.rampSubtextSidebar(), "contain.text", ); checkRampLink(); @@ -19,7 +19,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => { _.inviteModal.SelectEmbedTab(); _.agHelper.GetNAssertElementText( _.inviteModal.locators._privateEmbedRampAppSettings, - "Embed private Appsmith apps and seamlessly authenticate users through SSO in our Business Edition", + Cypress.env("MESSAGES").IN_APP_EMBED_SETTING.rampSubtextModal(), "contain.text", ); checkRampLink(); @@ -28,7 +28,7 @@ describe("Private embed in-app ramp", { tags: ["@tag.Settings"] }, () => { cy.get(_.inviteModal.locators._privateEmbedRampLink) .should("have.attr", "href") .then((href) => { - expect(href).to.include("customer.appsmith.com"); + expect(href).to.include("https://www.appsmith.com/pricing?"); }); } diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts index 8c66f54529..88a344494f 100644 --- a/app/client/src/ce/constants/messages.ts +++ b/app/client/src/ce/constants/messages.ts @@ -1923,13 +1923,13 @@ export const IN_APP_EMBED_SETTING = { "Make your app public by visiting the share settings, and easily embed your Appsmith app into legacy applications", privateAppsText: () => "Private apps", rampSubtextModal: () => - "Embed private Appsmith apps and seamlessly authenticate users through SSO in our Business Edition", + "Embed private Appsmith apps and seamlessly authenticate users through SSO in our Enterprise Edition", rampSubtextSidebar: () => "To embed private Appsmith apps and seamlessly authenticate users through SSO, try our ", - rampLinktext: () => "Try Business", - rampLinktextvariant2: () => "Business Edition", + rampLinktext: () => "Try Enterprise", + rampLinktextvariant2: () => "Enterprise Edition", upgradeContent: () => "Private embedding is now available in", - appsmithBusinessEdition: () => "Appsmith Business Edition.", + appsmithEnterpriseEdition: () => "Appsmith Enterprise Edition.", secondaryHeadingForAppSettings: () => "Make your app public to embed your Appsmith app into legacy applications", secondaryHeading: () => diff --git a/app/client/src/ce/selectors/rampSelectors.tsx b/app/client/src/ce/selectors/rampSelectors.tsx index 9c1ce8f1b7..21077ed826 100644 --- a/app/client/src/ce/selectors/rampSelectors.tsx +++ b/app/client/src/ce/selectors/rampSelectors.tsx @@ -1,7 +1,10 @@ import { createSelector } from "reselect"; import type { AppState } from "@appsmith/reducers"; import { getAppsmithConfigs } from "@appsmith/configs"; -import { CUSTOMER_PORTAL_URL_WITH_PARAMS } from "constants/ThirdPartyConstants"; +import { + CUSTOMER_PORTAL_URL_WITH_PARAMS, + PRICING_PAGE_URL, +} from "constants/ThirdPartyConstants"; import { PRODUCT_RAMPS_LIST, RAMP_FOR_ROLES, @@ -12,27 +15,33 @@ import { PERMISSION_TYPE, } from "@appsmith/utils/permissionHelpers"; -const { cloudHosting, customerPortalUrl } = getAppsmithConfigs(); +const { cloudHosting, customerPortalUrl, pricingUrl } = getAppsmithConfigs(); const tenantState = (state: AppState) => state.tenant; const uiState = (state: AppState) => state.ui; export const getRampLink = ({ feature, + isBusinessFeature = true, section, }: { section: string; feature: string; + isBusinessFeature?: boolean; }) => createSelector(tenantState, (tenant) => { const instanceId = tenant?.instanceId; const source = cloudHosting ? "cloud" : "CE"; - const RAMP_LINK_TO = CUSTOMER_PORTAL_URL_WITH_PARAMS( - customerPortalUrl, - source, - instanceId, - ); - return `${RAMP_LINK_TO}&feature=${feature}§ion=${section}`; + const RAMP_LINK_TO = isBusinessFeature + ? CUSTOMER_PORTAL_URL_WITH_PARAMS( + customerPortalUrl, + source, + instanceId, + feature, + section, + ) + : PRICING_PAGE_URL(pricingUrl, source, instanceId, feature, section); + return RAMP_LINK_TO; }); export const showProductRamps = ( diff --git a/app/client/src/components/utils/ReduxFormTextField.tsx b/app/client/src/components/utils/ReduxFormTextField.tsx index 261a70f123..ccf6f09a8d 100644 --- a/app/client/src/components/utils/ReduxFormTextField.tsx +++ b/app/client/src/components/utils/ReduxFormTextField.tsx @@ -14,7 +14,7 @@ const renderComponent = ( input: Partial; }, ) => { - const value = componentProps.input.value || componentProps.defaultValue; + const value = componentProps.input.value || componentProps.defaultValue || ""; const showError = componentProps.meta.touched && !componentProps.meta.active; return componentProps.type === SettingSubtype.NUMBER ? ( {createMessage(IN_APP_EMBED_SETTING.privateAppsText)} - +