fix: bugs on the user profile page (#2018)

This commit is contained in:
Aaryan Khandelwal 2023-08-30 17:28:17 +05:30 committed by GitHub
parent 54527cc2bb
commit 5e00ffee05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 30 deletions

View File

@ -3,8 +3,6 @@ import Link from "next/link";
import useSWR from "swr"; import useSWR from "swr";
// next-themes
import { useTheme } from "next-themes";
// headless ui // headless ui
import { Disclosure, Transition } from "@headlessui/react"; import { Disclosure, Transition } from "@headlessui/react";
// services // services
@ -25,8 +23,6 @@ export const ProfileSidebar = () => {
const router = useRouter(); const router = useRouter();
const { workspaceSlug, userId } = router.query; const { workspaceSlug, userId } = router.query;
const { theme } = useTheme();
const { user } = useUser(); const { user } = useUser();
const { data: userProjectsData } = useSWR( const { data: userProjectsData } = useSWR(
@ -56,15 +52,7 @@ export const ProfileSidebar = () => {
]; ];
return ( return (
<div <div className="flex-shrink-0 md:h-full w-full md:w-80 overflow-y-auto shadow-custom-shadow-sm">
className="flex-shrink-0 md:h-full w-full md:w-80 overflow-y-auto"
style={{
boxShadow:
theme === "light"
? "0px 1px 4px 0px rgba(0, 0, 0, 0.01), 0px 4px 8px 0px rgba(0, 0, 0, 0.02), 0px 1px 12px 0px rgba(0, 0, 0, 0.12)"
: "0px 0px 4px 0px rgba(0, 0, 0, 0.20), 0px 2px 6px 0px rgba(0, 0, 0, 0.50)",
}}
>
{userProjectsData ? ( {userProjectsData ? (
<> <>
<div className="relative h-32"> <div className="relative h-32">
@ -127,12 +115,11 @@ export const ProfileSidebar = () => {
project.assigned_issues + project.assigned_issues +
project.pending_issues + project.pending_issues +
project.completed_issues; project.completed_issues;
const totalAssignedIssues = totalIssues - project.created_issues;
const completedIssuePercentage = const completedIssuePercentage =
totalAssignedIssues === 0 project.assigned_issues === 0
? 0 ? 0
: Math.round((project.completed_issues / totalAssignedIssues) * 100); : Math.round((project.completed_issues / project.assigned_issues) * 100);
return ( return (
<Disclosure <Disclosure

View File

@ -197,23 +197,26 @@ export const ProfileIssuesContextProvider: React.FC<{ children: React.ReactNode
}) => { }) => {
const [state, dispatch] = useReducer(reducer, initialState); const [state, dispatch] = useReducer(reducer, initialState);
const setIssueView = useCallback((property: TIssueViewOptions) => { const setIssueView = useCallback(
dispatch({ (property: TIssueViewOptions) => {
type: "SET_ISSUE_VIEW",
payload: {
issueView: property,
},
});
if (property === "kanban") {
dispatch({ dispatch({
type: "SET_GROUP_BY_PROPERTY", type: "SET_ISSUE_VIEW",
payload: { payload: {
groupByProperty: "state_detail.group", issueView: property,
}, },
}); });
}
}, []); if (property === "kanban" && state.groupByProperty === null) {
dispatch({
type: "SET_GROUP_BY_PROPERTY",
payload: {
groupByProperty: "state_detail.group",
},
});
}
},
[state]
);
const setGroupByProperty = useCallback((property: TIssueGroupByOptions) => { const setGroupByProperty = useCallback((property: TIssueGroupByOptions) => {
dispatch({ dispatch({

View File

@ -71,8 +71,23 @@ const useProfileIssues = (workspaceSlug: string | undefined, userId: string | un
allIssues: userProfileIssues, allIssues: userProfileIssues,
}; };
if (groupByProperty === "state_detail.group") {
return userProfileIssues
? Object.assign(
{
backlog: [],
unstarted: [],
started: [],
completed: [],
cancelled: [],
},
userProfileIssues
)
: undefined;
}
return userProfileIssues; return userProfileIssues;
}, [userProfileIssues]); }, [groupByProperty, userProfileIssues]);
useEffect(() => { useEffect(() => {
if (!userId || !filters) return; if (!userId || !filters) return;