@yogiswara/honcho-editor-ui 2.2.6 → 2.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -177,7 +177,7 @@ export declare function useHonchoEditor(controller: Controller, initImageId: str
177
177
  handleClosePresetModal: () => void;
178
178
  handleOpenPresetModalMobile: () => void;
179
179
  handleClosePresetModalMobile: () => void;
180
- handleCreatePresetMobile: () => void;
180
+ handleCreatePresetMobile: () => Promise<void>;
181
181
  setPresetName: import("react").Dispatch<import("react").SetStateAction<string>>;
182
182
  handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
183
183
  isRenameModalOpen: boolean;
@@ -251,34 +251,47 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
251
251
  const handleCreatePreset = useCallback(async () => {
252
252
  if (!controller)
253
253
  return;
254
+ // The current adjustment state from the history hook
254
255
  const currentAdjustments = { ...currentAdjustmentsState };
255
256
  try {
256
- const newPreset = await controller.createPreset(firebaseUid, presetName, currentAdjustments);
257
- if (newPreset) {
258
- // Add the new preset returned from the API to our local state
259
- setPresets(prevPresets => [...prevPresets, newPreset]);
257
+ // Call the controller, which now calls the real API
258
+ const newPresetFromApi = await controller.createPreset(firebaseUid, presetName, currentAdjustments);
259
+ // If the API call was successful and returned a preset...
260
+ if (newPresetFromApi) {
261
+ // ...add the new preset from the API response to our local state
262
+ setPresets(prevPresets => [...prevPresets, newPresetFromApi]);
260
263
  }
261
264
  }
262
265
  catch (error) {
263
266
  console.error("Failed to create preset:", error);
267
+ // Optionally: show an error message to the user here
264
268
  }
265
- console.log("Creating preset:", presetName);
266
- const newPreset = { id: `preset${presets.length + 1}`, name: presetName };
267
- setPresets(prevPresets => [...prevPresets, newPreset]);
269
+ // Close the modal and show a confirmation
268
270
  setIsPresetCreated(true);
269
271
  handleClosePresetModal();
270
- setTimeout(() => setIsPresetCreated(false), 1000);
272
+ setTimeout(() => setIsPresetCreated(false), 1000); // Hide confirmation after 1s
271
273
  }, [controller, presetName, currentAdjustmentsState, firebaseUid]);
272
274
  const handleOpenPresetModalMobile = () => { setIsPresetCreated(false); setPresetModalOpenMobile(true); };
273
275
  const handleClosePresetModalMobile = () => setPresetModalOpenMobile(false);
274
- const handleCreatePresetMobile = () => {
276
+ const handleCreatePresetMobile = useCallback(async () => {
277
+ if (!controller)
278
+ return;
275
279
  console.log("Creating mobile preset:", presetName);
276
- const newPreset = { id: `preset${presets.length + 1}`, name: presetName };
277
- setPresets(prevPresets => [...prevPresets, newPreset]);
280
+ const currentAdjustments = { ...currentAdjustmentsState };
281
+ try {
282
+ // RE-USE THE SAME LOGIC AS THE DESKTOP VERSION
283
+ const newPresetFromApi = await controller.createPreset(firebaseUid, presetName, currentAdjustments);
284
+ if (newPresetFromApi) {
285
+ setPresets(prevPresets => [...prevPresets, newPresetFromApi]);
286
+ }
287
+ }
288
+ catch (error) {
289
+ console.error("Failed to create mobile preset:", error);
290
+ }
278
291
  setIsPresetCreated(true);
279
292
  handleClosePresetModalMobile();
280
293
  setTimeout(() => setIsPresetCreated(false), 1000);
281
- };
294
+ }, [controller, presetName, currentAdjustmentsState, firebaseUid]);
282
295
  const handleNameChange = (event) => setPresetName(event.target.value);
283
296
  // Watermark Handlers
284
297
  const handleOpenWatermarkView = () => setIsCreatingWatermark(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yogiswara/honcho-editor-ui",
3
- "version": "2.2.6",
3
+ "version": "2.2.7",
4
4
  "description": "A complete UI component library for the Honcho photo editor.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",