Skip to content

Commit 313cb49

Browse files
committed
Use enableDebugging flag instead of environment
1 parent 8a0d675 commit 313cb49

File tree

7 files changed

+22
-24
lines changed

7 files changed

+22
-24
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default function Home() {
4545
onUpdateDynamicProps={handleDynamicProps}
4646
onUpdateConfiguredProps={setConfiguredProps}
4747
sdkErrors={sdkErrors}
48-
environment={client.getEnvironment()}
48+
enableDebugging={true}
4949
onSubmit={async () => {
5050
try {
5151
const result = await client.runAction({

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +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;
24+
enableDebugging?: string;
2525
};
2626

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

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function Field<T extends ConfigurableProp>(props: FieldProps<T>) {
2222
form, field,
2323
} = props;
2424
const {
25-
prop, isDevelopment,
25+
prop, enableDebugging,
2626
} = field;
2727
const {
2828
getProps, getComponents,
@@ -65,7 +65,7 @@ export function Field<T extends ConfigurableProp>(props: FieldProps<T>) {
6565
<Label text={labelText} field={field} form={form} />
6666
<Control field={field} form={form} />
6767
<Description markdown={prop.description} field={field} form={form} />
68-
{ isDevelopment && <Errors field={field} form={form} /> }
68+
{ enableDebugging && <Errors field={field} form={form} /> }
6969
</div>
7070
);
7171
}

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

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

3333
const {
@@ -159,7 +159,7 @@ export function InternalComponentForm() {
159159
</div>
160160
</div>
161161
: null}
162-
{ isDevelopment && sdkErrors?.map((e, idx) => <Alert prop={e} key={idx}/>)}
162+
{ enableDebugging && sdkErrors?.map((e, idx) => <Alert prop={e} key={idx}/>)}
163163
{onSubmit && <ControlSubmit form={formContext} />}
164164
</form>
165165
</Suspense>

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

Lines changed: 2 additions & 2 deletions
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, isDevelopment,
18+
id: formId, configuredProps, registerField, setConfiguredProp, errors, enableDebugging,
1919
} = formCtx;
2020

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

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

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export type FormContext<T extends ConfigurableProps> = {
3838
setSubmitting: (submitting: boolean) => void;
3939
submitting: boolean;
4040
userId: string;
41-
isDevelopment: boolean;
41+
enableDebugging: boolean;
4242
};
4343

4444
export const skippablePropTypes = [
@@ -75,7 +75,7 @@ export const FormContextProvider = <T extends ConfigurableProps>({
7575
const id = useId();
7676

7777
const {
78-
component, configuredProps: __configuredProps, propNames, userId, sdkErrors: __sdkErrors, environment,
78+
component, configuredProps: __configuredProps, propNames, userId, sdkErrors: __sdkErrors, enableDebugging: __enableDebugging,
7979
} = formProps;
8080
const componentId = component.key;
8181

@@ -102,9 +102,9 @@ export const FormContextProvider = <T extends ConfigurableProps>({
102102
] = useState<Record<string, string>[]>([])
103103

104104
const [
105-
isDevelopment,
106-
setIsDevelopment,
107-
] = useState<boolean>(environment === "development")
105+
enableDebugging,
106+
setEnableDebugging,
107+
] = useState<boolean>(__enableDebugging === true)
108108

109109
const [
110110
enabledOptionalProps,
@@ -159,16 +159,14 @@ export const FormContextProvider = <T extends ConfigurableProps>({
159159
const {
160160
dynamicProps, observations, errors: __errors,
161161
} = result
162-
const errorsAndObservations = []
163-
if (observations) {
164-
errorsAndObservations.push(...observations)
165-
}
166-
if (__errors) {
167-
errorsAndObservations.push(...__errors)
168-
}
169-
if (errorsAndObservations) {
170-
handleSdkErrors(errorsAndObservations)
162+
163+
// Prioritize errors from observations over the errors array
164+
if (observations && observations.filter((o) => o.k === "error").length > 0) {
165+
handleSdkErrors(observations)
166+
} else {
167+
handleSdkErrors(__errors)
171168
}
169+
172170
// XXX what about if null?
173171
// TODO observation errors, etc.
174172
if (dynamicProps) {
@@ -549,7 +547,7 @@ export const FormContextProvider = <T extends ConfigurableProps>({
549547
setSubmitting,
550548
submitting,
551549
sdkErrors,
552-
isDevelopment,
550+
enableDebugging,
553551
};
554552
return <FormContext.Provider value={value}>{children}</FormContext.Provider>;
555553
};

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +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;
20+
enableDebugging: boolean;
2121
};
2222

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

0 commit comments

Comments
 (0)