Browse Source

feat: add localStorage helpers for workflows directory

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 4 months ago
parent
commit
3e16ccaf7d
  1. 12
      src/store/utils/localStorage.ts

12
src/store/utils/localStorage.ts

@ -20,6 +20,7 @@ export const RECENT_MODELS_KEY = "node-banana-recent-models";
export const NODE_DEFAULTS_KEY = "node-banana-node-defaults"; export const NODE_DEFAULTS_KEY = "node-banana-node-defaults";
export const CANVAS_NAVIGATION_KEY = "node-banana-canvas-navigation"; export const CANVAS_NAVIGATION_KEY = "node-banana-canvas-navigation";
export const LAST_PROJECT_BASE_DIR_KEY = "node-banana-last-project-dir"; export const LAST_PROJECT_BASE_DIR_KEY = "node-banana-last-project-dir";
export const WORKFLOWS_DIRECTORY_KEY = "node-banana-workflows-directory";
// Maximum recent models to store (show 4 in UI, keep 8 for persistence) // Maximum recent models to store (show 4 in UI, keep 8 for persistence)
export const MAX_RECENT_MODELS = 8; export const MAX_RECENT_MODELS = 8;
@ -228,6 +229,17 @@ export const setLastProjectBaseDir = (dir: string): void => {
localStorage.setItem(LAST_PROJECT_BASE_DIR_KEY, dir); localStorage.setItem(LAST_PROJECT_BASE_DIR_KEY, dir);
}; };
// Workflows directory helpers
export const getWorkflowsDirectory = (): string | null => {
if (typeof window === "undefined") return null;
return localStorage.getItem(WORKFLOWS_DIRECTORY_KEY);
};
export const setWorkflowsDirectory = (path: string): void => {
if (typeof window === "undefined") return;
localStorage.setItem(WORKFLOWS_DIRECTORY_KEY, path);
};
// Workflow ID generator // Workflow ID generator
export const generateWorkflowId = (): string => export const generateWorkflowId = (): string =>
`wf_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; `wf_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;

Loading…
Cancel
Save