Skip to content

Commit

Permalink
stable bulk rating
Browse files Browse the repository at this point in the history
  • Loading branch information
shema-surge committed Oct 23, 2024
1 parent fbf9229 commit 0367d92
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 8 deletions.
8 changes: 7 additions & 1 deletion src/Mutations/Ratings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,13 @@ export const ADD_RATINGS_BY_FILE = gql`
name
}
}
RejectedRatings,
RejectedRatings{
email
quantity
quality
professional_skills
feedBacks
}
UpdatedRatings {
quantity
quality
Expand Down
56 changes: 51 additions & 5 deletions src/components/BulkRatingModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ const BulkRatingModal = ({ bulkRateModal, setBulkRateModal }: BulkRatingModalPro
orgToken
},
})
console.log(ratings)
toast.success("Rating completed susccefully")
toast.success("Rating completed succefully")
}catch(err: any){
toast.error(err?.message)
}
Expand All @@ -65,15 +64,29 @@ const BulkRatingModal = ({ bulkRateModal, setBulkRateModal }: BulkRatingModalPro
<div className="flex flex-col gap-1">
<label>Choose a sprint</label>
<select className="p-2 text-black dark:text-white rounded-lg bg-white dark:bg-dark border-2 border-primary"
defaultValue={""}
onChange={(e)=>{
e.preventDefault()
setFormData({...formData, sprint: e.target.value})
}}
>
<option>Choose a sprint</option>
{
sprints?
[...sprints.fetchSprints, sprints.fetchSprints[sprints.fetchSprints.length-1]+1].map((sprint: number)=>(<option key={sprint} value={sprint}>Sprint {sprint}</option>))
:<option>loading...</option>
sprints && !sprints.fetchSprints.length ?
<option value={1}>Sprint 1</option>
: ''
}
{
sprints && sprints.fetchSprints.length ?
[...sprints.fetchSprints, sprints.fetchSprints[sprints.fetchSprints.length-1]+1].map((sprint: number)=>
<option key={sprint} value={sprint}>Sprint {sprint}</option>
)
:''
}
{
loadingSprints?
<option>Loading ...</option>
: ''
}
</select>
</div>
Expand All @@ -87,6 +100,39 @@ const BulkRatingModal = ({ bulkRateModal, setBulkRateModal }: BulkRatingModalPro
}}
>
</input>
<div>
{
ratings && ratings.addRatingsByFile.RejectedRatings.length > 0?
<div className="my-1 overflow-x-auto">
<table className="table-fixed min-w-full">
<caption className="caption-top text-left my-2">
Rejected Ratings
</caption>
<thead className="border-b bg-neutral-700 border-neutral-400">
<tr>
<th scope="col" className="text-left py-4 px-2">Email</th>
<th scope="col" className="text-left py-4 px-2">Quantity</th>
<th scope="col" className="text-left py-4 px-2">Quality</th>
<th scope="col" className="text-left py-4 px-2">Professional_Skills</th>
<th scope="col" className="text-left py-4 px-2">Feedback</th>
</tr>
</thead>
<tbody>
{ratings.addRatingsByFile?.RejectedRatings.map((rating: any, index: number)=>

Check failure on line 121 in src/components/BulkRatingModal.tsx

View workflow job for this annotation

GitHub Actions / build

Do not use Array index in keys
<tr key={index} className="text-red-400">
<td className="text-left py-1 px-2">{rating.email ? rating.email : "null"}</td>
<td className="text-left py-1 px-2">{rating.quantity ? rating.quantity : "null"}</td>
<td className="text-left py-1 px-2">{rating.quality ? rating.quality : "null"}</td>
<td className="text-left py-1 px-2">{rating.professional_skills ? rating.professional_skills : "null"}</td>
<td className="text-left py-1 px-2">{rating.feedBacks ? rating.feedBacks : "null"}</td>
</tr>
)}
</tbody>
</table>
</div>
: ''
}
</div>
<div className="flex justify-between w-full">
<button className="w-[40%] md:w-1/4 p-3 text-white rounded-lg bg-primary text-sm font-serif font-semibold" type="button" onClick={() => setBulkRateModal(false)}>
Cancel
Expand Down
7 changes: 5 additions & 2 deletions src/pages/AdminTraineeDashboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1611,15 +1611,18 @@ function AdminTraineeDashboard() {
>
{t('add')} +{' '}
</Button>
<Button
{
JSON.parse(localStorage.getItem('auth')!) && ['coordinator','ttl'].includes(JSON.parse(localStorage.getItem('auth')!).role) ?
<Button
variant="primary"
size="lg"
data-testid="registerModel"
style="m-0"
onClick={()=>setBulkRateModal(true)}
>
{t('Bulk Rate')}
</Button>
</Button> : ''
}
</div>
</div>
<div className="">
Expand Down

0 comments on commit 0367d92

Please sign in to comment.