Skip to content

Commit 7e7076e

Browse files
committed
Add isDevelopment flag to context
1 parent 506f70e commit 7e7076e

File tree

8 files changed

+26
-12
lines changed

8 files changed

+26
-12
lines changed

packages/connect-react/examples/nextjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
},
88
"dependencies": {
99
"@pipedream/connect-react": "file:../..",
10-
"@pipedream/sdk": "^1.1.4",
10+
"@pipedream/sdk": "^1.3.2",
1111
"next": "15.0.3",
1212
"react": "19.0.0-rc-66855b96-20241106",
1313
"react-dom": "19.0.0-rc-66855b96-20241106"

packages/connect-react/examples/nextjs/src/app/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ export default function Home() {
2727
] = useState<string | undefined>();
2828

2929
const [
30-
errors,
31-
setErrors,
30+
sdkErrors,
31+
setSdkErrors,
3232
] = useState<unknown[] | unknown | undefined>(undefined);
3333

3434
const handleDynamicProps = (dynamicProps: { id: string | undefined }) => {
@@ -45,18 +45,19 @@ export default function Home() {
4545
configuredProps={configuredProps}
4646
onUpdateDynamicProps={handleDynamicProps}
4747
onUpdateConfiguredProps={setConfiguredProps}
48-
sdkErrors={errors}
48+
sdkErrors={sdkErrors}
49+
environment={client.getEnvironment()}
4950
onSubmit={async () => {
5051
try {
51-
const result = await client.actionRun({
52+
const result = await client.runAction({
5253
userId,
5354
actionId: "gmail-new-email-received",
5455
configuredProps,
5556
dynamicPropsId,
5657
});
57-
setErrors(result?.os)
58+
setSdkErrors(result?.os)
5859
} catch (error) {
59-
setErrors(error as unknown)
60+
setSdkErrors(error as unknown)
6061
console.error("Action run failed:", error);
6162
}
6263
}}

packages/connect-react/src/components/ComponentForm.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export type ComponentFormProps<T extends ConfigurableProps, U = ConfiguredProps<
2121
onUpdateDynamicProps?: (dp: DynamicProps<T>) => void;
2222
hideOptionalProps?: boolean;
2323
sdkErrors?: unknown[] | unknown | undefined;
24+
environment?: string;
2425
};
2526

2627
export function ComponentForm<T extends ConfigurableProps>(props: ComponentFormProps<T>) {

packages/connect-react/src/components/Field.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ export function Field<T extends ConfigurableProp>(props: FieldProps<T>) {
2121
const {
2222
form, field,
2323
} = props;
24-
const { prop } = field;
24+
const {
25+
prop, isDevelopment,
26+
} = field;
2527
const {
2628
getProps, getComponents,
2729
} = useCustomize();
@@ -63,7 +65,7 @@ export function Field<T extends ConfigurableProp>(props: FieldProps<T>) {
6365
<Label text={labelText} field={field} form={form} />
6466
<Control field={field} form={form} />
6567
<Description markdown={prop.description} field={field} form={form} />
66-
<Errors field={field} form={form} />
68+
{ isDevelopment && <Errors field={field} form={form} /> }
6769
</div>
6870
);
6971
}

packages/connect-react/src/components/InternalComponentForm.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export function InternalComponentForm() {
2727
setSubmitting,
2828
sdkErrors: __sdkErrors,
2929
submitting,
30+
isDevelopment,
3031
} = formContext;
3132

3233
const {
@@ -158,7 +159,7 @@ export function InternalComponentForm() {
158159
</div>
159160
</div>
160161
: null}
161-
{ sdkErrors?.map((e, idx) => <Alert prop={e} key={idx}/>)}
162+
{ isDevelopment && sdkErrors?.map((e, idx) => <Alert prop={e} key={idx}/>)}
162163
{onSubmit && <ControlSubmit form={formContext} />}
163164
</form>
164165
</Suspense>

packages/connect-react/src/components/InternalField.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export function InternalField<T extends ConfigurableProp>({
1515
}: FieldInternalProps<T>) {
1616
const formCtx = useFormContext();
1717
const {
18-
id: formId, configuredProps, registerField, setConfiguredProp, errors,
18+
id: formId, configuredProps, registerField, setConfiguredProp, errors, isDevelopment,
1919
} = formCtx;
2020

2121
const appSlug = prop.type === "app" && "app" in prop
@@ -45,6 +45,7 @@ export function InternalField<T extends ConfigurableProp>({
4545
app, // XXX fix ts
4646
},
4747
errors,
48+
isDevelopment,
4849
};
4950
useEffect(() => registerField(fieldCtx), [
5051
fieldCtx,

packages/connect-react/src/hooks/form-context.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export type FormContext<T extends ConfigurableProps> = {
3838
setSubmitting: (submitting: boolean) => void;
3939
submitting: boolean;
4040
userId: string;
41+
isDevelopment: boolean;
4142
};
4243

4344
export const skippablePropTypes = [
@@ -74,7 +75,7 @@ export const FormContextProvider = <T extends ConfigurableProps>({
7475
const id = useId();
7576

7677
const {
77-
component, configuredProps: __configuredProps, propNames, userId, sdkErrors: __sdkErrors,
78+
component, configuredProps: __configuredProps, propNames, userId, sdkErrors: __sdkErrors, environment,
7879
} = formProps;
7980
const componentId = component.key;
8081

@@ -100,6 +101,11 @@ export const FormContextProvider = <T extends ConfigurableProps>({
100101
setSdkErrors,
101102
] = useState<Record<string, string>[]>([])
102103

104+
const [
105+
isDevelopment,
106+
setIsDevelopment,
107+
] = useState<boolean>(environment === "development")
108+
103109
const [
104110
enabledOptionalProps,
105111
setEnabledOptionalProps,
@@ -448,6 +454,7 @@ export const FormContextProvider = <T extends ConfigurableProps>({
448454
setSubmitting,
449455
submitting,
450456
sdkErrors,
457+
isDevelopment,
451458
};
452459
return <FormContext.Provider value={value}>{children}</FormContext.Provider>;
453460
};

packages/connect-react/src/hooks/form-field-context.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export type FormFieldContext<T extends ConfigurableProp> = {
1717
onChange: (value: PropValue<T["type"]> | undefined) => void;
1818
extra: FormFieldContextExtra<T>;
1919
errors: Record<string, string[]>;
20+
isDevelopment: boolean;
2021
};
2122

2223
export const FormFieldContext = createContext<FormFieldContext<any /* XXX fix */> | undefined>(undefined); // eslint-disable-line @typescript-eslint/no-explicit-any

0 commit comments

Comments
 (0)