|
|
@ -10,6 +10,7 @@ import { GroupRoadmapItem } from './GroupRoadmapItem'; |
|
|
|
import { setUrlParams } from '../../lib/browser'; |
|
|
|
import { setUrlParams } from '../../lib/browser'; |
|
|
|
import { getUrlParams } from '../../lib/browser'; |
|
|
|
import { getUrlParams } from '../../lib/browser'; |
|
|
|
import { $toastMessage } from '../../stores/toast'; |
|
|
|
import { $toastMessage } from '../../stores/toast'; |
|
|
|
|
|
|
|
import { useAuth } from '../../hooks/use-auth'; |
|
|
|
|
|
|
|
|
|
|
|
export type UserProgress = { |
|
|
|
export type UserProgress = { |
|
|
|
resourceTitle: string; |
|
|
|
resourceTitle: string; |
|
|
@ -55,6 +56,7 @@ export function TeamProgressPage() { |
|
|
|
const [isLoading, setIsLoading] = useState(true); |
|
|
|
const [isLoading, setIsLoading] = useState(true); |
|
|
|
const toast = useToast(); |
|
|
|
const toast = useToast(); |
|
|
|
const currentTeam = useStore($currentTeam); |
|
|
|
const currentTeam = useStore($currentTeam); |
|
|
|
|
|
|
|
const user = useAuth(); |
|
|
|
|
|
|
|
|
|
|
|
const [teamMembers, setTeamMembers] = useState<TeamMember[]>([]); |
|
|
|
const [teamMembers, setTeamMembers] = useState<TeamMember[]>([]); |
|
|
|
const [selectedGrouping, setSelectedGrouping] = useState< |
|
|
|
const [selectedGrouping, setSelectedGrouping] = useState< |
|
|
@ -70,7 +72,10 @@ export function TeamProgressPage() { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
setTeamMembers(response); |
|
|
|
const currentUserProgress = response.find((member) => member.email === user?.email) |
|
|
|
|
|
|
|
const otherUserProgresses = response.filter(member => member.email !== user?.email); |
|
|
|
|
|
|
|
const allUserProgresses = currentUserProgress ? [currentUserProgress, ...otherUserProgresses] : otherUserProgresses; |
|
|
|
|
|
|
|
setTeamMembers(allUserProgresses); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
@ -134,8 +139,7 @@ export function TeamProgressPage() { |
|
|
|
<div className="flex items-center gap-2"> |
|
|
|
<div className="flex items-center gap-2"> |
|
|
|
{groupingTypes.map((grouping) => ( |
|
|
|
{groupingTypes.map((grouping) => ( |
|
|
|
<button |
|
|
|
<button |
|
|
|
className={`rounded-md border p-1 px-2 text-sm ${ |
|
|
|
className={`rounded-md border p-1 px-2 text-sm ${selectedGrouping === grouping.value |
|
|
|
selectedGrouping === grouping.value |
|
|
|
|
|
|
|
? ' border-gray-400 bg-gray-200 ' |
|
|
|
? ' border-gray-400 bg-gray-200 ' |
|
|
|
: '' |
|
|
|
: '' |
|
|
|
}`}
|
|
|
|
}`}
|
|
|
|