diff --git a/src/stores/zine/articles.ts b/src/stores/zine/articles.ts index ae672df9..b8e75123 100644 --- a/src/stores/zine/articles.ts +++ b/src/stores/zine/articles.ts @@ -216,7 +216,9 @@ type InitialState = { topRatedMonthArticles?: Shout[] } -export const useArticlesStore = ({ sortedArticles }: InitialState = {}) => { +export const useArticlesStore = (initialState: InitialState = {}) => { + const sortedArticles = [...(initialState.sortedArticles || [])] + addArticles(sortedArticles) if (sortedArticles) { diff --git a/src/stores/zine/authors.ts b/src/stores/zine/authors.ts index d7d986ac..fc1914f7 100644 --- a/src/stores/zine/authors.ts +++ b/src/stores/zine/authors.ts @@ -96,8 +96,9 @@ type InitialState = { authors?: Author[] } -export const useAuthorsStore = ({ authors }: InitialState = {}) => { - addAuthors(authors || []) +export const useAuthorsStore = (initialState: InitialState = {}) => { + const authors = [...(initialState.authors || [])] + addAuthors(authors) const getAuthorEntities = useStore(authorEntitiesStore) const getSortedAuthors = useStore(sortedAuthorsStore) diff --git a/src/stores/zine/topics.ts b/src/stores/zine/topics.ts index fa1995d7..abcd06fb 100644 --- a/src/stores/zine/topics.ts +++ b/src/stores/zine/topics.ts @@ -116,9 +116,12 @@ type InitialState = { sortBy?: TopicsSortBy } -export const useTopicsStore = ({ topics, randomTopics, sortBy }: InitialState = {}) => { - if (sortBy) { - sortAllByStore.set(sortBy) +export const useTopicsStore = (initialState: InitialState = {}) => { + const topics = [...(initialState.topics || [])] + const randomTopics = [...(initialState.randomTopics || [])] + + if (initialState.sortBy) { + sortAllByStore.set(initialState.sortBy) } addTopics(topics, randomTopics)