Phase 6
This commit is contained in:
@@ -47,6 +47,7 @@ export default function Tasks() {
|
||||
const [clusterFilter, setClusterFilter] = useState('');
|
||||
const [structureFilter, setStructureFilter] = useState('');
|
||||
const [typeFilter, setTypeFilter] = useState('');
|
||||
const [sourceFilter, setSourceFilter] = useState('');
|
||||
const [selectedIds, setSelectedIds] = useState<string[]>([]);
|
||||
|
||||
// Pagination state
|
||||
@@ -129,8 +130,15 @@ export default function Tasks() {
|
||||
try {
|
||||
const ordering = sortBy ? `${sortDirection === 'desc' ? '-' : ''}${sortBy}` : '-created_at';
|
||||
|
||||
// Build search term - combine user search with Site Builder filter if needed
|
||||
let finalSearchTerm = searchTerm;
|
||||
if (sourceFilter === 'site_builder') {
|
||||
// If user has a search term, combine it with Site Builder prefix
|
||||
finalSearchTerm = searchTerm ? `[Site Builder] ${searchTerm}` : '[Site Builder]';
|
||||
}
|
||||
|
||||
const filters: TasksFilters = {
|
||||
...(searchTerm && { search: searchTerm }),
|
||||
...(finalSearchTerm && { search: finalSearchTerm }),
|
||||
...(statusFilter && { status: statusFilter }),
|
||||
...(clusterFilter && { cluster_id: clusterFilter }),
|
||||
...(structureFilter && { content_structure: structureFilter }),
|
||||
@@ -495,6 +503,8 @@ export default function Tasks() {
|
||||
statusFilter,
|
||||
setStatusFilter,
|
||||
clusterFilter,
|
||||
sourceFilter,
|
||||
setSourceFilter,
|
||||
setClusterFilter,
|
||||
structureFilter,
|
||||
setStructureFilter,
|
||||
@@ -502,7 +512,7 @@ export default function Tasks() {
|
||||
setTypeFilter,
|
||||
setCurrentPage,
|
||||
});
|
||||
}, [clusters, activeSector, formData, searchTerm, statusFilter, clusterFilter, structureFilter, typeFilter]);
|
||||
}, [clusters, activeSector, formData, searchTerm, statusFilter, clusterFilter, structureFilter, typeFilter, sourceFilter]);
|
||||
|
||||
// Calculate header metrics
|
||||
const headerMetrics = useMemo(() => {
|
||||
@@ -565,6 +575,7 @@ export default function Tasks() {
|
||||
cluster_id: clusterFilter,
|
||||
content_structure: structureFilter,
|
||||
content_type: typeFilter,
|
||||
source: sourceFilter,
|
||||
}}
|
||||
onFilterChange={(key, value) => {
|
||||
const stringValue = value === null || value === undefined ? '' : String(value);
|
||||
@@ -578,6 +589,8 @@ export default function Tasks() {
|
||||
setStructureFilter(stringValue);
|
||||
} else if (key === 'content_type') {
|
||||
setTypeFilter(stringValue);
|
||||
} else if (key === 'source') {
|
||||
setSourceFilter(stringValue);
|
||||
}
|
||||
setCurrentPage(1);
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user