Merge remote-tracking branch 'origin' into stv3-update

This commit is contained in:
Tuan Dang
2023-10-27 12:20:03 +01:00
19 changed files with 2152 additions and 21 deletions
@@ -15,6 +15,7 @@ type Props = {
title: string;
subTitle?: string;
onDeleteApproved: () => Promise<void>;
buttonText?: string;
};
export const DeleteActionModal = ({
@@ -24,7 +25,8 @@ export const DeleteActionModal = ({
deleteKey,
onDeleteApproved,
title,
subTitle = "This action is irreversible!"
subTitle = "This action is irreversible!",
buttonText = "Delete"
}: Props): JSX.Element => {
const [inputData, setInputData] = useState("");
const [isLoading, setIsLoading] = useToggle();
@@ -56,7 +58,7 @@ export const DeleteActionModal = ({
title={title}
subTitle={subTitle}
footerContent={
<div className="flex items-center">
<div className="flex items-center mx-2">
<Button
className="mr-4"
colorSchema="danger"
@@ -64,7 +66,7 @@ export const DeleteActionModal = ({
onClick={onDelete}
isLoading={isLoading}
>
Delete
{buttonText}
</Button>
<ModalClose asChild>
<Button variant="plain" colorSchema="secondary" onClick={onClose}>
@@ -87,9 +89,9 @@ export const DeleteActionModal = ({
Type <span className="font-bold">{deleteKey}</span> to delete the resource
</div>
}
className="mb-4"
className="mb-0"
>
<Input value={inputData} onChange={(e) => setInputData(e.target.value)} />
<Input value={inputData} onChange={(e) => setInputData(e.target.value)} placeholder="Type to delete..." />
</FormControl>
</form>
</ModalContent>
@@ -239,7 +239,7 @@ export const SecretMainPage = () => {
onClickRollbackMode={() => handlePopUpToggle("snapshots", true)}
/>
<div className="mt-3 overflow-y-auto overflow-x-hidden thin-scrollbar bg-mineshaft-800 text-left text-bunker-300 rounded-md text-sm">
<div className="flex flex-col ">
<div className="flex flex-col" id="dashboard">
{isNotEmtpy && (
<div className="flex font-medium border-b border-mineshaft-600">
<div style={{ width: "2.8rem" }} className="px-4 py-3 flex-shrink-0" />
@@ -289,7 +289,7 @@ export const ActionBar = ({
className="h-10"
isDisabled={!isAllowed}
>
{snapshotCount} Commits
{`${snapshotCount} ${snapshotCount === 1 ? "Commit" : "Commits"}`}
</Button>
)}
</ProjectPermissionCan>
@@ -105,7 +105,7 @@ export const CreateSecretForm = ({
>
<SecretInput
{...field}
containerClassName="text-bunker-300 hover:border-primary-400/50 border border-mineshaft-600 bg-mineshaft-900 px-2 py-1.5"
containerClassName="text-bunker-300 hover:border-primary-400/50 border border-mineshaft-600 bg-mineshaft-900 px-2 py-1.5"
/>
</FormControl>
)}
@@ -339,6 +339,7 @@ export const SecretListView = ({
title="Do you want to delete this secret?"
onChange={(isOpen) => handlePopUpToggle("deleteSecret", isOpen)}
onDeleteApproved={handleSecretDelete}
buttonText="Delete Secret"
/>
<SecretDetailSidebar
environment={environment}
@@ -111,9 +111,18 @@ export const SecretOverviewPage = () => {
try {
// create folder if not existing
if (secretPath !== "/") {
// /hello/world -> ["", "hello","world"]
const path = secretPath.split("/");
const directory = path.slice(0, -1).join("/");
const folderName = path.at(-1);
// if its empty string on join use and OR gate to convert to /
// /hello
const directory =
path
.slice(0, -1)
.reduce(
(prev, curr, index, arr) => prev + (index + 1 === arr.length ? curr : `/${curr}`),
""
) || "/";
const folderName = path.at(-1); // world
if (folderName && directory) {
await createFolder({
workspaceId,
@@ -10,7 +10,7 @@ export const OrgGeneralTab = () => {
const { user } = useUser();
const { data: members } = useGetOrgUsers(currentOrg?._id ?? "");
const membershipOrg = members?.find((member) => member.user._id === user._id);
const membershipOrg = members?.find((member) => member.user._id === user?._id);
return (
<div>
@@ -77,9 +77,10 @@ export const DeleteProjectSection = () => {
<DeleteActionModal
isOpen={popUp.deleteWorkspace.isOpen}
title="Are you sure want to delete this project?"
subTitle={`Permanently remove ${currentWorkspace?.name} and all of its data. This action is not reversible, so please be careful.`}
subTitle={`Permanently delete ${currentWorkspace?.name} and all of its data. This action is not reversible, so please be careful.`}
onChange={(isOpen) => handlePopUpToggle("deleteWorkspace", isOpen)}
deleteKey="confirm"
buttonText="Delete Project"
onDeleteApproved={handleDeleteWorkspaceSubmit}
/>
</div>