Update
This commit is contained in:
@@ -30,12 +30,26 @@ const useMediaStore = create(
|
||||
},
|
||||
|
||||
// Selection actions
|
||||
selectMeme: (meme) => {
|
||||
selectMeme: async (meme) => {
|
||||
set({ selectedMeme: meme });
|
||||
try {
|
||||
await axiosInstance.post(route('api.app.select.meme'), {
|
||||
meme_ids: meme.ids,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error meme selection:', error);
|
||||
}
|
||||
},
|
||||
|
||||
selectBackground: (background) => {
|
||||
selectBackground: async (background) => {
|
||||
set({ selectedBackground: background });
|
||||
try {
|
||||
await axiosInstance.post(route('api.app.select.background'), {
|
||||
background_ids: background.ids,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error background selection:', error);
|
||||
}
|
||||
},
|
||||
|
||||
// Update current caption when user edits text
|
||||
@@ -52,6 +66,23 @@ const useMediaStore = create(
|
||||
set({ selectedBackground: null });
|
||||
},
|
||||
|
||||
// Save meme action
|
||||
saveMeme: async (captionTexts, isPremiumExport = false) => {
|
||||
try {
|
||||
const { selectedMeme, selectedBackground } = get();
|
||||
|
||||
await axiosInstance.post(route('api.app.save.meme'), {
|
||||
meme_media_ids: selectedMeme?.ids || null,
|
||||
background_media_ids: selectedBackground?.ids || null,
|
||||
caption_texts: captionTexts,
|
||||
is_premium_export: isPremiumExport,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error saving meme:', error);
|
||||
// Silently ignore save tracking errors
|
||||
}
|
||||
},
|
||||
|
||||
// Fetch AI hints
|
||||
fetchAIHints: async () => {
|
||||
set({ isLoadingAIHints: true });
|
||||
|
||||
@@ -58,9 +58,13 @@ const useUserStore = create(
|
||||
}
|
||||
},
|
||||
|
||||
premiumExportRequest: async () => {
|
||||
premiumExportRequest: async (memeMediaIds, backgroundMediaIds, captionTexts) => {
|
||||
try {
|
||||
const response = await axiosInstance.post(route('api.user.premium_export.request'));
|
||||
const response = await axiosInstance.post(route('api.user.premium_export.request'), {
|
||||
meme_media_ids: memeMediaIds,
|
||||
background_media_ids: backgroundMediaIds,
|
||||
caption_texts: captionTexts,
|
||||
});
|
||||
|
||||
if (response?.data?.success?.data?.user_usage) {
|
||||
set({
|
||||
@@ -109,9 +113,13 @@ const useUserStore = create(
|
||||
}
|
||||
},
|
||||
|
||||
basicExportRequest: async () => {
|
||||
basicExportRequest: async (memeMediaIds, backgroundMediaIds, captionTexts) => {
|
||||
try {
|
||||
const response = await axiosInstance.post(route('api.basic_export.request'));
|
||||
const response = await axiosInstance.post(route('api.basic_export.request'), {
|
||||
meme_media_ids: memeMediaIds,
|
||||
background_media_ids: backgroundMediaIds,
|
||||
caption_texts: captionTexts,
|
||||
});
|
||||
|
||||
if (response?.data?.success?.message) {
|
||||
toast.success(response.data.success.message);
|
||||
|
||||
Reference in New Issue
Block a user