From d1c0f62fc308315332941007024305387a9760fe Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 13 Feb 2026 04:33:55 -0600 Subject: [PATCH] refactor: Separate concerns and add components dropdown - Add ComponentsDropdown.vue with save/load/delete functionality - Create components store (Pinia) for state management - Extract WebMCP initialization to services/webmcp.ts - Extract MCP tools registration to services/canvasTools.ts - Simplify Canvas.vue (~340 lines -> ~105 lines) - Update App.vue header with components dropdown Co-Authored-By: Claude Opus 4.5 --- frontend/src/App.vue | 12 +- frontend/src/components/Canvas.vue | 360 ++---------------- .../src/components/ComponentsDropdown.vue | 357 +++++++++++++++++ frontend/src/services/canvasTools.ts | 257 +++++++++++++ frontend/src/services/webmcp.ts | 52 +++ frontend/src/stores/components.ts | 124 ++++++ 6 files changed, 836 insertions(+), 326 deletions(-) create mode 100644 frontend/src/components/ComponentsDropdown.vue create mode 100644 frontend/src/services/canvasTools.ts create mode 100644 frontend/src/services/webmcp.ts create mode 100644 frontend/src/stores/components.ts diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 4a8c304..cded8ec 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -2,12 +2,16 @@ import Canvas from './components/Canvas.vue' import StatusBar from './components/StatusBar.vue' import Toolbar from './components/Toolbar.vue' +import ComponentsDropdown from './components/ComponentsDropdown.vue'