From d4fe86ca9677057d906d9aa34902b6371c9780b1 Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Fri, 14 Mar 2025 11:48:12 +0100 Subject: [PATCH 1/7] chore: git fixes - remove beta tag --- app/client/src/ce/constants/messages.ts | 5 ++--- app/client/src/git/ce/constants/messages.tsx | 8 ++++++++ .../components/QuickActions/ConnectButton.tsx | 17 +++++------------ app/client/src/pages/common/ImportModal.tsx | 3 ++- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts index b066fb375104..606505b1cf2c 100644 --- a/app/client/src/ce/constants/messages.ts +++ b/app/client/src/ce/constants/messages.ts @@ -688,8 +688,8 @@ export const IMPORT_FROM_GIT_DISABLED_IN_ANVIL = () => export const IMPORT_APP_FROM_FILE_TITLE = () => "Import from file"; export const UPLOADING_JSON = () => "Uploading JSON file"; export const UPLOADING_APPLICATION = () => "Uploading application"; -export const IMPORT_APP_FROM_GIT_TITLE = () => - "Import from Git repository (Beta)"; +export const IMPORT_APP_FROM_GIT_TITLE = (isBeta: boolean = true) => + `Import from Git repository ${isBeta ? "(Beta)" : ""}`; export const IMPORT_APP_FROM_FILE_MESSAGE = () => "Drag and drop your file or upload from your computer"; export const IMPORT_APP_FROM_GIT_MESSAGE = () => @@ -923,7 +923,6 @@ export const IS_MERGING = () => "Merging changes..."; export const MERGE_CHANGES = () => "Merge changes"; export const SELECT_BRANCH_TO_MERGE = () => "Select branch to merge"; -export const CONNECT_GIT = () => "Connect Git"; export const CONNECT_GIT_BETA = () => "Connect Git (Beta)"; export const RETRY = () => "Retry"; export const CREATE_NEW_BRANCH = () => "Create new branch"; diff --git a/app/client/src/git/ce/constants/messages.tsx b/app/client/src/git/ce/constants/messages.tsx index 0978898423ff..2a91b2a5e671 100644 --- a/app/client/src/git/ce/constants/messages.tsx +++ b/app/client/src/git/ce/constants/messages.tsx @@ -1,3 +1,11 @@ +export const QUICK_ACTIONS = { + CONNECT_BTN_NOT_LIVE_YET: "It's not live for you yet", + CONNECT_BTN_COMING_SOON: "Coming Soon!", + CONNECT_BTN_CTA: "Connect Git", + CONNECT_BTN_CONTACT_ADMIN: + "Please contact your workspace admin to connect your artifact to a git repo", +}; + export const OPS_MODAL = { TAB_RELEASE: "RELEASE", }; diff --git a/app/client/src/git/components/QuickActions/ConnectButton.tsx b/app/client/src/git/components/QuickActions/ConnectButton.tsx index b4f4f69647ae..49fa8aee7dc9 100644 --- a/app/client/src/git/components/QuickActions/ConnectButton.tsx +++ b/app/client/src/git/components/QuickActions/ConnectButton.tsx @@ -1,14 +1,7 @@ import React, { useMemo } from "react"; import styled from "styled-components"; -import { - COMING_SOON, - CONNECT_GIT_BETA, - CONTACT_ADMIN_FOR_GIT, - createMessage, - NOT_LIVE_FOR_YOU_YET, -} from "ee/constants/messages"; - import { Button, Icon, Tooltip } from "@appsmith/ads"; +import { QUICK_ACTIONS } from "git/ee/constants/messages"; const CenterDiv = styled.div` text-align: center; @@ -41,13 +34,13 @@ function ConnectButton({ isConnectPermitted, onClick }: ConnectButtonProps) { const isTooltipEnabled = !isConnectPermitted; const tooltipContent = useMemo(() => { if (!isConnectPermitted) { - return {createMessage(CONTACT_ADMIN_FOR_GIT)}; + return {QUICK_ACTIONS.CONNECT_BTN_CONTACT_ADMIN}; } return ( <> -
{createMessage(NOT_LIVE_FOR_YOU_YET)}
-
{createMessage(COMING_SOON)}
+
{QUICK_ACTIONS.CONNECT_BTN_NOT_LIVE_YET}
+
{QUICK_ACTIONS.CONNECT_BTN_COMING_SOON}
); }, [isConnectPermitted]); @@ -68,7 +61,7 @@ function ConnectButton({ isConnectPermitted, onClick }: ConnectButtonProps) { onClick={onClick} size="sm" > - {createMessage(CONNECT_GIT_BETA)} + {QUICK_ACTIONS.CONNECT_BTN_CTA} diff --git a/app/client/src/pages/common/ImportModal.tsx b/app/client/src/pages/common/ImportModal.tsx index 5eb89e3d2daf..d22ddffd0e13 100644 --- a/app/client/src/pages/common/ImportModal.tsx +++ b/app/client/src/pages/common/ImportModal.tsx @@ -174,8 +174,9 @@ function GitImportCard(props: { children?: ReactNode; handler?: () => void }) { AnalyticsUtil.logEvent("GS_IMPORT_VIA_GIT_CARD_CLICK"); props.handler && props.handler(); }, []); + const isGitModEnabled = useGitModEnabled(); const message = createMessage(IMPORT_APP_FROM_GIT_MESSAGE); - const title = createMessage(IMPORT_APP_FROM_GIT_TITLE); + const title = createMessage(IMPORT_APP_FROM_GIT_TITLE, !isGitModEnabled); return ( From 166d34763ba00617f08e2d38b10600f14ccf5c9e Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Fri, 14 Mar 2025 12:22:42 +0100 Subject: [PATCH 2/7] chore: fixing unit tests --- .../git/components/QuickActions/ConnectButton.test.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/client/src/git/components/QuickActions/ConnectButton.test.tsx b/app/client/src/git/components/QuickActions/ConnectButton.test.tsx index ee01a5af95da..316ad1d0a0f5 100644 --- a/app/client/src/git/components/QuickActions/ConnectButton.test.tsx +++ b/app/client/src/git/components/QuickActions/ConnectButton.test.tsx @@ -64,7 +64,7 @@ describe("ConnectButton Component", () => { , ); - const button = screen.getByRole("button", { name: "Connect Git (Beta)" }); + const button = screen.getByRole("button", { name: "Connect Git" }); fireEvent.click(button); @@ -91,7 +91,7 @@ describe("ConnectButton Component", () => { ); // Check that the button is rendered and disabled - const button = screen.getByRole("button", { name: "Connect Git (Beta)" }); + const button = screen.getByRole("button", { name: "Connect Git" }); expect(button).toBeInTheDocument(); expect(button).toBeDisabled(); @@ -101,7 +101,7 @@ describe("ConnectButton Component", () => { expect(tooltipContent).toBeInTheDocument(); expect(tooltipContent).toHaveTextContent( - "Please contact your workspace admin to connect your app to a git repo", + "Please contact your workspace admin to connect your artifact to a git repo", ); // Icon should be rendered @@ -118,7 +118,7 @@ describe("ConnectButton Component", () => { , ); - const button = screen.getByRole("button", { name: "Connect Git (Beta)" }); + const button = screen.getByRole("button", { name: "Connect Git" }); fireEvent.click(button); From 1d19b8f76c47ab9d63390214bce24c91703e70ab Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Mon, 24 Mar 2025 00:26:34 +0530 Subject: [PATCH 3/7] fix: making import messaging artifact agnostic --- app/client/src/git/ce/constants/messages.tsx | 18 +++++++++ .../ConnectModal/ConnectInitialize/index.tsx | 38 ++++++------------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/app/client/src/git/ce/constants/messages.tsx b/app/client/src/git/ce/constants/messages.tsx index 49d68fd6a894..a71db0038f21 100644 --- a/app/client/src/git/ce/constants/messages.tsx +++ b/app/client/src/git/ce/constants/messages.tsx @@ -1,3 +1,21 @@ +export const IMPORT_GIT = { + MODAL_TITLE: "Import via Git", + IMPORT_CTA: "Import", + WAIT_TEXT: "Please wait while we import via Git..", +}; + +export const CONNECT_GIT = { + MODAL_TITLE: "Configure Git", + CHOOSE_PROVIDER_CTA: "Choose a Git provider", + GENERATE_SSH_KEY_CTA: "Generate SSH key", + CONNECT_CTA: "Connect Git", + CHOOSE_PROVIDER_STEP_TITLE: "Choose a Git provider", + GENERATE_SSH_KEY_STEP_TITLE: "Generate SSH key", + ADD_DEPLOY_KEY_STEP_TITLE: "Add deploy key", + WAIT_TEXT: "Please wait while we connect to Git...", + PREV_STEP: "Previous step", +}; + export const QUICK_ACTIONS = { CONNECT_BTN_NOT_LIVE_YET: "It's not live for you yet", CONNECT_BTN_COMING_SOON: "Coming Soon!", diff --git a/app/client/src/git/components/ConnectModal/ConnectInitialize/index.tsx b/app/client/src/git/components/ConnectModal/ConnectInitialize/index.tsx index e73d3d250fec..23d6873e0f28 100644 --- a/app/client/src/git/components/ConnectModal/ConnectInitialize/index.tsx +++ b/app/client/src/git/components/ConnectModal/ConnectInitialize/index.tsx @@ -9,19 +9,6 @@ import Steps from "./Steps"; import Statusbar from "../../Statusbar"; import { Button, ModalBody, ModalFooter, ModalHeader } from "@appsmith/ads"; import { GIT_CONNECT_STEPS } from "./constants"; -import { - ADD_DEPLOY_KEY_STEP, - CHOOSE_A_GIT_PROVIDER_STEP, - CONFIGURE_GIT, - CONNECT_GIT_TEXT, - GENERATE_SSH_KEY_STEP, - GIT_CONNECT_WAITING, - GIT_IMPORT_WAITING, - IMPORT_APP, - IMPORT_APP_CTA, - PREVIOUS_STEP, - createMessage, -} from "ee/constants/messages"; import { isValidGitRemoteUrl } from "../../utils"; import type { ConnectRequestParams } from "git/requests/connectRequest.types"; import noop from "lodash/noop"; @@ -29,6 +16,7 @@ import type { GitApiError } from "git/store/types"; import type { ConnectFormDataState } from "./types"; import type { GitImportRequestParams } from "git/requests/gitImportRequest.types"; import { GitErrorCodes } from "git/constants/enums"; +import { CONNECT_GIT, IMPORT_GIT } from "git/ee/constants/messages"; const OFFSET = 200; const OUTER_PADDING = 32; @@ -53,15 +41,15 @@ const StyledModalFooter = styled(ModalFooter)` const steps = [ { key: GIT_CONNECT_STEPS.CHOOSE_PROVIDER, - text: createMessage(CHOOSE_A_GIT_PROVIDER_STEP), + text: CONNECT_GIT.CHOOSE_PROVIDER_STEP_TITLE, }, { key: GIT_CONNECT_STEPS.GENERATE_SSH_KEY, - text: createMessage(GENERATE_SSH_KEY_STEP), + text: CONNECT_GIT.GENERATE_SSH_KEY_STEP_TITLE, }, { key: GIT_CONNECT_STEPS.ADD_DEPLOY_KEY, - text: createMessage(ADD_DEPLOY_KEY_STEP), + text: CONNECT_GIT.ADD_DEPLOY_KEY_STEP_TITLE, }, ]; @@ -97,11 +85,11 @@ function ConnectInitialize({ sshPublicKey = null, }: ConnectInitializeProps) { const nextStepText = { - [GIT_CONNECT_STEPS.CHOOSE_PROVIDER]: createMessage(CONFIGURE_GIT), - [GIT_CONNECT_STEPS.GENERATE_SSH_KEY]: createMessage(GENERATE_SSH_KEY_STEP), - [GIT_CONNECT_STEPS.ADD_DEPLOY_KEY]: createMessage( - isImport ? IMPORT_APP_CTA : CONNECT_GIT_TEXT, - ), + [GIT_CONNECT_STEPS.CHOOSE_PROVIDER]: CONNECT_GIT.CHOOSE_PROVIDER_CTA, + [GIT_CONNECT_STEPS.GENERATE_SSH_KEY]: CONNECT_GIT.GENERATE_SSH_KEY_CTA, + [GIT_CONNECT_STEPS.ADD_DEPLOY_KEY]: isImport + ? IMPORT_GIT.IMPORT_CTA + : CONNECT_GIT.CONNECT_CTA, }; const [formData, setFormData] = useState({ @@ -210,7 +198,7 @@ function ConnectInitialize({ return ( <> - {isImport ? createMessage(IMPORT_APP) : createMessage(CONFIGURE_GIT)} + {isImport ? IMPORT_GIT.MODAL_TITLE : CONNECT_GIT.MODAL_TITLE} {possibleSteps.includes(activeStep) && ( @@ -249,9 +237,7 @@ function ConnectInitialize({ {isSubmitLoading && ( )} {!isSubmitLoading && ( @@ -278,7 +264,7 @@ function ConnectInitialize({ size="md" startIcon="arrow-left-s-line" > - {createMessage(PREVIOUS_STEP)} + {CONNECT_GIT.PREV_STEP} )} From f1ff775d39f81aba7a3bf47497e30760d4abfa97 Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Mon, 24 Mar 2025 01:43:57 +0530 Subject: [PATCH 4/7] chore: fixes status change count for commit icon --- .../git/components/QuickActions/hooks/useStatusChangeCount.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/client/src/git/components/QuickActions/hooks/useStatusChangeCount.ts b/app/client/src/git/components/QuickActions/hooks/useStatusChangeCount.ts index 7011035242b2..5e193dfbafba 100644 --- a/app/client/src/git/components/QuickActions/hooks/useStatusChangeCount.ts +++ b/app/client/src/git/components/QuickActions/hooks/useStatusChangeCount.ts @@ -9,6 +9,7 @@ export const calcStatusChangeCount = (status: FetchStatusResponseData) => { modifiedJSLibs = 0, modifiedJSObjects = 0, modifiedModuleInstances = 0, + modifiedModules = 0, modifiedPages = 0, modifiedQueries = 0, modifiedSourceModules = 0, @@ -25,6 +26,7 @@ export const calcStatusChangeCount = (status: FetchStatusResponseData) => { modifiedQueries + themeCount + modifiedSourceModules + + modifiedModules + modifiedModuleInstances + settingsCount ); From faa63b175814b60a4c100467e26a94bed3857ed1 Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Mon, 24 Mar 2025 01:47:08 +0530 Subject: [PATCH 5/7] chore: fixing test cases --- app/client/src/git/ce/constants/messages.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/client/src/git/ce/constants/messages.tsx b/app/client/src/git/ce/constants/messages.tsx index a71db0038f21..9fdabf685289 100644 --- a/app/client/src/git/ce/constants/messages.tsx +++ b/app/client/src/git/ce/constants/messages.tsx @@ -6,7 +6,7 @@ export const IMPORT_GIT = { export const CONNECT_GIT = { MODAL_TITLE: "Configure Git", - CHOOSE_PROVIDER_CTA: "Choose a Git provider", + CHOOSE_PROVIDER_CTA: "Configure Git", GENERATE_SSH_KEY_CTA: "Generate SSH key", CONNECT_CTA: "Connect Git", CHOOSE_PROVIDER_STEP_TITLE: "Choose a Git provider", @@ -21,7 +21,7 @@ export const QUICK_ACTIONS = { CONNECT_BTN_COMING_SOON: "Coming Soon!", CONNECT_BTN_CTA: "Connect Git", CONNECT_BTN_CONTACT_ADMIN: - "Please contact your workspace admin to connect your artifact to a git repo", + "Please contact your workspace admin to connect your artifact to a Git repo", }; export const OPS_MODAL = { From 8357321b4385debea5bb81d20c5e8ba3a26f4b04 Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Mon, 24 Mar 2025 03:04:31 +0530 Subject: [PATCH 6/7] fix broken unit tests --- .../src/git/components/QuickActions/ConnectButton.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/client/src/git/components/QuickActions/ConnectButton.test.tsx b/app/client/src/git/components/QuickActions/ConnectButton.test.tsx index 316ad1d0a0f5..e97fc528da4b 100644 --- a/app/client/src/git/components/QuickActions/ConnectButton.test.tsx +++ b/app/client/src/git/components/QuickActions/ConnectButton.test.tsx @@ -101,7 +101,7 @@ describe("ConnectButton Component", () => { expect(tooltipContent).toBeInTheDocument(); expect(tooltipContent).toHaveTextContent( - "Please contact your workspace admin to connect your artifact to a git repo", + "Please contact your workspace admin to connect your artifact to a Git repo", ); // Icon should be rendered From 910d99b86a575efa7df28bb8cc413f56636f18bc Mon Sep 17 00:00:00 2001 From: Rudraprasad Das Date: Mon, 24 Mar 2025 13:40:50 +0530 Subject: [PATCH 7/7] chore: artifact agnostic imports --- app/client/src/ce/constants/messages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts index 8a9505d8a7f1..5571b9673081 100644 --- a/app/client/src/ce/constants/messages.ts +++ b/app/client/src/ce/constants/messages.ts @@ -690,7 +690,7 @@ export const IMPORT_APP_FROM_GIT_TITLE = (isBeta: boolean = true) => export const IMPORT_APP_FROM_FILE_MESSAGE = () => "Drag and drop your file or upload from your computer"; export const IMPORT_APP_FROM_GIT_MESSAGE = () => - "Import an application from its Git repository using its SSH URL"; + "Import from a Git repository using its SSH URL"; export const IMPORT_FROM_GIT_REPOSITORY = () => "Import from Git repository"; export const RECONNECT_MISSING_DATASOURCE_CREDENTIALS = () => "Reconnect missing datasource credentials";