diff --git a/src/components/focus/FocusPanel.tsx b/src/components/focus/FocusPanel.tsx index 378f76e..fd627cf 100644 --- a/src/components/focus/FocusPanel.tsx +++ b/src/components/focus/FocusPanel.tsx @@ -14,16 +14,6 @@ import { useDimensionIcons } from '@/context/DimensionIconsContext'; import ConfirmDialog from '../common/ConfirmDialog'; import { SourceReader } from './source'; -interface PopularDimension { - dimension: string; - count: number; - isPriority: boolean; -} - -interface DimensionsResponse { - success: boolean; - data: PopularDimension[]; -} interface NodeSearchResult { id: number; @@ -58,7 +48,6 @@ export default function FocusPanel({ openTabs, activeTab, onTabSelect, onNodeCli const [savingField, setSavingField] = useState(null); const [embeddingNode, setEmbeddingNode] = useState(null); const [showReembedPrompt, setShowReembedPrompt] = useState(null); - const [priorityDimensions, setPriorityDimensions] = useState([]); const activeNodeId = activeTab; const currentNode = activeNodeId !== null ? nodesData[activeNodeId] : undefined; @@ -172,10 +161,6 @@ export default function FocusPanel({ openTabs, activeTab, onTabSelect, onNodeCli return { type: 'inferred', label: 'will be inferred' }; }; - // Fetch priority dimensions on mount - useEffect(() => { - fetchPriorityDimensions(); - }, []); // Generate node search suggestions useEffect(() => { @@ -254,19 +239,6 @@ export default function FocusPanel({ openTabs, activeTab, onTabSelect, onNodeCli setSourceEditValue(''); }, [activeTab]); - const fetchPriorityDimensions = async () => { - try { - const response = await fetch('/api/dimensions/popular'); - const payload = (await response.json()) as DimensionsResponse; - if (payload?.success && Array.isArray(payload.data)) { - const priority = payload.data.filter((d) => d.isPriority).map((d) => d.dimension); - setPriorityDimensions(priority); - } - } catch (error) { - console.error('Error fetching priority dimensions:', error); - } - }; - const fetchNodeData = async (id: number) => { setLoadingNodes(prev => new Set(prev).add(id)); // First try to fetch as a node @@ -2074,7 +2046,6 @@ export default function FocusPanel({ openTabs, activeTab, onTabSelect, onNodeCli }}> { try { const response = await fetch(`/api/nodes/${activeTab}`, { @@ -2098,28 +2069,6 @@ export default function FocusPanel({ openTabs, activeTab, onTabSelect, onNodeCli alert('Failed to save dimensions. Please try again.'); } }} - onPriorityToggle={async (dimension) => { - try { - const response = await fetch('/api/dimensions/popular', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ dimension }), - }); - - if (!response.ok) { - throw new Error('Failed to toggle priority'); - } - - // Refresh priority dimensions list - await fetchPriorityDimensions(); - } catch (error) { - console.error('Error toggling priority:', error); - alert('Failed to toggle priority. Please try again.'); - } - }} - disabled={false} /> diff --git a/src/components/focus/dimensions/DimensionTags.tsx b/src/components/focus/dimensions/DimensionTags.tsx index 2d8da0e..5724357 100644 --- a/src/components/focus/dimensions/DimensionTags.tsx +++ b/src/components/focus/dimensions/DimensionTags.tsx @@ -5,9 +5,7 @@ import DimensionSearchModal from './DimensionSearchModal'; interface DimensionTagsProps { dimensions: string[]; - priorityDimensions?: string[]; onUpdate: (dimensions: string[]) => Promise; - onPriorityToggle?: (dimension: string) => Promise; disabled?: boolean; } @@ -16,12 +14,10 @@ interface DimensionSuggestion { count: number; } -export default function DimensionTags({ - dimensions, - priorityDimensions = [], - onUpdate, - onPriorityToggle, - disabled = false +export default function DimensionTags({ + dimensions, + onUpdate, + disabled = false }: DimensionTagsProps) { const [isAdding, setIsAdding] = useState(false); const [searchQuery, setSearchQuery] = useState(''); @@ -32,14 +28,7 @@ export default function DimensionTags({ const inputRef = useRef(null); const containerRef = useRef(null); - // Sort dimensions with priority ones first - const sortedDimensions = [...dimensions].sort((a, b) => { - const aPriority = priorityDimensions.includes(a); - const bPriority = priorityDimensions.includes(b); - if (aPriority && !bPriority) return -1; - if (!aPriority && bPriority) return 1; - return 0; - }); + const sortedDimensions = [...dimensions]; useEffect(() => { if (isAdding && inputRef.current) { @@ -169,12 +158,6 @@ export default function DimensionTags({ await onUpdate(newDimensions); }; - const togglePriority = async (dimension: string) => { - if (onPriorityToggle) { - await onPriorityToggle(dimension); - } - }; - // Check if dimensions overflow 2 lines (approximate) const shouldShowExpandButton = sortedDimensions.length > 6; // Rough estimate for 2 lines const displayedDimensions = (!isExpanded && shouldShowExpandButton) @@ -216,8 +199,6 @@ export default function DimensionTags({ )} {displayedDimensions.map((dimension, index) => { - const isPriority = priorityDimensions.includes(dimension); - return (
handleDragStart(index)} onDragOver={(e) => handleDragOver(e, index)} onDragEnd={handleDragEnd} - onClick={(e) => { - e.stopPropagation(); - if (!disabled && onPriorityToggle) { - togglePriority(dimension); - } - }} style={{ display: 'inline-flex', alignItems: 'center', gap: '3px', fontSize: '10px', - color: isPriority ? '#22c55e' : '#d1d5db', /* Changed from gold to green */ - background: isPriority ? '#0f2417' : '#1a1a1a', /* Green-tinted background */ - border: isPriority ? '1px solid #166534' : '1px solid #333', /* Green border */ + color: '#d1d5db', + background: '#1a1a1a', + border: '1px solid #333', borderRadius: '8px', padding: '2px 6px', - cursor: disabled ? 'default' : (onPriorityToggle ? 'pointer' : 'grab'), + cursor: disabled ? 'default' : 'grab', opacity: draggedIndex === index ? 0.5 : 1, transition: 'all 0.2s' }} onMouseEnter={(e) => { if (!disabled) { - e.currentTarget.style.borderColor = isPriority ? '#22c55e' : '#555'; /* Green hover */ + e.currentTarget.style.borderColor = '#555'; } }} onMouseLeave={(e) => { - e.currentTarget.style.borderColor = isPriority ? '#166534' : '#333'; /* Green default */ + e.currentTarget.style.borderColor = '#333'; }} - title={isPriority ? 'Priority dimension (click to unpin)' : 'Click to pin as priority dimension'} > {dimension} diff --git a/src/components/nodes/FolderViewOverlay.tsx b/src/components/nodes/FolderViewOverlay.tsx index 788c18e..a3617cb 100644 --- a/src/components/nodes/FolderViewOverlay.tsx +++ b/src/components/nodes/FolderViewOverlay.tsx @@ -2,7 +2,7 @@ import { useEffect, useMemo, useState, useRef, type DragEvent } from 'react'; import { createPortal } from 'react-dom'; -import { Check, X, ArrowLeft, Plus, Trash2, Edit2, Lock } from 'lucide-react'; +import { X, ArrowLeft, Plus, Trash2, Edit2 } from 'lucide-react'; import type { Node } from '@/types/database'; import ConfirmDialog from '../common/ConfirmDialog'; import InputDialog from '../common/InputDialog'; @@ -237,24 +237,6 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o } }; - const handleToggleLock = async (dimension: string) => { - try { - const response = await fetch('/api/dimensions/popular', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ dimension }) - }); - const data = await response.json(); - if (!response.ok || !data.success) { - throw new Error(data.error || 'Failed to toggle dimension'); - } - await fetchDimensions(); - onDataChanged?.(); - } catch (error) { - console.error('Error toggling lock:', error); - alert('Failed to update lock state.'); - } - }; const handleDeleteDimension = async (dimension: string) => { setDeletingDimension(dimension); @@ -616,7 +598,6 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o }} > {sortedDimensions.map((dimension) => { - const isLocked = dimension.isPriority; const isDragTarget = dragHoverDimension === dimension.dimension; return ( @@ -637,7 +618,7 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o onDrop={(event) => handleNodeDropOnDimension(event, dimension.dimension)} style={{ background: isDragTarget ? 'rgba(34, 197, 94, 0.05)' : 'transparent', - borderLeft: isLocked ? '2px solid #22c55e' : '2px solid transparent', + borderLeft: '2px solid transparent', borderRadius: '6px', padding: '12px 14px', textAlign: 'left', @@ -664,7 +645,7 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o width: '28px', height: '28px', borderRadius: '6px', - background: isLocked ? 'rgba(34, 197, 94, 0.08)' : 'rgba(255, 255, 255, 0.03)', + background: 'rgba(255, 255, 255, 0.03)', display: 'flex', alignItems: 'center', justifyContent: 'center', @@ -673,7 +654,7 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o
@@ -682,7 +663,7 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o
@@ -744,30 +725,6 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o > -
@@ -1761,7 +1718,7 @@ export default function FolderViewOverlay({ onClose, onNodeOpen, refreshToken, o
{editingDimensionModal.dimension}