This commit is contained in:
ct
2025-06-14 10:12:19 +08:00
parent 61923f4e1f
commit 8a732b3c31
8 changed files with 228 additions and 66 deletions

View File

@@ -15,10 +15,51 @@ const useMediaStore = create(
isFetchingMemes: false,
isFetchingBackgrounds: false,
// Selected items
selectedMeme: null,
selectedBackground: null,
setCurrentTab: (tab) => {
set({ currentTab: tab });
},
// Selection actions
selectMeme: (meme) => {
set({ selectedMeme: meme });
},
selectBackground: (background) => {
set({ selectedBackground: background });
},
// Clear selections
clearSelectedMeme: () => {
set({ selectedMeme: null });
},
clearSelectedBackground: () => {
set({ selectedBackground: null });
},
init: async () => {
try {
const response = await axiosInstance.post(route('api.app.init'));
if (response?.data?.success?.data?.init) {
set({
selectedMeme: response.data.success.data.init.meme,
selectedBackground: response.data.success.data.init.background,
});
} else {
throw 'Invalid API response';
}
} catch (error) {
console.error('Error fetching init:', error);
throw error;
}
},
// Fetch memes (overlays)
fetchMemes: async () => {
set({ isFetchingMemes: true });
@@ -77,6 +118,8 @@ const useMediaStore = create(
backgrounds: [],
isFetchingMemes: false,
isFetchingBackgrounds: false,
selectedMeme: null,
selectedBackground: null,
});
},
})),