diff --git a/src/components/ProjectTasksList.js b/src/components/ProjectTasksList.js index 2632385..e461a1b 100644 --- a/src/components/ProjectTasksList.js +++ b/src/components/ProjectTasksList.js @@ -16,15 +16,18 @@ import { } from "date-fns"; import { formatDate } from "@/lib/utils"; import { useTranslation } from "@/lib/i18n"; +import { useSession } from "next-auth/react"; export default function ProjectTasksList() { const { t } = useTranslation(); + const { data: session } = useSession(); const [allTasks, setAllTasks] = useState([]); const [loading, setLoading] = useState(true); const [searchTerm, setSearchTerm] = useState(""); const [groupBy, setGroupBy] = useState("none"); const [selectedTask, setSelectedTask] = useState(null); const [showCommentsModal, setShowCommentsModal] = useState(false); + const [mine, setMine] = useState(true); useEffect(() => { const fetchAllTasks = async () => { @@ -201,14 +204,25 @@ export default function ProjectTasksList() { const taskGroups = groupTasksByStatus(); // Filter tasks based on search term const filterTasks = (tasks) => { - if (!searchTerm) return tasks; - return tasks.filter( - (task) => - task.task_name.toLowerCase().includes(searchTerm.toLowerCase()) || - task.project_name.toLowerCase().includes(searchTerm.toLowerCase()) || - task.city?.toLowerCase().includes(searchTerm.toLowerCase()) || - task.address?.toLowerCase().includes(searchTerm.toLowerCase()) - ); + let filtered = tasks; + + // Apply mine filter + if (mine && session?.user?.id) { + filtered = filtered.filter(task => task.assigned_to === session.user.id); + } + + // Apply search term + if (searchTerm) { + filtered = filtered.filter( + (task) => + task.task_name.toLowerCase().includes(searchTerm.toLowerCase()) || + task.project_name.toLowerCase().includes(searchTerm.toLowerCase()) || + task.city?.toLowerCase().includes(searchTerm.toLowerCase()) || + task.address?.toLowerCase().includes(searchTerm.toLowerCase()) + ); + } + + return filtered; }; // Group tasks by task name when groupBy is set to "task_name" @@ -552,6 +566,33 @@ export default function ProjectTasksList() { + {session?.user && ( + + )} } />{" "} diff --git a/src/lib/i18n.js b/src/lib/i18n.js index 95e4f66..0196299 100644 --- a/src/lib/i18n.js +++ b/src/lib/i18n.js @@ -382,6 +382,7 @@ const translations = { sortBy: "Sortuj według", allTasks: "Wszystkie zadania", myTasks: "Moje zadania", + mine: "Moje", overdue: "Przeterminowane", dueSoon: "Niedługo termin", high: "Wysoki",