mirror of
https://github.com/formbricks/formbricks.git
synced 2026-01-06 00:49:42 -06:00
fix: notes not appearing (#3131)
Co-authored-by: Johannes <72809645+jobenjada@users.noreply.github.com>
This commit is contained in:
@@ -11,8 +11,8 @@ import { SingleResponseCard } from "@formbricks/ui/SingleResponseCard";
|
||||
|
||||
interface ResponseCardModalProps {
|
||||
responses: TResponse[];
|
||||
selectedResponse: TResponse | null;
|
||||
setSelectedResponse: (response: TResponse | null) => void;
|
||||
selectedResponseId: string | null;
|
||||
setSelectedResponseId: (id: string | null) => void;
|
||||
survey: TSurvey;
|
||||
environment: TEnvironment;
|
||||
user?: TUser;
|
||||
@@ -26,8 +26,8 @@ interface ResponseCardModalProps {
|
||||
|
||||
export const ResponseCardModal = ({
|
||||
responses,
|
||||
selectedResponse,
|
||||
setSelectedResponse,
|
||||
selectedResponseId,
|
||||
setSelectedResponseId,
|
||||
survey,
|
||||
environment,
|
||||
user,
|
||||
@@ -41,33 +41,33 @@ export const ResponseCardModal = ({
|
||||
const [currentIndex, setCurrentIndex] = useState<number | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (selectedResponse) {
|
||||
if (selectedResponseId) {
|
||||
setOpen(true);
|
||||
const index = responses.findIndex((response) => response.id === selectedResponse.id);
|
||||
const index = responses.findIndex((response) => response.id === selectedResponseId);
|
||||
setCurrentIndex(index);
|
||||
} else {
|
||||
setOpen(false);
|
||||
}
|
||||
}, [selectedResponse, responses, setOpen]);
|
||||
}, [selectedResponseId, responses, setOpen]);
|
||||
|
||||
const handleNext = () => {
|
||||
if (currentIndex !== null && currentIndex < responses.length - 1) {
|
||||
setSelectedResponse(responses[currentIndex + 1]);
|
||||
setSelectedResponseId(responses[currentIndex + 1].id);
|
||||
}
|
||||
};
|
||||
|
||||
const handleBack = () => {
|
||||
if (currentIndex !== null && currentIndex > 0) {
|
||||
setSelectedResponse(responses[currentIndex - 1]);
|
||||
setSelectedResponseId(responses[currentIndex - 1].id);
|
||||
}
|
||||
};
|
||||
|
||||
const handleClose = () => {
|
||||
setSelectedResponse(null);
|
||||
setSelectedResponseId(null);
|
||||
};
|
||||
|
||||
// If no response is selected or currentIndex is null, do not render the modal
|
||||
if (selectedResponse === null || currentIndex === null) return null;
|
||||
if (selectedResponseId === null || currentIndex === null) return null;
|
||||
|
||||
return (
|
||||
<Modal
|
||||
@@ -100,7 +100,7 @@ export const ResponseCardModal = ({
|
||||
</div>
|
||||
<SingleResponseCard
|
||||
survey={survey}
|
||||
response={selectedResponse}
|
||||
response={responses[currentIndex]}
|
||||
user={user}
|
||||
pageType="response"
|
||||
environment={environment}
|
||||
@@ -108,7 +108,7 @@ export const ResponseCardModal = ({
|
||||
isViewer={isViewer}
|
||||
updateResponse={updateResponse}
|
||||
deleteResponses={deleteResponses}
|
||||
setSelectedResponse={setSelectedResponse}
|
||||
setSelectedResponseId={setSelectedResponseId}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,7 +59,8 @@ export const ResponseTable = ({
|
||||
const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});
|
||||
const [rowSelection, setRowSelection] = useState({});
|
||||
const [isTableSettingsModalOpen, setIsTableSettingsModalOpen] = useState(false);
|
||||
const [selectedResponse, setSelectedResponse] = useState<TResponse | null>(null);
|
||||
const [selectedResponseId, setSelectedResponseId] = useState<string | null>(null);
|
||||
const selectedResponse = responses?.find((response) => response.id === selectedResponseId) ?? null;
|
||||
const [isExpanded, setIsExpanded] = useState(false);
|
||||
const [columnOrder, setColumnOrder] = useState<string[]>([]);
|
||||
|
||||
@@ -181,7 +182,7 @@ export const ResponseTable = ({
|
||||
cell={cell}
|
||||
row={row}
|
||||
isExpanded={isExpanded}
|
||||
setSelectedResponseCard={setSelectedResponse}
|
||||
setSelectedResponseId={setSelectedResponseId}
|
||||
responses={responses}
|
||||
/>
|
||||
))}
|
||||
@@ -225,12 +226,12 @@ export const ResponseTable = ({
|
||||
isViewer={isViewer}
|
||||
updateResponse={updateResponse}
|
||||
deleteResponses={deleteResponses}
|
||||
setSelectedResponse={setSelectedResponse}
|
||||
selectedResponse={selectedResponse}
|
||||
setSelectedResponseId={setSelectedResponseId}
|
||||
selectedResponseId={selectedResponseId}
|
||||
open={selectedResponse !== null}
|
||||
setOpen={(open) => {
|
||||
if (!open) {
|
||||
setSelectedResponse(null);
|
||||
setSelectedResponseId(null);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -9,7 +9,7 @@ interface ResponseTableCellProps {
|
||||
cell: Cell<TResponseTableData, unknown>;
|
||||
row: Row<TResponseTableData>;
|
||||
isExpanded: boolean;
|
||||
setSelectedResponseCard: (responseCard: TResponse) => void;
|
||||
setSelectedResponseId: (responseId: string | null) => void;
|
||||
responses: TResponse[] | null;
|
||||
}
|
||||
|
||||
@@ -17,14 +17,14 @@ export const ResponseTableCell = ({
|
||||
cell,
|
||||
row,
|
||||
isExpanded,
|
||||
setSelectedResponseCard,
|
||||
setSelectedResponseId,
|
||||
responses,
|
||||
}: ResponseTableCellProps) => {
|
||||
// Function to handle cell click
|
||||
const handleCellClick = () => {
|
||||
if (cell.column.id !== "select") {
|
||||
const response = responses?.find((response) => response.id === row.id);
|
||||
if (response) setSelectedResponseCard(response);
|
||||
if (response) setSelectedResponseId(response.id);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ interface SingleResponseCardProps {
|
||||
updateResponse?: (responseId: string, responses: TResponse) => void;
|
||||
deleteResponses?: (responseIds: string[]) => void;
|
||||
isViewer: boolean;
|
||||
setSelectedResponse?: (response: TResponse | null) => void;
|
||||
setSelectedResponseId?: (responseId: string | null) => void;
|
||||
}
|
||||
|
||||
export const SingleResponseCard = ({
|
||||
@@ -41,7 +41,7 @@ export const SingleResponseCard = ({
|
||||
updateResponse,
|
||||
deleteResponses,
|
||||
isViewer,
|
||||
setSelectedResponse,
|
||||
setSelectedResponseId,
|
||||
}: SingleResponseCardProps) => {
|
||||
const environmentId = survey.environmentId;
|
||||
const router = useRouter();
|
||||
@@ -95,7 +95,7 @@ export const SingleResponseCard = ({
|
||||
await deleteResponseAction({ responseId: response.id });
|
||||
deleteResponses?.([response.id]);
|
||||
router.refresh();
|
||||
if (setSelectedResponse) setSelectedResponse(null);
|
||||
if (setSelectedResponseId) setSelectedResponseId(null);
|
||||
toast.success("Response deleted successfully.");
|
||||
setDeleteDialogOpen(false);
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user