Skip to content

Commit d032c12

Browse files
committed
Integration UI complete
1 parent 86448fe commit d032c12

File tree

1 file changed

+53
-35
lines changed

1 file changed

+53
-35
lines changed

integrations/va-auth0/src/index.tsx

+53-35
Original file line numberDiff line numberDiff line change
@@ -58,50 +58,68 @@ const helloWorldBlock = createComponent<Auth0Props, Auth0State, Auth0Action, Aut
5858
action: async (element, action, context) => {
5959
switch (action.action) {
6060
case 'save.config':
61-
// await saveConfig();
61+
// eslint-disable-next-line no-console
62+
console.log('action save.config element.state.client_id', element.state.client_id);
63+
const { api, environment } = context;
64+
const spaceInstallation = environment.spaceInstallation;
65+
66+
const configurationBody = {
67+
...spaceInstallation.configuration,
68+
client_id: element.state.client_id,
69+
client_secret: element.state.client_secret,
70+
issuer_base_url: element.state.issuer_base_url,
71+
};
72+
73+
const res = await api.integrations.updateIntegrationSpaceInstallation(
74+
spaceInstallation.integration,
75+
spaceInstallation.installation,
76+
spaceInstallation.space,
77+
{
78+
configuration: {
79+
...configurationBody,
80+
},
81+
}
82+
);
83+
// eslint-disable-next-line no-console
84+
console.log('res', res);
6285
return element;
6386
}
6487
},
6588
render: async (element, context) => {
66-
// eslint-disable-next-line no-console
67-
console.log(
68-
'disabled?',
69-
element.dynamicState('client_id'),
70-
!element.state.client_id ||
71-
!element.state.issuer_base_url ||
72-
!element.state.client_secret
73-
);
74-
const showButton =
75-
element.state.client_id && element.state.issuer_base_url && element.state.client_secret;
89+
const VACallbackURL = `${context.environment.spaceInstallation?.urls?.publicEndpoint}/visitor-auth/response`;
7690
return (
7791
<block>
7892
<textinput state="client_id" placeholder="Enter Client Id" />
7993
<textinput state="issuer_base_url" placeholder="Enter Issuer Base URL" />
8094
<textinput state="client_secret" placeholder="Enter Client Secret" />
81-
{true ? (
82-
<input
83-
label=""
84-
hint=""
85-
element={
86-
<button
87-
style="primary"
88-
disabled={
89-
!element.state.client_id ||
90-
!element.state.client_secret ||
91-
!element.state.issuer_base_url
92-
}
93-
label="Configure"
94-
tooltip="Save configuration"
95-
onPress={{
96-
action: 'save.config',
97-
client_id: element.dynamicState('client_id'),
98-
client_secret: element.dynamicState('client_secret'),
99-
issuer_base_url: element.dynamicState('issuer_base_url'),
100-
}}
101-
/>
102-
}
103-
/>
95+
<input
96+
label=""
97+
hint=""
98+
element={
99+
<button
100+
style="primary"
101+
disabled={false}
102+
label="Vibby"
103+
tooltip="Save configuration Vib"
104+
onPress={{
105+
action: 'save.config',
106+
// client_id: element.dynamicState('client_id'),
107+
// client_secret: element.dynamicState('client_secret'),
108+
// issuer_base_url: element.dynamicState('issuer_base_url'),
109+
}}
110+
/>
111+
}
112+
/>
113+
{!element.state.client_id ||
114+
!element.state.client_secret ||
115+
!element.state.issuer_base_url ? (
116+
<hint>
117+
<text style="bold">Enter values for the fields above and hit Save</text>
118+
</hint>
104119
) : null}
120+
<divider size="medium" />
121+
<text>Enter the following URL as an allowed callback URL in Auth0:</text>
122+
<text>{VACallbackURL}</text>
105123
</block>
106124
);
107125
},
@@ -267,7 +285,7 @@ export default createIntegration({
267285
const installationURL = environment.spaceInstallation?.urls?.publicEndpoint;
268286
const issuerBaseUrl = environment.spaceInstallation?.configuration.issuer_base_url;
269287
const clientId = environment.spaceInstallation?.configuration.client_id;
270-
const location = '';
288+
const location = event.location ? event.location : '';
271289

272290
try {
273291
return Response.redirect(

0 commit comments

Comments
 (0)