-
- {activeDeal ? (
-
- ) : activeStatus ? (
- deal.statusId === activeStatus.id
- )}
- isDragging
- />
- ) : null}
-
-
- );
-};
-
-export default DndOverlay;
diff --git a/src/app/deals/components/Funnel/Funnel.tsx b/src/app/deals/components/Funnel/Funnel.tsx
new file mode 100644
index 0000000..4bbc3c2
--- /dev/null
+++ b/src/app/deals/components/Funnel/Funnel.tsx
@@ -0,0 +1,68 @@
+"use client";
+
+import React, { FC, ReactNode } from "react";
+import DealCard from "@/app/deals/components/DealCard/DealCard";
+import DealContainer from "@/app/deals/components/DealContainer/DealContainer";
+import StatusColumnWrapper from "@/app/deals/components/StatusColumnWrapper/StatusColumnWrapper";
+import { useStatusesContext } from "@/app/deals/contexts/StatusesContext";
+import useDealsAndStatusesDnd from "@/app/deals/hooks/useDealsAndStatusesDnd";
+import FunnelDnd from "@/components/dnd/FunnelDnd/FunnelDnd";
+import { DealSchema, StatusSchema } from "@/lib/client";
+import { sortByLexorank } from "@/utils/lexorank";
+
+const Funnel: FC = () => {
+ const { deals } = useStatusesContext();
+
+ const {
+ sortedStatuses,
+ handleDragStart,
+ handleDragOver,
+ handleDragEnd,
+ activeStatus,
+ activeDeal,
+ } = useDealsAndStatusesDnd();
+
+ return (
+