From 9bb699cba1090f729a43d4762c726afa39d45773 Mon Sep 17 00:00:00 2001 From: Alex TYRODE Date: Fri, 2 May 2025 22:26:04 +0000 Subject: [PATCH 1/2] refactor: update default canvas API endpoint in SettingsDialog - Changed the API call in SettingsDialog to use the new endpoint '/api/templates/default' for fetching default canvas data. - Removed the previous fetch implementation, streamlining the code by utilizing the api.getDefaultCanvas() method for better maintainability. --- src/frontend/src/api/hooks.ts | 2 +- src/frontend/src/ui/SettingsDialog.tsx | 15 ++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/frontend/src/api/hooks.ts b/src/frontend/src/api/hooks.ts index 7c8b0d2..7fcd6e9 100644 --- a/src/frontend/src/api/hooks.ts +++ b/src/frontend/src/api/hooks.ts @@ -118,7 +118,7 @@ export const api = { getDefaultCanvas: async (): Promise => { try { - const result = await fetchApi('/api/pad/from-template/default'); + const result = await fetchApi('/api/templates/default'); return result; } catch (error) { throw error; diff --git a/src/frontend/src/ui/SettingsDialog.tsx b/src/frontend/src/ui/SettingsDialog.tsx index 6ab7540..e496bbe 100644 --- a/src/frontend/src/ui/SettingsDialog.tsx +++ b/src/frontend/src/ui/SettingsDialog.tsx @@ -5,6 +5,7 @@ import { UserSettings, DEFAULT_SETTINGS } from "../types/settings"; import { RefreshCw } from "lucide-react"; import { normalizeCanvasData } from "../utils/canvasUtils"; import { capture } from "../utils/posthog"; +import { api } from "../api/hooks"; import "./SettingsDialog.scss"; interface SettingsDialogProps { @@ -47,17 +48,9 @@ const SettingsDialog: React.FC = ({ setIsRestoring(true); capture('restore_tutorial_canvas_clicked'); - // Fetch the default canvas data from the backend - const response = await fetch('/api/canvas/default', { - method: 'GET', - credentials: 'include' - }); - - if (!response.ok) { - throw new Error(`Failed to fetch default canvas: ${response.statusText}`); - } - - const defaultCanvasData = await response.json(); + // Use the API function from hooks.ts to fetch the default canvas + const defaultCanvasData = await api.getDefaultCanvas(); + console.log("Default canvas data:", defaultCanvasData); // Normalize the canvas data before updating the scene const normalizedData = normalizeCanvasData(defaultCanvasData); From fdc139f39862f869d704b36a877dc42c0a9d14f5 Mon Sep 17 00:00:00 2001 From: Alex TYRODE Date: Sun, 4 May 2025 17:22:46 +0000 Subject: [PATCH 2/2] fix: update API response handling in getDefaultCanvas and log default canvas data - Modified the getDefaultCanvas function to return result.data instead of the entire result object, ensuring correct data retrieval. - Added a console log in SettingsDialog to output the fetched default canvas data for debugging purposes. --- src/frontend/src/api/hooks.ts | 2 +- src/frontend/src/ui/SettingsDialog.tsx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/api/hooks.ts b/src/frontend/src/api/hooks.ts index 7fcd6e9..6747eca 100644 --- a/src/frontend/src/api/hooks.ts +++ b/src/frontend/src/api/hooks.ts @@ -119,7 +119,7 @@ export const api = { getDefaultCanvas: async (): Promise => { try { const result = await fetchApi('/api/templates/default'); - return result; + return result.data; } catch (error) { throw error; } diff --git a/src/frontend/src/ui/SettingsDialog.tsx b/src/frontend/src/ui/SettingsDialog.tsx index e496bbe..4876f5c 100644 --- a/src/frontend/src/ui/SettingsDialog.tsx +++ b/src/frontend/src/ui/SettingsDialog.tsx @@ -50,7 +50,8 @@ const SettingsDialog: React.FC = ({ // Use the API function from hooks.ts to fetch the default canvas const defaultCanvasData = await api.getDefaultCanvas(); - console.log("Default canvas data:", defaultCanvasData); + + console.debug("Default canvas data:", defaultCanvasData); // Normalize the canvas data before updating the scene const normalizedData = normalizeCanvasData(defaultCanvasData); @@ -58,7 +59,7 @@ const SettingsDialog: React.FC = ({ // Update the canvas with the normalized default data excalidrawAPI.updateScene(normalizedData); - console.log("Canvas reset to default successfully"); + console.debug("Canvas reset to default successfully"); // Close the dialog after successful restore handleClose();