11import { Button , cn } from "@fluffylabs/shared-ui" ;
22import { type ChangeEvent , useCallback , useEffect , useMemo , useState } from "react" ;
33import { validateMath } from "../../../utils/validateMath" ;
4- import { useLocationContext } from "../../LocationProvider/LocationProvider" ;
54import type { INotesContext } from "../../NotesProvider/NotesProvider" ;
65import { type IDecoratedNote , NoteSource } from "../../NotesProvider/types/DecoratedNote" ;
76import type { IStorageNote } from "../../NotesProvider/types/StorageNote" ;
@@ -19,17 +18,16 @@ type NoteProps = {
1918 active : boolean ;
2019 onEditNote : INotesContext [ "handleUpdateNote" ] ;
2120 onDeleteNote : INotesContext [ "handleDeleteNote" ] ;
21+ onSelectNote : ( note : IDecoratedNote ) => void ;
2222} ;
2323
24- export function Note ( { note, active = false , onEditNote, onDeleteNote } : NoteProps ) {
24+ export function Note ( { note, active = false , onEditNote, onDeleteNote, onSelectNote } : NoteProps ) {
2525 const [ isEditing , setIsEditing ] = useState ( false ) ;
2626 const [ noteDirty , setNoteDirty ] = useState < IStorageNote > ( {
2727 ...note . original ,
2828 } ) ;
2929 const [ noteContentError , setNoteContentError ] = useState ( "" ) ;
3030
31- const { setLocationParams, locationParams } = useLocationContext ( ) ;
32-
3331 const isEditable = note . source !== NoteSource . Remote ;
3432
3533 const handleSaveClick = useCallback ( ( ) => {
@@ -83,11 +81,7 @@ export function Note({ note, active = false, onEditNote, onDeleteNote }: NotePro
8381 return ;
8482 }
8583
86- setLocationParams ( {
87- version : locationParams . version ,
88- selectionStart : note . current . selectionStart ,
89- selectionEnd : note . current . selectionEnd ,
90- } ) ;
84+ onSelectNote ( note ) ;
9185 } ;
9286
9387 const handleNoteEnter = ( e : React . KeyboardEvent < HTMLDivElement > ) => {
@@ -104,11 +98,7 @@ export function Note({ note, active = false, onEditNote, onDeleteNote }: NotePro
10498 return ;
10599 }
106100
107- setLocationParams ( {
108- version : locationParams . version ,
109- selectionStart : note . current . selectionStart ,
110- selectionEnd : note . current . selectionEnd ,
111- } ) ;
101+ onSelectNote ( note ) ;
112102 } ;
113103
114104 useEffect ( ( ) => {
@@ -161,7 +151,7 @@ export function Note({ note, active = false, onEditNote, onDeleteNote }: NotePro
161151 >
162152 { ! active && (
163153 < >
164- < NoteLink note = { note } onEditNote = { onEditNote } />
154+ < NoteLink note = { note } active = { false } />
165155 < NoteLayout . Text />
166156 </ >
167157 ) }
0 commit comments