Skip to content

Commit 5277de4

Browse files
authored
Fill grant form with participant data (#4186)
1 parent d4a3418 commit 5277de4

File tree

3 files changed

+42
-25
lines changed

3 files changed

+42
-25
lines changed

frontend/src/components/grant-form/index.tsx

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ export const GrantForm = ({
143143
},
144144
});
145145

146+
const { data: participantData } = useParticipantDataQuery({
147+
variables: {
148+
conference: conference,
149+
},
150+
});
151+
146152
const inputPlaceholderText = useTranslatedMessage("input.placeholder");
147153
const { user, loading: loadingUser } = useCurrentUser({});
148154
const [formState, formOptions] = useFormState<GrantFormFields>(
@@ -200,33 +206,37 @@ export const GrantForm = ({
200206
formState.setField("notes", grant.notes);
201207
formState.setField("travellingFrom", grant.travellingFrom);
202208

203-
if (grant.participant) {
204-
formState.setField("participantBio", grant.participant.bio);
205-
formState.setField("participantWebsite", grant.participant.website);
206-
formState.setField(
207-
"participantTwitterHandle",
208-
grant.participant.twitterHandle,
209-
);
210-
formState.setField(
211-
"participantInstagramHandle",
212-
grant.participant.instagramHandle,
213-
);
214-
formState.setField(
215-
"participantLinkedinUrl",
216-
grant.participant.linkedinUrl,
217-
);
218-
formState.setField(
219-
"participantFacebookUrl",
220-
grant.participant.facebookUrl,
221-
);
222-
formState.setField(
223-
"participantMastodonHandle",
224-
grant.participant.mastodonHandle,
225-
);
226-
}
227209
formState.setField("acceptedPrivacyPolicy", true);
228210
}
229-
}, [grant]);
211+
212+
if (participantData.me.participant) {
213+
formState.setField("participantBio", participantData.me.participant.bio);
214+
formState.setField(
215+
"participantWebsite",
216+
participantData.me.participant.website,
217+
);
218+
formState.setField(
219+
"participantTwitterHandle",
220+
participantData.me.participant.twitterHandle,
221+
);
222+
formState.setField(
223+
"participantInstagramHandle",
224+
participantData.me.participant.instagramHandle,
225+
);
226+
formState.setField(
227+
"participantLinkedinUrl",
228+
participantData.me.participant.linkedinUrl,
229+
);
230+
formState.setField(
231+
"participantFacebookUrl",
232+
participantData.me.participant.facebookUrl,
233+
);
234+
formState.setField(
235+
"participantMastodonHandle",
236+
participantData.me.participant.mastodonHandle,
237+
);
238+
}
239+
}, []);
230240

231241
const handleOnSubmit = useCallback(
232242
async (e: React.FormEvent<HTMLFormElement>) => {
@@ -666,6 +676,7 @@ export const GrantForm = ({
666676
<Spacer size="medium" />
667677

668678
<PublicProfileCard
679+
me={participantData.me}
669680
formOptions={formOptions}
670681
photoRequired={false}
671682
getParticipantValidationError={(field) =>

frontend/src/pages/grants/edit/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ export const getServerSideProps: GetServerSideProps = async ({
9696
queryCurrentUser(client, {
9797
conference: process.env.conferenceCode,
9898
}),
99+
queryParticipantData(client, {
100+
conference: process.env.conferenceCode,
101+
}),
99102
]);
100103
} catch (e) {
101104
return {

frontend/src/pages/grants/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ export const getServerSideProps: GetServerSideProps = async ({
120120
queryCurrentUser(client, {
121121
conference: process.env.conferenceCode,
122122
}),
123+
queryParticipantData(client, {
124+
conference: process.env.conferenceCode,
125+
}),
123126
]);
124127

125128
if (grant) {

0 commit comments

Comments
 (0)