web-humas-fe/store/generated-article-store.tsx

39 lines
968 B
TypeScript
Raw Normal View History

2024-11-15 10:53:04 +00:00
import { create } from "zustand";
interface targetStore {
articleIds: {
singleArticle: number[];
bulkArticle: number[];
rewriteArticle: number[];
};
2024-11-15 10:53:04 +00:00
setArticleIds: (newTarget: {
singleArticle: number[];
bulkArticle: number[];
rewriteArticle: number[];
2024-11-15 10:53:04 +00:00
}) => void;
}
const getInitialTarget = () => {
if (typeof localStorage !== "undefined") {
const stored = localStorage.getItem("generated-article");
const initial = stored
? JSON.parse(stored)
: { singleArticle: [], bulkArticle: [], rewriteArticle: [] };
2024-11-15 10:53:04 +00:00
return initial;
}
};
const generatedArticleIds = create<targetStore>((set) => ({
articleIds: getInitialTarget(),
setArticleIds: (newTarget: {
singleArticle: number[];
bulkArticle: number[];
rewriteArticle: number[];
2024-11-15 10:53:04 +00:00
}) => {
localStorage.setItem("generated-article", JSON.stringify(newTarget));
set({ articleIds: newTarget });
},
}));
export default generatedArticleIds;