[WEB-5624] chore: added webhook translations #8312

This commit is contained in:
b-saikrishnakanth
2025-12-11 17:02:20 +05:30
committed by GitHub
parent 8e518966c2
commit 906c1b51bb
20 changed files with 159 additions and 58 deletions

View File

@@ -2,24 +2,24 @@ import { useState } from "react";
import { intersection } from "lodash-es";
import { observer } from "mobx-react";
import { Controller, useForm } from "react-hook-form";
import { Info } from "lucide-react";
// import { Info } from "lucide-react";
import {
EUserPermissions,
EUserPermissionsLevel,
EXPORTERS_LIST,
ISSUE_DISPLAY_FILTERS_BY_PAGE,
// ISSUE_DISPLAY_FILTERS_BY_PAGE,
WORKSPACE_SETTINGS_TRACKER_EVENTS,
WORKSPACE_SETTINGS_TRACKER_ELEMENTS,
} from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { Tooltip } from "@plane/propel/tooltip";
import { EIssuesStoreType } from "@plane/types";
// import { Tooltip } from "@plane/propel/tooltip";
// import { EIssuesStoreType } from "@plane/types";
import type { TWorkItemFilterExpression } from "@plane/types";
import { CustomSearchSelect, CustomSelect } from "@plane/ui";
import { WorkspaceLevelWorkItemFiltersHOC } from "@/components/work-item-filters/filters-hoc/workspace-level";
import { WorkItemFiltersRow } from "@/components/work-item-filters/filters-row";
// import { WorkspaceLevelWorkItemFiltersHOC } from "@/components/work-item-filters/filters-hoc/workspace-level";
// import { WorkItemFiltersRow } from "@/components/work-item-filters/filters-row";
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useProject } from "@/hooks/store/use-project";
import { useUser, useUserPermissions } from "@/hooks/store/user";
@@ -37,15 +37,15 @@ type FormData = {
filters: TWorkItemFilterExpression;
};
const initialWorkItemFilters = {
richFilters: {},
displayFilters: {},
displayProperties: {},
kanbanFilters: {
group_by: [],
sub_group_by: [],
},
};
// const initialWorkItemFilters = {
// richFilters: {},
// displayFilters: {},
// displayProperties: {},
// kanbanFilters: {
// group_by: [],
// sub_group_by: [],
// },
// };
const projectExportService = new ProjectExportService();
@@ -101,52 +101,57 @@ export const ExportForm = observer(function ExportForm(props: Props) {
multiple: formData.project.length > 1,
rich_filters: formData.filters,
};
await projectExportService
.csvExport(workspaceSlug, payload)
.then(() => {
mutateServices();
setExportLoading(false);
captureSuccess({
eventName: WORKSPACE_SETTINGS_TRACKER_EVENTS.csv_exported,
payload: {
provider: formData.provider.provider,
},
});
setToast({
type: TOAST_TYPE.SUCCESS,
title: t("workspace_settings.settings.exports.modal.toasts.success.title"),
message: t("workspace_settings.settings.exports.modal.toasts.success.message", {
entity:
formData.provider.provider === "csv"
? "CSV"
: formData.provider.provider === "xlsx"
? "Excel"
: formData.provider.provider === "json"
? "JSON"
: "",
}),
});
})
.catch((error) => {
setExportLoading(false);
captureError({
eventName: WORKSPACE_SETTINGS_TRACKER_EVENTS.csv_exported,
payload: {
provider: formData.provider.provider,
},
error: error as Error,
});
setToast({
type: TOAST_TYPE.ERROR,
title: t("error"),
message: t("workspace_settings.settings.exports.modal.toasts.error.message"),
});
try {
await projectExportService.csvExport(workspaceSlug, payload);
mutateServices();
setExportLoading(false);
captureSuccess({
eventName: WORKSPACE_SETTINGS_TRACKER_EVENTS.csv_exported,
payload: {
provider: formData.provider.provider,
},
});
setToast({
type: TOAST_TYPE.SUCCESS,
title: t("workspace_settings.settings.exports.modal.toasts.success.title"),
message: t("workspace_settings.settings.exports.modal.toasts.success.message", {
entity:
formData.provider.provider === "csv"
? "CSV"
: formData.provider.provider === "xlsx"
? "Excel"
: formData.provider.provider === "json"
? "JSON"
: "",
}),
});
} catch (error) {
setExportLoading(false);
captureError({
eventName: WORKSPACE_SETTINGS_TRACKER_EVENTS.csv_exported,
payload: {
provider: formData.provider.provider,
},
error: error as Error,
});
setToast({
type: TOAST_TYPE.ERROR,
title: t("error"),
message: t("workspace_settings.settings.exports.modal.toasts.error.message"),
});
}
} else {
setExportLoading(false);
}
}
return (
<form onSubmit={handleSubmit(ExportCSVToMail)} className="flex flex-col gap-4 mt-4">
<form
onSubmit={(e) => {
void handleSubmit(ExportCSVToMail)(e);
}}
className="flex flex-col gap-4 mt-4"
>
<div className="flex gap-4">
{/* Project Selector */}
<div className="w-1/2">
@@ -210,7 +215,7 @@ export const ExportForm = observer(function ExportForm(props: Props) {
</div>
</div>
{/* Rich Filters */}
<div className="w-full">
{/* <div className="w-full">
<div className="flex items-center gap-2 mb-2">
<div className="text-sm font-medium text-custom-text-200 leading-tight">{t("common.filters")}</div>
<Tooltip
@@ -251,7 +256,7 @@ export const ExportForm = observer(function ExportForm(props: Props) {
</WorkspaceLevelWorkItemFiltersHOC>
)}
/>
</div>
</div> */}
<div className="flex items-center justify-between">
<Button
variant="primary"