feat: memo relation part1 (#1677)

* feat: memo relation part1

* chore: update
This commit is contained in:
boojack
2023-05-18 21:29:28 +08:00
committed by GitHub
parent ca5859296a
commit a07d5d38d6
24 changed files with 425 additions and 207 deletions

View File

@ -1,5 +1,4 @@
import { useEditorStore } from "@/store/module";
import { deleteMemoResource } from "@/helpers/api";
import Icon from "../Icon";
import ResourceIcon from "../ResourceIcon";
@ -9,21 +8,21 @@ const ResourceListView = () => {
const handleDeleteResource = async (resourceId: ResourceId) => {
editorStore.setResourceList(editorState.resourceList.filter((resource) => resource.id !== resourceId));
if (editorState.editMemoId) {
await deleteMemoResource(editorState.editMemoId, resourceId);
}
};
return (
<>
{editorState.resourceList && editorState.resourceList.length > 0 && (
<div className="resource-list-wrapper">
<div className="w-full flex flex-row justify-start flex-wrap gap-2 mt-2">
{editorState.resourceList.map((resource) => {
return (
<div key={resource.id} className="resource-container">
<ResourceIcon resourceType="resource.type" className="icon-img" />
<span className="name-text">{resource.filename}</span>
<Icon.X className="close-icon" onClick={() => handleDeleteResource(resource.id)} />
<div
key={resource.id}
className="max-w-full flex flex-row justify-start items-center flex-nowrap bg-gray-100 px-2 py-1 rounded cursor-pointer text-gray-500 hover:bg-gray-200 dark:opacity-60"
>
<ResourceIcon resourceType={resource.type} className="w-4 h-auto mr-1" />
<span className="text-sm max-w-xs truncate font-mono">{resource.filename}</span>
<Icon.X className="w-4 h-auto ml-1 hover:opacity-80" onClick={() => handleDeleteResource(resource.id)} />
</div>
);
})}
@ -32,4 +31,5 @@ const ResourceListView = () => {
</>
);
};
export default ResourceListView;