mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 09:27:50 +00:00
Feat: Open approval with ID in URL
This commit is contained in:
+21
-1
@@ -1,4 +1,4 @@
|
|||||||
import { Fragment, useState } from "react";
|
import { Fragment, useEffect, useState } from "react";
|
||||||
import {
|
import {
|
||||||
faCheck,
|
faCheck,
|
||||||
faCheckCircle,
|
faCheckCircle,
|
||||||
@@ -28,6 +28,7 @@ import {
|
|||||||
} from "@app/context";
|
} from "@app/context";
|
||||||
import {
|
import {
|
||||||
useGetSecretApprovalRequestCount,
|
useGetSecretApprovalRequestCount,
|
||||||
|
useGetSecretApprovalRequestDetails,
|
||||||
useGetSecretApprovalRequests,
|
useGetSecretApprovalRequests,
|
||||||
useGetWorkspaceUsers
|
useGetWorkspaceUsers
|
||||||
} from "@app/hooks/api";
|
} from "@app/hooks/api";
|
||||||
@@ -47,6 +48,7 @@ export const SecretApprovalRequest = () => {
|
|||||||
const [statusFilter, setStatusFilter] = useState<"open" | "close">("open");
|
const [statusFilter, setStatusFilter] = useState<"open" | "close">("open");
|
||||||
const [envFilter, setEnvFilter] = useState<string>();
|
const [envFilter, setEnvFilter] = useState<string>();
|
||||||
const [committerFilter, setCommitterFilter] = useState<string>();
|
const [committerFilter, setCommitterFilter] = useState<string>();
|
||||||
|
const [usingUrlRequestId, setUsingUrlRequestId] = useState(false);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
data: secretApprovalRequests,
|
data: secretApprovalRequests,
|
||||||
@@ -67,6 +69,24 @@ export const SecretApprovalRequest = () => {
|
|||||||
const { permission } = useProjectPermission();
|
const { permission } = useProjectPermission();
|
||||||
const { data: members } = useGetWorkspaceUsers(workspaceId);
|
const { data: members } = useGetWorkspaceUsers(workspaceId);
|
||||||
const isSecretApprovalScreen = Boolean(selectedApproval);
|
const isSecretApprovalScreen = Boolean(selectedApproval);
|
||||||
|
const queryParams = new URLSearchParams(window.location.search);
|
||||||
|
const requestId = queryParams.get("requestId");
|
||||||
|
|
||||||
|
const { data: secretApprovalRequestDetails } = useGetSecretApprovalRequestDetails({
|
||||||
|
id: requestId!,
|
||||||
|
options: {
|
||||||
|
enabled: !!requestId && !usingUrlRequestId
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!requestId || usingUrlRequestId) return;
|
||||||
|
|
||||||
|
if (secretApprovalRequestDetails) {
|
||||||
|
setSelectedApproval(secretApprovalRequestDetails);
|
||||||
|
setUsingUrlRequestId(true);
|
||||||
|
}
|
||||||
|
}, [queryParams, secretApprovalRequestDetails]);
|
||||||
|
|
||||||
const handleGoBackSecretRequestDetail = () => {
|
const handleGoBackSecretRequestDetail = () => {
|
||||||
setSelectedApproval(null);
|
setSelectedApproval(null);
|
||||||
|
|||||||
Reference in New Issue
Block a user