onSelectNote(note.id)}
- className={`p-3 border-b border-gray-200 dark:border-gray-700 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors group ${
- note.id === selectedNoteId ? 'bg-blue-50 dark:bg-gray-800 border-l-4 border-l-blue-500' : ''
+ onClick={() => {
+ // Prevent switching if current note has unsaved changes
+ if (hasUnsavedChanges && note.id !== selectedNoteId) {
+ return;
+ }
+ onSelectNote(note.id);
+ }}
+ className={`p-3 border-b border-gray-200 dark:border-gray-700 transition-colors group ${
+ note.id === selectedNoteId
+ ? 'bg-blue-50 dark:bg-gray-800 border-l-4 border-l-blue-500'
+ : hasUnsavedChanges
+ ? 'cursor-not-allowed opacity-50'
+ : 'cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800'
}`}
+ title={hasUnsavedChanges && note.id !== selectedNoteId ? 'Save current note before switching' : ''}
>