Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ interface BaseNodeProps {
isPlaceholder?: boolean;
config: any;
nodeType?: "trigger" | "action";
isConfigured?: boolean;

status?: "idle" | "running" | "success" | "error";
onConfigure?: () => void;
Expand Down Expand Up @@ -99,21 +100,15 @@ export default function BaseNode({ id, type, data }: BaseNodeProps) {
<span className="text-xl">{icon || "📦"}</span>
<span className="font-semibold text-sm">{label}</span>
</div>
{data.onConfigure && (
{data.isConfigured ? (
<span className="ml-2 px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">
✓ Configured
</span>
) : (
<span className="ml-2 px-2 py-1 bg-red-100 text-red-800 text-xs rounded-full">
Not Configured
</span>
)}
{/* Show config summary if exists */}
{/* {config && (
<div className="text-xs text-gray-500 mt-1">
{config.summary
? config.summary
: config.description
? config.description
: "Configured"}
</div>
)} */}

{/* Buttons */}
<div className="flex gap-2 mt-2">
Expand Down
14 changes: 9 additions & 5 deletions apps/web/app/lib/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
import axios from "axios";
import { BACKEND_URL, NodeUpdateSchema } from "@repo/common/zod";
import { TriggerUpdateSchema } from "@repo/common/zod";
import z from "zod"
import z from "zod";
import { getCredentials } from "../workflow/lib/config";

Copilot AI Jan 15, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This import is unused in the file. The getCredentials function is defined locally in the Credentials object and doesn't use the imported function. Remove this unused import.

Suggested change
import { getCredentials } from "../workflow/lib/config";

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove unused import.

getCredentials is imported but never used in this file.

Proposed fix
-import { getCredentials } from "../workflow/lib/config";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { getCredentials } from "../workflow/lib/config";
🤖 Prompt for AI Agents
In `@apps/web/app/lib/api.ts` at line 6, Remove the unused import by deleting
getCredentials from the import statement (the unused symbol getCredentials
imported from "../workflow/lib/config") in this module so there are no unused
imports left; update the import line accordingly or remove the entire import if
nothing else is imported.

// Wrap all API calls in async functions and make sure to set withCredentials: true and add Content-Type header.
export const api = {
workflows: {
Expand Down Expand Up @@ -33,7 +34,7 @@ export const api = {
headers: { "Content-Type": "application/json" },
}),
update: async (data: z.infer<typeof TriggerUpdateSchema>) => {
await axios.put(`${BACKEND_URL}/user/update/trigger`, data, {
return await axios.put(`${BACKEND_URL}/user/update/trigger`, data, {
withCredentials: true,
headers: { "Content-Type": "application/json" },
});
Expand All @@ -57,11 +58,14 @@ export const api = {
}),
},
Credentials: {
getCredentials: async (type: string) =>
await axios.get(`${BACKEND_URL}/user/getCredentials/${type}`, {
getCredentials: async (type: string) => {
const res = await axios.get(`${BACKEND_URL}/user/getCredentials/${type}`, {

Copilot AI Jan 15, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent spacing: there are two spaces after the equals sign. Should be a single space for consistency with the rest of the codebase.

Suggested change
const res = await axios.get(`${BACKEND_URL}/user/getCredentials/${type}`, {
const res = await axios.get(`${BACKEND_URL}/user/getCredentials/${type}`, {

Copilot uses AI. Check for mistakes.
withCredentials: true,
headers: { "Content-Type": "application/json" },
}),
});
return res.data.Data;
},

getAllCreds: async () =>
await axios.get(`${BACKEND_URL}/user/getAllCreds`, {
withCredentials: true,
Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/lib/nodeConfigs/googleSheet.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { NodeConfig } from "../types/node.types";
export const googleSheetActionConfig: NodeConfig = {
id: "google_sheet",
type: "action",
label: "Google Sheets",
label: "Google Sheet",
icon: "📊",
description: "Read or write data to Google Sheets",
Comment on lines +6 to 8

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistent naming: label vs. description and official product name.

The label was changed to singular "Google Sheet", but:

  1. The description on line 8 still uses plural "Google Sheets"
  2. The official product name is "Google Sheets" (plural)

Consider either reverting to "Google Sheets" to match the official branding, or updating the description as well for internal consistency.

Option 1: Revert to official product name
-  label: "Google Sheet",
+  label: "Google Sheets",
Option 2: Make description consistent with new label
-  description: "Read or write data to Google Sheets",
+  description: "Read or write data to a Google Sheet",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
label: "Google Sheet",
icon: "📊",
description: "Read or write data to Google Sheets",
label: "Google Sheets",
icon: "📊",
description: "Read or write data to Google Sheets",
Suggested change
label: "Google Sheet",
icon: "📊",
description: "Read or write data to Google Sheets",
label: "Google Sheet",
icon: "📊",
description: "Read or write data to a Google Sheet",
🤖 Prompt for AI Agents
In `@apps/web/app/lib/nodeConfigs/googleSheet.action.ts` around lines 6 - 8, The
label "label" for the Google Sheets action is inconsistent with the
"description" (singular vs plural) and the official product name; update either
the label value in the object (symbol: label) to "Google Sheets" to match the
description and branding, or change the description value (symbol: description)
to use the singular "Google Sheet" so both fields match—ensure both strings
consistently reflect the chosen naming across the object.

credentials: "google", // Requires Google OAuth
Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/lib/nodeConfigs/webhook.trigger.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// import { NodeConfig } from '../types/node.types';

// //
// export const webhookTriggerConfig: NodeConfig = {
// id: "webhook",
// type: "trigger",
Expand Down
Loading
Loading