import React, { FC, memo } from 'react'; import styles from './styles.module.scss'; import { Group } from '~/components/containers/Group'; import { Filler } from '~/components/containers/Filler'; import { Icon } from '~/components/input/Icon'; import { INode } from '~/redux/types'; import classNames from 'classnames'; import { Placeholder } from '~/components/placeholders/Placeholder'; import { getPrettyDate } from '~/utils/dom'; interface IProps { node: Partial; stack?: boolean; can_edit: boolean; can_like: boolean; can_star: boolean; is_loading: boolean; onEdit: () => void; onLike: () => void; onStar: () => void; onLock: () => void; } const NodePanelInner: FC = memo( ({ node: { title, user, is_liked, is_heroic, deleted_at, created_at, like_count }, stack, can_star, can_edit, can_like, is_loading, onStar, onEdit, onLike, onLock, }) => { return (
{is_loading ? : title || '...'}
{user && user.username && (
{is_loading ? ( ) : ( `~${user.username.toLocaleLowerCase()}, ${getPrettyDate(created_at)}` )}
)}
{can_edit && (
{can_star && (
{is_heroic ? ( ) : ( )}
)}
)}
{can_like && (
{is_liked ? ( ) : ( )} {!!like_count && like_count > 0 && (
{like_count}
)}
)}
); } ); export { NodePanelInner };