@yogiswara/honcho-editor-ui 2.3.0 → 2.3.1

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.
@@ -184,14 +184,11 @@ export declare function useHonchoEditor(controller: Controller, initImageId: str
184
184
  handleSelectDesktopPreset: (presetId: string) => void;
185
185
  handlePresetMenuClick: (event: React.MouseEvent<HTMLElement>, presetId: string) => void;
186
186
  handlePresetMenuClose: () => void;
187
- handleCreatePreset: () => Promise<void>;
188
187
  handleRemovePreset: () => void;
189
- handleDeletePreset: () => Promise<void>;
190
188
  handleOpenPresetModal: () => void;
191
189
  handleClosePresetModal: () => void;
192
190
  handleOpenPresetModalMobile: () => void;
193
191
  handleClosePresetModalMobile: () => void;
194
- handleCreatePresetMobile: () => Promise<void>;
195
192
  setPresetName: import("react").Dispatch<import("react").SetStateAction<string>>;
196
193
  handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
197
194
  isRenameModalOpen: boolean;
@@ -22,6 +22,7 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
22
22
  const [isEditorReady, setIsEditorReady] = useState(false);
23
23
  const [isImageLoaded, setIsImageLoaded] = useState(false);
24
24
  const [zoomLevel, setZoomLevel] = useState(1);
25
+ const [presets, setPresets] = useState([]);
25
26
  // MARK: - Adjustment & History State
26
27
  const [copiedAdjustments, setCopiedAdjustments] = useState(null);
27
28
  const [copyColorChecks, setCopyColorChecks] = useState({ temperature: true, tint: true, vibrance: true, saturation: true });
@@ -46,7 +47,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
46
47
  // Preset State
47
48
  const [isPresetModalOpen, setPresetModalOpen] = useState(false);
48
49
  const [isPresetModalOpenMobile, setPresetModalOpenMobile] = useState(false);
49
- const [presets, setPresets] = useState([]);
50
50
  const [presetName, setPresetName] = useState("Type Here");
51
51
  const [isPresetCreated, setIsPresetCreated] = useState(false);
52
52
  const [selectedMobilePreset, setSelectedMobilePreset] = useState('preset1');
@@ -232,63 +232,11 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
232
232
  };
233
233
  const handlePresetMenuClose = () => { setPresetMenuAnchorEl(null); setActivePresetMenuId(null); };
234
234
  const handleRemovePreset = () => { console.log(`Remove: ${activePresetMenuId}`); handlePresetMenuClose(); };
235
- const handleDeletePreset = useCallback(async () => {
236
- if (!controller || !activePresetMenuId)
237
- return;
238
- try {
239
- await controller.deletePreset(firebaseUid, activePresetMenuId);
240
- // On success, remove the preset from local state
241
- setPresets(prevPresets => prevPresets.filter(p => p.id !== activePresetMenuId));
242
- }
243
- catch (error) {
244
- console.error("Failed to delete preset:", error);
245
- }
246
- handlePresetMenuClose(); // Close the options menu
247
- }, [controller, activePresetMenuId]);
248
235
  // Preset Modal Handlers
249
236
  const handleOpenPresetModal = () => { setIsPresetCreated(false); setPresetModalOpen(true); };
250
237
  const handleClosePresetModal = () => setPresetModalOpen(false);
251
- const handleCreatePreset = useCallback(async () => {
252
- if (!controller)
253
- return;
254
- // The current adjustment state from the history hook
255
- const currentAdjustments = { ...currentAdjustmentsState };
256
- try {
257
- // Call the controller, which now calls the real API
258
- 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]);
263
- // }
264
- }
265
- catch (error) {
266
- console.error("Failed to create preset:", error);
267
- // Optionally: show an error message to the user here
268
- }
269
- // Close the modal and show a confirmation
270
- setIsPresetCreated(true);
271
- handleClosePresetModal();
272
- setTimeout(() => setIsPresetCreated(false), 1000); // Hide confirmation after 1s
273
- }, [controller, presetName, currentAdjustmentsState, firebaseUid]);
274
238
  const handleOpenPresetModalMobile = () => { setIsPresetCreated(false); setPresetModalOpenMobile(true); };
275
239
  const handleClosePresetModalMobile = () => setPresetModalOpenMobile(false);
276
- const handleCreatePresetMobile = useCallback(async () => {
277
- if (!controller)
278
- return;
279
- console.log("Creating mobile preset:", presetName);
280
- const currentAdjustments = { ...currentAdjustmentsState };
281
- try {
282
- // RE-USE THE SAME LOGIC AS THE DESKTOP VERSION
283
- await controller.createPreset(firebaseUid, presetName, currentAdjustments);
284
- }
285
- catch (error) {
286
- console.error("Failed to create mobile preset:", error);
287
- }
288
- setIsPresetCreated(true);
289
- handleClosePresetModalMobile();
290
- setTimeout(() => setIsPresetCreated(false), 1000);
291
- }, [controller, presetName, currentAdjustmentsState, firebaseUid]);
292
240
  const handleNameChange = (event) => setPresetName(event.target.value);
293
241
  // Watermark Handlers
294
242
  const handleOpenWatermarkView = () => setIsCreatingWatermark(true);
@@ -694,14 +642,11 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
694
642
  handleSelectDesktopPreset,
695
643
  handlePresetMenuClick,
696
644
  handlePresetMenuClose,
697
- handleCreatePreset,
698
645
  handleRemovePreset,
699
- handleDeletePreset,
700
646
  handleOpenPresetModal,
701
647
  handleClosePresetModal,
702
648
  handleOpenPresetModalMobile,
703
649
  handleClosePresetModalMobile,
704
- handleCreatePresetMobile,
705
650
  setPresetName,
706
651
  handleNameChange,
707
652
  isRenameModalOpen,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yogiswara/honcho-editor-ui",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
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",