Update
This commit is contained in:
@@ -20,6 +20,11 @@ const useMediaStore = create(
|
||||
currentCaption: 'I am chicken rice',
|
||||
watermarked: true,
|
||||
|
||||
keywords: [],
|
||||
isLoadingAIHints: false,
|
||||
|
||||
isGeneratingMeme: false,
|
||||
|
||||
setCurrentTab: (tab) => {
|
||||
set({ currentTab: tab });
|
||||
},
|
||||
@@ -42,6 +47,29 @@ const useMediaStore = create(
|
||||
set({ selectedBackground: null });
|
||||
},
|
||||
|
||||
// Fetch AI hints
|
||||
fetchAIHints: async () => {
|
||||
set({ isLoadingAIHints: true });
|
||||
try {
|
||||
const response = await axiosInstance.post(route('api.ai_hints'));
|
||||
set({
|
||||
keywords: response.data.success?.data?.keywords || [],
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
console.error(route('api.ai_hints'));
|
||||
console.error('Error fetching AI hints:', error);
|
||||
toast.error('Failed to fetch AI hints');
|
||||
} finally {
|
||||
set({ isLoadingAIHints: false });
|
||||
}
|
||||
},
|
||||
|
||||
// Clear keywords
|
||||
clearKeywords: () => {
|
||||
set({ keywords: [] });
|
||||
},
|
||||
|
||||
init: async () => {
|
||||
try {
|
||||
const response = await axiosInstance.post(route('api.app.init'));
|
||||
@@ -62,6 +90,31 @@ const useMediaStore = create(
|
||||
}
|
||||
},
|
||||
|
||||
generateMeme: async (prompt) => {
|
||||
set({ isGeneratingMeme: true });
|
||||
try {
|
||||
const response = await axiosInstance.post(route('api.user.generate_meme', { prompt: prompt }));
|
||||
|
||||
if (response?.data?.success?.data?.generate) {
|
||||
set({
|
||||
currentCaption: response.data.success.data.generate.caption,
|
||||
selectedMeme: response.data.success.data.generate.meme,
|
||||
selectedBackground: response.data.success.data.generate.background,
|
||||
});
|
||||
} else {
|
||||
throw 'Invalid API response';
|
||||
}
|
||||
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
console.error(route('api.app.generate_meme'));
|
||||
console.error('Error generating meme:', error);
|
||||
toast.error('Failed to generate meme');
|
||||
} finally {
|
||||
set({ isGeneratingMeme: false });
|
||||
}
|
||||
},
|
||||
|
||||
// Fetch memes (overlays)
|
||||
fetchMemes: async () => {
|
||||
set({ isFetchingMemes: true });
|
||||
|
||||
Reference in New Issue
Block a user