import { observer } from "mobx-react"; import { DocumentIcon } from "outline-icons"; import * as React from "react"; import { Link } from "react-router-dom"; import styled from "styled-components"; import parseTitle from "@shared/utils/parseTitle"; import Document from "~/models/Document"; import EmojiIcon from "~/components/EmojiIcon"; import Flex from "~/components/Flex"; import { hover } from "~/styles"; import { NavigationNode } from "~/types"; import { sharedDocumentPath } from "~/utils/routeHelpers"; type Props = { shareId?: string; document: Document | NavigationNode; anchor?: string; showCollection?: boolean; }; const DocumentLink = styled(Link)` display: block; margin: 2px -8px; padding: 6px 8px; border-radius: 8px; max-height: 50vh; min-width: 100%; overflow: hidden; position: relative; &:${hover}, &:active, &:focus { background: ${(props) => props.theme.listItemHoverBackground}; } `; const Content = styled(Flex)` color: ${(props) => props.theme.textSecondary}; margin-left: -4px; `; const Title = styled.div` overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 500; line-height: 1.25; padding-top: 3px; white-space: nowrap; color: ${(props) => props.theme.text}; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; `; function ReferenceListItem({ document, showCollection, anchor, shareId, ...rest }: Props) { const { emoji } = parseTitle(document.title); return ( {emoji ? ( ) : ( )} {emoji ? document.title.replace(emoji, "") : document.title} ); } export default observer(ReferenceListItem);