diff --git a/web/app/components/workflow/panel/comments-panel/index.tsx b/web/app/components/workflow/panel/comments-panel/index.tsx index 8f68ecbf0e..9321d48f49 100644 --- a/web/app/components/workflow/panel/comments-panel/index.tsx +++ b/web/app/components/workflow/panel/comments-panel/index.tsx @@ -12,6 +12,8 @@ import { useParams } from 'next/navigation' import { useFormatTimeFromNow } from '@/hooks/use-format-time-from-now' import { useAppContext } from '@/context/app-context' import { collaborationManager } from '@/app/components/workflow/collaboration' +import Divider from '@/app/components/base/divider' +import Switch from '@/app/components/base/switch' const CommentsPanel = () => { const { t } = useTranslation() @@ -23,7 +25,8 @@ const CommentsPanel = () => { const appId = params.appId as string const { formatTimeFromNow } = useFormatTimeFromNow() - const [filter, setFilter] = useState<'all' | 'unresolved' | 'mine'>('all') + const [showOnlyMine, setShowOnlyMine] = useState(false) + const [showOnlyUnresolved, setShowOnlyUnresolved] = useState(false) const [showFilter, setShowFilter] = useState(false) const handleSelect = useCallback((comment: WorkflowCommentList) => { @@ -34,12 +37,12 @@ const CommentsPanel = () => { const filteredSorted = useMemo(() => { let data = comments - if (filter === 'unresolved') + if (showOnlyUnresolved) data = data.filter(c => !c.resolved) - else if (filter === 'mine') + if (showOnlyMine) data = data.filter(c => c.created_by === userProfile?.id) return data - }, [comments, filter, userProfile?.id]) + }, [comments, showOnlyMine, showOnlyUnresolved, userProfile?.id]) const handleResolve = useCallback(async (comment: WorkflowCommentList) => { if (comment.resolved) return @@ -57,10 +60,7 @@ const CommentsPanel = () => { } }, [appId, loadComments, setActiveCommentId]) - const handleFilterChange = useCallback((value: 'all' | 'unresolved' | 'mine') => { - setFilter(value) - setShowFilter(false) - }, []) + const hasActiveFilter = showOnlyMine || !showOnlyUnresolved return (