diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts
index 66d03e049145..5b311ae17341 100644
--- a/app/client/src/ce/constants/messages.ts
+++ b/app/client/src/ce/constants/messages.ts
@@ -2372,10 +2372,12 @@ export const EDITOR_PANE_TEXTS = {
query_create_tab_title: () => "Create new query from",
widgets_create_tab_title: () => "Drag & drop UI elements",
js_create_tab_title: () => "Create JS object from",
- js_create_modules: () => "JS modules (Beta)",
+ js_create_modules: (isBeta: boolean) =>
+ `JS modules ${isBeta ? "(Beta)" : ""}`,
queries_create_from_existing: () => "Datasources",
queries_create_new: () => "Quick actions",
- queries_create_modules: () => "Query modules (Beta)",
+ queries_create_modules: (isBeta: boolean) =>
+ `Query modules ${isBeta ? "(Beta)" : ""}`,
loading_building_blocks: () => "Loading building blocks",
empty_search_result: (type: string) => `No ${type} match your search`,
search_objects: {
diff --git a/app/client/src/ce/entities/FeatureFlag.ts b/app/client/src/ce/entities/FeatureFlag.ts
index 670f23d87448..2fcb91c60b29 100644
--- a/app/client/src/ce/entities/FeatureFlag.ts
+++ b/app/client/src/ce/entities/FeatureFlag.ts
@@ -56,6 +56,7 @@ export const FEATURE_FLAG = {
license_multi_org_enabled: "license_multi_org_enabled",
release_table_custom_sort_function_enabled:
"release_table_custom_sort_function_enabled",
+ release_git_package_enabled: "release_git_package_enabled",
} as const;
export type FeatureFlag = keyof typeof FEATURE_FLAG;
@@ -103,6 +104,7 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
release_table_infinitescroll_enabled: false,
license_multi_org_enabled: false,
release_table_custom_sort_function_enabled: false,
+ release_git_package_enabled: false,
};
export const AB_TESTING_EVENT_KEYS = {
diff --git a/app/client/src/git/ce/constants/messages.tsx b/app/client/src/git/ce/constants/messages.tsx
index 9fdabf685289..200e109bb360 100644
--- a/app/client/src/git/ce/constants/messages.tsx
+++ b/app/client/src/git/ce/constants/messages.tsx
@@ -29,7 +29,7 @@ export const OPS_MODAL = {
};
export const TAB_RELEASE = {
- TITLE: "Release version",
+ TITLE: "Release a new version",
RELEASE_BTN: "Release",
};
@@ -44,6 +44,7 @@ export const RELEASE_NOTES_INPUT = {
};
export const LATEST_COMMIT_INFO = {
+ TITLE: "Commit",
LOADING_COMMIT_MESSAGE: "Fetching latest commit...",
NO_COMMIT_MESSAGE: "No commit message found",
};
diff --git a/app/client/src/git/components/LatestCommitInfo/LatestCommitInfoView.tsx b/app/client/src/git/components/LatestCommitInfo/LatestCommitInfoView.tsx
index 72a324087e2d..eed9d33f3e26 100644
--- a/app/client/src/git/components/LatestCommitInfo/LatestCommitInfoView.tsx
+++ b/app/client/src/git/components/LatestCommitInfo/LatestCommitInfoView.tsx
@@ -4,9 +4,16 @@ import React from "react";
import styled from "styled-components";
import { howMuchTimeBeforeText } from "utils/helpers";
-const Container = styled(Flex)`
- border-radius: 4px;
- background-color: var(--ads-v2-color-gray-0);
+const TitleText = styled(Text)`
+ font-weight: 500;
+`;
+
+const MutedText = styled(Text)`
+ font-weight: 300;
+`;
+
+const LoadingContainer = styled(Flex)`
+ margin-bottom: 19px;
`;
interface LatestCommitInfoViewProps {
@@ -28,51 +35,61 @@ function LatestCommitInfoView({
? howMuchTimeBeforeText(new Date(committedAt * 1000).toString())
: null;
- if (isLoading) {
- return (
-
-
- {LATEST_COMMIT_INFO.LOADING_COMMIT_MESSAGE}
-
- );
- }
-
return (
-
-
-
- {message ?? {LATEST_COMMIT_INFO.NO_COMMIT_MESSAGE}}
-
- {authorName && (
-
- {authorName && !readableCommittedAt
- ? `Committed by ${authorName}`
- : null}
- {authorName && readableCommittedAt
- ? `${authorName} committed ${readableCommittedAt} ago`
- : null}
-
- )}
-
-
-
-
-
- {hash ?? "-"}
-
+
+
+ {LATEST_COMMIT_INFO.TITLE}
+
+ {isLoading && (
+
+
+ {LATEST_COMMIT_INFO.LOADING_COMMIT_MESSAGE}
+
+ )}
+ {!isLoading && (
+
+
+
+ {message ?? {LATEST_COMMIT_INFO.NO_COMMIT_MESSAGE}}
+
+ {authorName && (
+
+ {authorName && !readableCommittedAt
+ ? `Committed by ${authorName}`
+ : null}
+ {authorName && readableCommittedAt
+ ? `${authorName} committed ${readableCommittedAt} ago`
+ : null}
+
+ )}
+
+
+
+
+
+ {hash ?? "-"}
+
+
+
-
-
+ )}
+
);
}
diff --git a/app/client/src/git/components/OpsModal/TabRelease/TabReleaseView.tsx b/app/client/src/git/components/OpsModal/TabRelease/TabReleaseView.tsx
index a28bff3afb2e..f429a2419079 100644
--- a/app/client/src/git/components/OpsModal/TabRelease/TabReleaseView.tsx
+++ b/app/client/src/git/components/OpsModal/TabRelease/TabReleaseView.tsx
@@ -42,7 +42,7 @@ function TabReleaseView({
const [releaseVersion, setReleaseVersion] = useState(null);
const [releaseNotes, setReleaseNotes] = useState(null);
- const isReleaseDisabled = !releaseVersion || !releaseNotes;
+ const isReleaseDisabled = !releaseVersion;
useEffect(
function fetchPretagOnInitEffect() {
diff --git a/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.test.tsx b/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.test.tsx
index a34dfa3c5996..827a784a72c2 100644
--- a/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.test.tsx
+++ b/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.test.tsx
@@ -4,7 +4,6 @@ import ReleaseVersionRadioGroupView from "./ReleaseVersionRadioGroupView";
import "@testing-library/jest-dom";
describe("ReleaseVersionRadioGroupView", () => {
- const releasedAt = Math.floor((Date.now() - 3600000) / 1000);
const mockOnVersionChange = jest.fn();
const renderComponent = (props = {}) => {
@@ -12,7 +11,6 @@ describe("ReleaseVersionRadioGroupView", () => {
,
);
@@ -31,9 +29,6 @@ describe("ReleaseVersionRadioGroupView", () => {
expect(getByTestId("t--git-release-next-version").textContent).toBe(
"v1.0.1",
);
- expect(getByTestId("t--git-release-released-at").textContent).toBe(
- "Last released: v1.0.0 (1 hr ago)",
- );
expect(getByRole("radio", { name: /patch/i })).toBeChecked();
});
diff --git a/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.tsx b/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.tsx
index 1c63075d9d1b..15a1693c10cc 100644
--- a/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.tsx
+++ b/app/client/src/git/components/ReleaseVersionRadioGroup/ReleaseVersionRadioGroupView.tsx
@@ -1,29 +1,36 @@
import React, { useCallback, useEffect, useMemo, useState } from "react";
-import { Flex, Radio, RadioGroup, Tag, Text } from "@appsmith/ads";
+import { Flex, Icon, Radio, RadioGroup, Tag, Text } from "@appsmith/ads";
import { RELEASE_VERSION_RADIO_GROUP } from "git/ee/constants/messages";
import { inc } from "semver";
import noop from "lodash/noop";
-import { howMuchTimeBeforeText } from "utils/helpers";
+import styled from "styled-components";
+
+const TitleText = styled(Text)`
+ font-weight: 500;
+`;
+
+const CurrentVersionTag = styled(Tag)`
+ border-color: var(--ads-v2-color-gray-300);
+`;
+
+const NextVersionTag = styled(Tag)`
+ background-color: var(--ads-v2-color-purple-100);
+ border-color: var(--ads-v2-color-purple-300);
+`;
type ReleaseType = "major" | "minor" | "patch" | null;
interface ReleaseVersionRadioGroupViewProps {
latestReleaseVersion: string | null;
onVersionChange: (value: string | null) => void;
- releasedAt: number | null;
}
function ReleaseVersionRadioGroupView({
latestReleaseVersion = null,
onVersionChange = noop,
- releasedAt = null,
}: ReleaseVersionRadioGroupViewProps) {
const [releaseType, setReleaseType] = useState("patch");
- const readableReleaseAt = releasedAt
- ? howMuchTimeBeforeText(new Date(releasedAt * 1000).toString())
- : null;
-
const nextVersion = useMemo(() => {
if (!releaseType) return null;
@@ -47,42 +54,42 @@ function ReleaseVersionRadioGroupView({
}, []);
return (
-
-
+
+
{RELEASE_VERSION_RADIO_GROUP.TITLE}
-
-
-
-
+
+ Major
+ Minor
+ Patch
+
+
+ {latestReleaseVersion && (
+
- {nextVersion ?? "-"}
-
-
-
+ )}
+ {latestReleaseVersion && nextVersion && (
+
+ )}
+
- Major
- Minor
- Patch
-
+ {nextVersion ?? "-"}
+
- {latestReleaseVersion && (
-
- {RELEASE_VERSION_RADIO_GROUP.LAST_RELEASED}:{" "}
- {latestReleaseVersion ?? "-"}{" "}
- {readableReleaseAt ? `(${readableReleaseAt} ago)` : null}
-
- )}
);
}
diff --git a/app/client/src/git/components/ReleaseVersionRadioGroup/index.tsx b/app/client/src/git/components/ReleaseVersionRadioGroup/index.tsx
index cd25d77669d2..71cfa013e9d9 100644
--- a/app/client/src/git/components/ReleaseVersionRadioGroup/index.tsx
+++ b/app/client/src/git/components/ReleaseVersionRadioGroup/index.tsx
@@ -16,7 +16,6 @@ function ReleaseVersionRadioGroup({
);
}