This commit is contained in:
ct
2025-07-15 02:28:22 +08:00
parent 6838c542f5
commit d245f5f77c
5 changed files with 289 additions and 25 deletions

View File

@@ -206,6 +206,56 @@ const useMediaStore = create(
}
},
// Search memes
searchMemes: async (query = '') => {
set({ isFetchingMemes: true });
try {
const response = await axiosInstance.post(route('api.app.search.memes'), { query });
if (response?.data?.success?.data?.memes) {
set({
memes: response.data.success.data.memes,
isFetchingMemes: false,
});
return response.data.success.data.memes;
} else {
throw 'Invalid API response';
}
} catch (error) {
console.error('Error searching memes:', error);
set({ isFetchingMemes: false });
if (error?.response?.data?.error?.message?.length > 0) {
toast.error(error.response.data.error.message);
}
throw error;
}
},
// Search backgrounds
searchBackgrounds: async (query = '') => {
set({ isFetchingBackgrounds: true });
try {
const response = await axiosInstance.post(route('api.app.search.background'), { query });
if (response?.data?.success?.data?.backgrounds) {
set({
backgrounds: response.data.success.data.backgrounds,
isFetchingBackgrounds: false,
});
return response.data.success.data.backgrounds;
} else {
throw 'Invalid API response';
}
} catch (error) {
console.error('Error searching backgrounds:', error);
set({ isFetchingBackgrounds: false });
if (error?.response?.data?.error?.message?.length > 0) {
toast.error(error.response.data.error.message);
}
throw error;
}
},
// Reset store to default state
restoreMemeStateToDefault: () => {
console.log('restoreMemeStateToDefault');