diff --git a/apps/web/src/components/list-item/index.js b/apps/web/src/components/list-item/index.js
index 050e6c1c0..3cd793776 100644
--- a/apps/web/src/components/list-item/index.js
+++ b/apps/web/src/components/list-item/index.js
@@ -52,8 +52,6 @@ const ItemSelector = ({ isSelected, toggleSelection }) => {
};
const ListItem = props => {
- //const selectedNote = useStore(store => store.selectedNote);
- // const isOpened = selectedNote === props.id;
const [parentRef, closeContextMenu] = useContextMenu(
`contextMenu${props.index}`
);
@@ -90,7 +88,11 @@ const ListItem = props => {
alignItems="center"
sx={{
borderBottom: "1px solid",
- borderBottomColor: "navbg"
+ borderBottomColor: "border",
+ cursor: "pointer",
+ ":hover": {
+ borderBottomColor: "primary"
+ }
}}
>
{isSelectionMode && (
@@ -109,12 +111,8 @@ const ListItem = props => {
position: "relative",
marginTop: props.pinned ? 4 : 0,
paddingTop: props.pinned ? 0 : 2,
- paddingBottom: 2,
- cursor: "default",
- ":hover": {
- borderBottomColor: "primary",
- cursor: "pointer"
- }
+ paddingBottom: 2
+
//TODO add onpressed reaction
}}
>
@@ -161,11 +159,14 @@ const ListItem = props => {
}
}}
>
-
-
- {props.title}
-
-
+
+ {props.title}
+
[
}
];
-export default class Note extends React.Component {
- shouldComponentUpdate(nextProps) {
- const prevItem = this.props.item;
- const nextItem = nextProps.item;
- return (
- prevItem.pinned !== nextItem.pinned ||
- prevItem.favorite !== nextItem.favorite ||
- prevItem.headline !== nextItem.headline ||
- prevItem.title !== nextItem.title
- );
- }
-
- render() {
- const { item, index, groupIndex } = this.props;
- const note = item;
- return (
- {
- await editorStore.getState().openSession(note);
- }}
- info={
-
-
- {note.locked && }
- {note.favorite && }
-
- }
- pinned={note.pinned}
- menuData={note}
- menuItems={menuItems(note, index, groupIndex)}
- dropdownRefs={dropdownRefs}
- />
- );
- }
+function Note(props) {
+ const { item, index, groupIndex } = props;
+ const note = item;
+ const selectedNote = useStore(store => store.selectedNote);
+ const isOpened = selectedNote === note.id;
+ return (
+ {
+ await editorStore.getState().openSession(note);
+ }}
+ info={
+
+
+ {note.locked && }
+ {note.favorite && }
+
+ }
+ pinned={note.pinned}
+ menuData={note}
+ menuItems={menuItems(note, index, groupIndex)}
+ dropdownRefs={dropdownRefs}
+ />
+ );
}
+
+export default React.memo(Note, function(prevProps, nextProps) {
+ const prevItem = prevProps.item;
+ const nextItem = nextProps.item;
+ return (
+ prevItem.pinned === nextItem.pinned &&
+ prevItem.favorite === nextItem.favorite &&
+ prevItem.headline === nextItem.headline &&
+ prevItem.title === nextItem.title
+ );
+});