feat: message draft

This commit is contained in:
zerosoul
2022-05-10 09:35:55 +08:00
parent 1b1cfb956e
commit fe980da31b
6 changed files with 67 additions and 8 deletions
+24
View File
@@ -0,0 +1,24 @@
// import React from 'react'
import { useDispatch, useSelector } from "react-redux";
import { updateDraftMarkdown, updateDraftMixedText } from "../../app/slices/ui";
export default function useDraft({ context = "", id = "" }) {
const dispatch = useDispatch();
const _key = `${context}_${id}`;
const { draftMarkdown, draftMixedText } = useSelector((store) => {
return {
draftMarkdown: store.ui.draftMarkdown,
draftMixedText: store.ui.draftMixedText,
};
});
const getUpdateDraft = (type = "mixed") => {
const update = type == "mixed" ? updateDraftMixedText : updateDraftMarkdown;
return (value) => {
dispatch(update({ key: _key, value }));
};
};
const getDraft = (type = "mixed") => {
return type == "mixed" ? draftMixedText[_key] : draftMarkdown[_key];
};
return { getDraft, getUpdateDraft };
}