690514:2019 204-rfa-approval-refactor #01
This commit is contained in:
@@ -14,6 +14,8 @@ import { Users } from 'lucide-react';
|
||||
import { useReviewTeams } from '@/hooks/use-review-teams';
|
||||
import { ReviewTeam } from '@/types/review-team';
|
||||
|
||||
const NO_REVIEW_TEAM_VALUE = '__skip_parallel_review__';
|
||||
|
||||
interface ReviewTeamSelectorProps {
|
||||
projectPublicId: string;
|
||||
rfaTypeCode?: string;
|
||||
@@ -50,15 +52,17 @@ export function ReviewTeamSelector({
|
||||
</div>
|
||||
|
||||
<Select
|
||||
value={value ?? ''}
|
||||
onValueChange={(v: string) => onChange(v || undefined)}
|
||||
value={value ?? NO_REVIEW_TEAM_VALUE}
|
||||
onValueChange={(v: string) =>
|
||||
onChange(v === NO_REVIEW_TEAM_VALUE ? undefined : v)
|
||||
}
|
||||
disabled={disabled || isLoading}
|
||||
>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder={isLoading ? 'Loading teams...' : 'Skip — no parallel review'} />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="">Skip — no parallel review</SelectItem>
|
||||
<SelectItem value={NO_REVIEW_TEAM_VALUE}>Skip — no parallel review</SelectItem>
|
||||
{filteredTeams.map((team) => (
|
||||
<SelectItem key={team.publicId} value={team.publicId}>
|
||||
<div className="flex items-center gap-2">
|
||||
|
||||
@@ -30,7 +30,7 @@ interface User {
|
||||
}
|
||||
|
||||
interface Discipline {
|
||||
publicId: string;
|
||||
id?: number;
|
||||
disciplineCode: string;
|
||||
codeNameEn?: string;
|
||||
}
|
||||
@@ -68,14 +68,16 @@ export function TeamMemberManager({
|
||||
const removeMember = useRemoveTeamMember();
|
||||
|
||||
const handleAdd = () => {
|
||||
if (!selectedUser || !selectedDiscipline) return;
|
||||
const disciplineId = Number(selectedDiscipline);
|
||||
|
||||
if (!selectedUser || Number.isNaN(disciplineId)) return;
|
||||
|
||||
addMember.mutate(
|
||||
{
|
||||
teamPublicId,
|
||||
data: {
|
||||
userPublicId: selectedUser,
|
||||
disciplinePublicId: selectedDiscipline,
|
||||
disciplineId,
|
||||
role: selectedRole,
|
||||
},
|
||||
},
|
||||
@@ -151,7 +153,7 @@ export function TeamMemberManager({
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{availableDisciplines.map((d) => (
|
||||
<SelectItem key={d.publicId} value={d.publicId}>
|
||||
<SelectItem key={String(d.id)} value={String(d.id)}>
|
||||
{d.disciplineCode}
|
||||
</SelectItem>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user