Skip to content

Commit 7de9113

Browse files
committed
add contributors details in publish step
1 parent dcd0a48 commit 7de9113

File tree

1 file changed

+94
-34
lines changed
  • app/[locale]/dashboard/[entityType]/[entitySlug]/usecases/edit/[id]/publish

1 file changed

+94
-34
lines changed

app/[locale]/dashboard/[entityType]/[entitySlug]/usecases/edit/[id]/publish/page.tsx

Lines changed: 94 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
'use client';
22

3+
import Image from 'next/image';
34
import { useParams, useRouter } from 'next/navigation';
45
import { graphql } from '@/gql';
56
import { useMutation, useQuery } from '@tanstack/react-query';
@@ -45,6 +46,8 @@ const UseCaseDetails: any = graphql(`
4546
id
4647
value
4748
}
49+
startedOn
50+
completedOn
4851
logo {
4952
name
5053
path
@@ -61,6 +64,27 @@ const UseCaseDetails: any = graphql(`
6164
contactEmail
6265
status
6366
slug
67+
contributors {
68+
id
69+
fullName
70+
username
71+
}
72+
supportingOrganizations {
73+
id
74+
name
75+
logo {
76+
url
77+
name
78+
}
79+
}
80+
partnerOrganizations {
81+
id
82+
name
83+
logo {
84+
url
85+
name
86+
}
87+
}
6488
}
6589
}
6690
`);
@@ -131,6 +155,11 @@ const Publish = () => {
131155
? 'No datasets assigned. Please assign to continue.'
132156
: '',
133157
},
158+
{
159+
name: 'Contributors',
160+
data: UseCaseData?.data?.useCases[0]?.length > 0,
161+
error: '',
162+
},
134163
];
135164

136165
const columns = [
@@ -140,26 +169,16 @@ const Publish = () => {
140169
];
141170

142171
const PrimaryDetails = [
143-
{ label: 'Title', value: UseCaseData.data?.useCases[0]?.title },
172+
{ label: 'Use Case Name', value: UseCaseData.data?.useCases[0]?.title },
144173
{ label: 'Summary', value: UseCaseData.data?.useCases[0]?.summary },
145174
{
146175
label: 'running Status',
147176
value: UseCaseData.data?.useCases[0]?.runningStatus,
148177
},
149-
150-
{
151-
label: 'Logo',
152-
value:
153-
UseCaseData.data &&
154-
UseCaseData.data?.useCases[0]?.logo?.name.split('/').pop(),
155-
},
178+
{ label: 'Started On', value: UseCaseData.data?.useCases[0]?.startedOn },
156179
{
157-
label: 'Website',
158-
value: UseCaseData.data?.useCases[0]?.website,
159-
},
160-
{
161-
label: 'Contact Email',
162-
value: UseCaseData.data?.useCases[0]?.contactEmail,
180+
label: 'Completed On',
181+
value: UseCaseData.data?.useCases[0]?.completedOn,
163182
},
164183
{ label: 'Sector', value: UseCaseData.data?.useCases[0]?.sectors[0]?.name },
165184
{ label: 'Tags', value: UseCaseData.data?.useCases[0]?.tags[0]?.value },
@@ -169,6 +188,13 @@ const Publish = () => {
169188
})) || []),
170189
];
171190

191+
192+
const ContributorDetails = [
193+
{ label: 'Contributors', value: UseCaseData.data?.useCases[0]?.contributors.length>0 ? UseCaseData.data?.useCases[0]?.contributors.map((item: any) => item.fullName).join(', '):'No Contributors' },
194+
{ label: 'Supporters', value: UseCaseData.data?.useCases[0]?.supportingOrganizations.length>0 ? UseCaseData.data?.useCases[0]?.supportingOrganizations.map((item: any) => item.name).join(', '):'No Supporting Organizations' },
195+
{ label: 'Partners', value: UseCaseData.data?.useCases[0]?.partnerOrganizations.length>0 ? UseCaseData.data?.useCases[0]?.partnerOrganizations.map((item: any) => item.name).join(', '):'No Partner Organizations' },
196+
];
197+
172198
const generateTableData = (list: Array<any>) => {
173199
return list?.map((item) => {
174200
return {
@@ -238,32 +264,66 @@ const Publish = () => {
238264
/>
239265
) : item.name === 'Details' ? (
240266
<div className="flex flex-col gap-4 px-8 py-4">
241-
{PrimaryDetails.map(
242-
(item, index) =>
243-
item.value && (
244-
<div
245-
className="flex flex-wrap gap-2"
246-
key={index}
247-
>
248-
<Text
249-
className="lg:basis-1/6"
250-
variant="bodyMd"
267+
<>
268+
{PrimaryDetails.map(
269+
(item, index) =>
270+
item.value && (
271+
<div
272+
className="flex flex-wrap gap-2"
273+
key={index}
251274
>
252-
{item.label}:
253-
</Text>
254-
<Text
255-
variant="bodyMd"
256-
className="lg:basis-4/5"
257-
>
258-
{item.value}
275+
<div className="md:w-1/6 lg:w-1/6">
276+
<Text variant="bodyMd">
277+
{item.label}:
278+
</Text>
279+
</div>
280+
<div>
281+
<Text variant="bodyMd">
282+
{item.value}
283+
</Text>
284+
</div>
285+
</div>
286+
)
287+
)}
288+
{UseCaseData.data?.useCases[0]?.logo && (
289+
<div className="flex flex-wrap items-center gap-2">
290+
<div className="md:w-1/6 lg:w-1/6">
291+
<Text className="" variant="bodyMd">
292+
Image:
259293
</Text>
260294
</div>
261-
)
262-
)}
295+
<Image
296+
src={`${process.env.NEXT_PUBLIC_BACKEND_URL}/${UseCaseData.data?.useCases[0]?.logo?.path.replace('/code/files/', '')}`}
297+
alt={UseCaseData.data?.useCases[0]?.title}
298+
width={240}
299+
height={240}
300+
/>
301+
</div>
302+
)}
303+
</>
263304
</div>
264305
) : (
265306
<div className="flex flex-col gap-4 px-8 py-4">
266-
<></>
307+
{
308+
ContributorDetails.map(
309+
(item: any, index: number) => (
310+
<div
311+
className="flex flex-wrap gap-2"
312+
key={index}
313+
>
314+
<div className="md:w-1/6 lg:w-1/6">
315+
<Text variant="bodyMd">
316+
{item.label}:
317+
</Text>
318+
</div>
319+
<div>
320+
<Text variant="bodyMd">
321+
{item.value}
322+
</Text>
323+
</div>
324+
</div>
325+
)
326+
)}
267327
</div>
268328
)}
269329
</div>

0 commit comments

Comments
 (0)