a tool for shared writing and social publishing
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

allow basic text selection if read only

+4 -2
+4 -2
components/SelectionManager.tsx
··· 20 20 let entity_set = useEntitySetContext(); 21 21 let { rep } = useReplicache(); 22 22 useEffect(() => { 23 + if (!entity_set.permissions.write) return; 23 24 let listener = async (e: KeyboardEvent) => { 24 25 if (e.key === "Backspace" || e.key === "Delete") { 25 26 if (!entity_set.permissions.write) return; ··· 254 255 return () => { 255 256 window.removeEventListener("keydown", listener); 256 257 }; 257 - }, [moreThanOneSelected, rep]); 258 + }, [moreThanOneSelected, rep, entity_set.permissions.write]); 258 259 259 260 let [mouseDown, setMouseDown] = useState(false); 260 261 let initialContentEditableParent = useRef<null | Node>(null); 261 262 let savedSelection = useRef<SavedRange[] | null>(); 262 263 useEffect(() => { 264 + if (!entity_set.permissions.write) return; 263 265 let mouseDownListener = (e: MouseEvent) => { 264 266 setMouseDown(true); 265 267 let contentEditableParent = getContentEditableParent(e.target as Node); ··· 291 293 window.removeEventListener("mousedown", mouseDownListener); 292 294 window.removeEventListener("mouseup", mouseUpListener); 293 295 }; 294 - }, []); 296 + }, [entity_set.permissions.write]); 295 297 useEffect(() => { 296 298 if (!mouseDown) return; 297 299 let mouseMoveListener = (e: MouseEvent) => {