diff --git a/client/src/components/TaskRegistry.tsx b/client/src/components/TaskRegistry.tsx index e797545..d366580 100644 --- a/client/src/components/TaskRegistry.tsx +++ b/client/src/components/TaskRegistry.tsx @@ -40,7 +40,6 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@ import ContractNumberDisplay from '@/components/ContractNumberDisplay'; import RegistryCellEditor from './RegistryCellEditor'; import { InlineField } from '@/components/fields/InlineField'; -import { useSkinComponents } from '@/themes/ThemeProvider'; interface TaskAssigneeInfo { userId: number; @@ -269,9 +268,6 @@ const REGISTRY_VIRTUALIZATION_THRESHOLD = 30; const TaskRegistry = ({ tasks, relatedTaskTitles = {}, fields, statuses, users = [], roles = [], formId, onFilteredCountChange, onTaskClick, filters, sort, setFilter, clearFilter, clearAll, setSort, clearSort, hasActiveFilters, searches, onAddSearch, onRemoveSearch, isAdmin, selectedTaskIds, anchorTaskId, onToggleSelected, onToggleSelectAll, onSelectRange, onSetAnchorTaskId, onClearSelection, onRequestBulkDelete }: TaskRegistryProps) => { const { toast } = useToast(); - // Вид шапки таблицы из скина: для plain-варианта sticky-шапке нужен явный фон, - // иначе при прокрутке сквозь неё проступают строки - const { table: skinTable } = useSkinComponents(); // Текущая редактируемая ячейка: { taskId, columnKey } const [editingCell, setEditingCell] = useState<{ taskId: number; columnKey: string } | null>(null); @@ -451,7 +447,6 @@ const TaskRegistry = ({ tasks, relatedTaskTitles = {}, fields, statuses, users = useEffect(() => { try { localStorage.setItem(`registry-colwidths-${formId}`, JSON.stringify(columnWidths)); } catch { /* ignore */ } }, [columnWidths, formId]); - const hasCustomWidths = Object.keys(columnWidths).length > 0; const resetColumnWidth = (key: string) => setColumnWidths(prev => { const next = { ...prev }; delete next[key]; @@ -973,7 +968,10 @@ const TaskRegistry = ({ tasks, relatedTaskTitles = {}, fields, statuses, users = ) : (
- + {/* table-fixed НЕ используем: в связке с w-full таблицы и w-max wrapper он + схлопывает колонки без заданной ширины. В auto-раскладке + задаёт предпочтительную ширину без схлопывания. */} +
{/* Ширины колонок, заданные пользователем (drag шапки); без записи — автоширина */} {isAdmin && } @@ -981,7 +979,9 @@ const TaskRegistry = ({ tasks, relatedTaskTitles = {}, fields, statuses, users = ))} - + {/* Непрозрачный фон th обязателен: полупрозрачный bg-muted/50 (и его отсутствие + в plain-варианте) делает sticky-шапку нечитаемой поверх строк */} + {isAdmin && (