Update SecretApprovalRequest.tsx

This commit is contained in:
Daniel Hougaard
2024-08-26 20:21:05 +04:00
parent 1242a43d98
commit c23f21d57a
@@ -28,11 +28,10 @@ import {
} from "@app/context"; } from "@app/context";
import { import {
useGetSecretApprovalRequestCount, useGetSecretApprovalRequestCount,
useGetSecretApprovalRequestDetails,
useGetSecretApprovalRequests, useGetSecretApprovalRequests,
useGetWorkspaceUsers useGetWorkspaceUsers
} from "@app/hooks/api"; } from "@app/hooks/api";
import { ApprovalStatus, TSecretApprovalRequest } from "@app/hooks/api/types"; import { ApprovalStatus } from "@app/hooks/api/types";
import { import {
generateCommitText, generateCommitText,
@@ -42,7 +41,7 @@ import {
export const SecretApprovalRequest = () => { export const SecretApprovalRequest = () => {
const { currentWorkspace } = useWorkspace(); const { currentWorkspace } = useWorkspace();
const workspaceId = currentWorkspace?.id || ""; const workspaceId = currentWorkspace?.id || "";
const [selectedApproval, setSelectedApproval] = useState<TSecretApprovalRequest | null>(null); const [selectedApprovalId, setSelectedApprovalId] = useState<string | null>(null);
// filters // filters
const [statusFilter, setStatusFilter] = useState<"open" | "close">("open"); const [statusFilter, setStatusFilter] = useState<"open" | "close">("open");
@@ -68,28 +67,19 @@ export const SecretApprovalRequest = () => {
const { user: userSession } = useUser(); const { user: userSession } = useUser();
const { permission } = useProjectPermission(); const { permission } = useProjectPermission();
const { data: members } = useGetWorkspaceUsers(workspaceId); const { data: members } = useGetWorkspaceUsers(workspaceId);
const isSecretApprovalScreen = Boolean(selectedApproval); const isSecretApprovalScreen = Boolean(selectedApprovalId);
const queryParams = new URLSearchParams(window.location.search); const queryParams = new URLSearchParams(window.location.search);
const requestId = queryParams.get("requestId"); const requestId = queryParams.get("requestId");
const { data: secretApprovalRequestDetails } = useGetSecretApprovalRequestDetails({
id: requestId!,
options: {
enabled: !!requestId && !usingUrlRequestId
}
});
useEffect(() => { useEffect(() => {
if (!requestId || usingUrlRequestId) return; if (!requestId || usingUrlRequestId) return;
if (secretApprovalRequestDetails) { setSelectedApprovalId(requestId);
setSelectedApproval(secretApprovalRequestDetails); setUsingUrlRequestId(true);
setUsingUrlRequestId(true); }, [queryParams]);
}
}, [queryParams, secretApprovalRequestDetails]);
const handleGoBackSecretRequestDetail = () => { const handleGoBackSecretRequestDetail = () => {
setSelectedApproval(null); setSelectedApprovalId(null);
refetch({ refetchPage: (_page, index) => index === 0 }); refetch({ refetchPage: (_page, index) => index === 0 });
}; };
@@ -108,7 +98,7 @@ export const SecretApprovalRequest = () => {
> >
<SecretApprovalRequestChanges <SecretApprovalRequestChanges
workspaceId={workspaceId} workspaceId={workspaceId}
approvalRequestId={selectedApproval?.id || ""} approvalRequestId={selectedApprovalId || ""}
onGoBack={handleGoBackSecretRequestDetail} onGoBack={handleGoBackSecretRequestDetail}
/> />
</motion.div> </motion.div>
@@ -239,9 +229,9 @@ export const SecretApprovalRequest = () => {
className="flex flex-col px-8 py-4 hover:bg-mineshaft-700" className="flex flex-col px-8 py-4 hover:bg-mineshaft-700"
role="button" role="button"
tabIndex={0} tabIndex={0}
onClick={() => setSelectedApproval(secretApproval)} onClick={() => setSelectedApprovalId(secretApproval.id)}
onKeyDown={(evt) => { onKeyDown={(evt) => {
if (evt.key === "Enter") setSelectedApproval(secretApproval); if (evt.key === "Enter") setSelectedApprovalId(secretApproval.id);
}} }}
> >
<div className="mb-1"> <div className="mb-1">