feat: remove unused resources (#379)

* feat: dialog content enhancement

* feat: remove unused resources

* update

* update

Co-authored-by: boojack <stevenlgtm@gmail.com>
This commit is contained in:
Zeng1998
2022-10-31 19:23:44 +08:00
committed by GitHub
parent d6fa1c7c80
commit 4276a7a56d
5 changed files with 53 additions and 6 deletions

View File

@ -101,6 +101,31 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => {
toastHelper.success("Succeed to copy resource link to clipboard");
};
const handleDeleteUnusedResourcesBtnClick = () => {
let warningText = t("resources.warning-text-unused");
const unusedResources = resources.filter((resource) => {
if (resource.linkedMemoAmount === 0) {
warningText = warningText + `\n- ${resource.filename}`;
return true;
}
return false;
});
if (unusedResources.length === 0) {
toastHelper.success(t("resources.no-unused-resources"));
return;
}
showCommonDialog({
title: t("resources.delete-resource"),
content: warningText,
style: "warning",
onConfirm: async () => {
for (const resource of unusedResources) {
await resourceService.deleteResourceById(resource.id);
}
},
});
};
const handleDeleteResourceBtnClick = (resource: Resource) => {
let warningText = t("resources.warning-text");
if (resource.linkedMemoAmount > 0) {
@ -149,6 +174,11 @@ const ResourcesDialog: React.FC<Props> = (props: Props) => {
<span>{t("resources.upload")}</span>
</div>
</div>
<div className="delete-unused-resource-container">
<button className="delete-unused-resource-btn" onClick={handleDeleteUnusedResourcesBtnClick}>
{t("resources.clear-unused-resources")}
</button>
</div>
{loadingState.isLoading ? (
<div className="loading-text-container">
<p className="tip-text">{t("resources.fetching-data")}</p>