Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,10 @@ const AppsLineIcon = importRemixIcon(
async () => import("remixicon-react/AppsLineIcon"),
);

const ProtectedIcon = importRemixIcon(
async () => import("remixicon-react/ShieldKeyholeLineIcon"),
);

const CornerDownLeftLineIcon = importSvg(
async () => import("../__assets__/icons/ads/corner-down-left-line.svg"),
);
Expand Down Expand Up @@ -1394,6 +1398,7 @@ const ICON_LOOKUP = {
"warning-triangle": WarningTriangleIcon,
"widgets-v3": WidgetsV3Icon,
"workflows-mono": WorkflowsMonochromeIcon,
"protected-icon": ProtectedIcon,
billing: BillingIcon,
binding: Binding,
book: BookIcon,
Expand Down
28 changes: 0 additions & 28 deletions app/client/src/git/actions/checkoutBranchActions.ts

This file was deleted.

26 changes: 0 additions & 26 deletions app/client/src/git/actions/createBranchActions.ts

This file was deleted.

26 changes: 0 additions & 26 deletions app/client/src/git/actions/deleteBranchActions.ts

This file was deleted.

38 changes: 0 additions & 38 deletions app/client/src/git/actions/fetchMergeStatusActions.ts

This file was deleted.

37 changes: 0 additions & 37 deletions app/client/src/git/actions/fetchStatusActions.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import type { FetchStatusResponseData } from "git/requests/fetchStatusRequest.types";
import { useMemo } from "react";

// does not include modules or moduleinstances
export const calcStatusChangeCount = (status: FetchStatusResponseData) => {
const {
modified = [],
modifiedDatasources = 0,
modifiedJSLibs = 0,
modifiedJSObjects = 0,
modifiedModules = 0,
modifiedPages = 0,
modifiedQueries = 0,
} = status || {};
const themeCount = modified.includes("theme.json") ? 1 : 0;
const settingsCount = modified.includes("application.json") ? 1 : 0;

// does not include ahead and behind remote counts
return (
modifiedDatasources +
modifiedJSLibs +
modifiedJSObjects +
modifiedModules +
modifiedPages +
modifiedQueries +
themeCount +
settingsCount
);
};

export default function useStatusChangeCount(
status: FetchStatusResponseData | null,
) {
const statusChangeCount = useMemo(
() => (status ? calcStatusChangeCount(status) : 0),
[status],
);

return statusChangeCount;
}
54 changes: 54 additions & 0 deletions app/client/src/git/components/CtxAwareGitQuickActions/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import React from "react";
import GitQuickActions from "../GitQuickActions";
import { useGitContext } from "../GitContextProvider";
import useStatusChangeCount from "./hooks/useStatusChangeCount";

function CtxAwareGitQuickActions() {
const {
discard,
discardLoading,
fetchStatusLoading,
pull,
pullError,
pullLoading,
status,
toggleGitConnectModal,
toggleGitOpsModal,
toggleGitSettingsModal,
} = useGitContext();

const isGitConnected = false;
const isAutocommitEnabled = true;
const isAutocommitPolling = false;
const isConnectPermitted = true;
const isProtectedMode = false;

const isPullFailing = !!pullError;
const isStatusClean = status?.isClean ?? false;
const statusBehindCount = status?.behindCount ?? 0;
const statusChangeCount = useStatusChangeCount(status);

return (
<GitQuickActions
discard={discard}
isAutocommitEnabled={isAutocommitEnabled}
isAutocommitPolling={isAutocommitPolling}
isConnectPermitted={isConnectPermitted}
isDiscardLoading={discardLoading}
isFetchStatusLoading={fetchStatusLoading}
isGitConnected={isGitConnected}
isProtectedMode={isProtectedMode}
isPullFailing={isPullFailing}
isPullLoading={pullLoading}
isStatusClean={isStatusClean}
pull={pull}
statusBehindCount={statusBehindCount}
statusChangeCount={statusChangeCount}
toggleGitConnectModal={toggleGitConnectModal}
toggleGitOpsModal={toggleGitOpsModal}
toggleGitSettingsModal={toggleGitSettingsModal}
/>
);
}

export default CtxAwareGitQuickActions;
Loading