merge: combine all features from both codebases - mobile dashboard + layer panel + notifications + shares + all fixes
This commit is contained in:
@@ -4,6 +4,7 @@ import type { TreeNode } from '../types/ui.types';
|
||||
interface TreeViewProps {
|
||||
nodes: TreeNode[];
|
||||
selectedId?: string | null;
|
||||
selectedIds?: string[];
|
||||
onSelect: (id: string) => void;
|
||||
onToggle?: (id: string) => void;
|
||||
onReorder?: (draggedId: string, targetId: string, position: 'before' | 'after' | 'inside') => void;
|
||||
@@ -16,6 +17,7 @@ interface TreeViewProps {
|
||||
const TreeView: React.FC<TreeViewProps> = ({
|
||||
nodes,
|
||||
selectedId,
|
||||
selectedIds,
|
||||
onSelect,
|
||||
onToggle,
|
||||
onReorder,
|
||||
@@ -87,7 +89,7 @@ const TreeView: React.FC<TreeViewProps> = ({
|
||||
const renderNode = (node: TreeNode, level: number): React.ReactNode => {
|
||||
const hasChildren = node.children && node.children.length > 0;
|
||||
const isExpanded = expandedSet.has(node.id) || node.expanded;
|
||||
const isSelected = selectedId === node.id;
|
||||
const isSelected = selectedId === node.id || (selectedIds !== undefined && selectedIds.includes(node.id));
|
||||
const isDragOver = dragOverId === node.id;
|
||||
const isDragging = draggedId === node.id;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user