{"version":3,"file":"FeedNoteSkeleton-5babb5f4.js","sources":["../../src/components/SmallNote/SmallNote.tsx","../../src/components/Skeleton/ShortNoteSkeleton.tsx","../../src/components/Skeleton/FeedNoteSkeleton.tsx"],"sourcesContent":["import { Component, JSXElement, Show } from 'solid-js';\r\nimport Avatar from '../Avatar/Avatar';\r\n\r\nimport styles from './SmallNote.module.scss';\r\nimport { A } from '@solidjs/router';\r\nimport { PrimalNote } from '../../types/primal';\r\nimport { useThreadContext } from '../../contexts/ThreadContext';\r\nimport { date } from '../../lib/dates';\r\nimport { authorName } from '../../stores/profile';\r\nimport { note as t } from '../../translations';\r\nimport { useIntl } from '@cookbook/solid-intl';\r\nimport { hookForDev } from '../../lib/devTools';\r\nimport ParsedNote from '../ParsedNote/ParsedNote';\r\nimport { useAppContext } from '../../contexts/AppContext';\r\n\r\n\r\nconst SmallNote: Component<{ note: PrimalNote, children?: JSXElement, id?: string }> = (props) => {\r\n\r\n const threadContext = useThreadContext();\r\n const intl = useIntl();\r\n const app = useAppContext();\r\n\r\n const navToThread = (note: PrimalNote) => {\r\n threadContext?.actions.setPrimaryNote(note);\r\n };\r\n\r\n const nameOfAuthor = () => {\r\n return authorName(props.note.user || { pubkey: props.note.post.pubkey });\r\n };\r\n\r\n const parsedContent = (text: string) => {\r\n const regex = /\\#\\[([0-9]*)\\]/g;\r\n let parsed = text;\r\n\r\n let refs = [];\r\n let match;\r\n\r\n while((match = regex.exec(text)) !== null) {\r\n refs.push(match[1]);\r\n }\r\n\r\n if (refs.length > 0) {\r\n for(let i =0; i < refs.length; i++) {\r\n let r = parseInt(refs[i]);\r\n\r\n const tag = props.note.post.tags[r];\r\n\r\n if (tag[0] === 'e' && props.note.mentionedNotes && props.note.mentionedNotes[tag[1]]) {\r\n const embeded = (\r\n {intl.formatMessage(\r\n t.mentionIndication,\r\n {\r\n name: authorName(props.note.user),\r\n },\r\n )}\r\n );\r\n\r\n // @ts-ignore\r\n parsed = parsed.replace(`#[${r}]`, embeded.outerHTML);\r\n }\r\n\r\n if (tag[0] === 'p' && props.note.mentionedUsers && props.note.mentionedUsers[tag[1]]) {\r\n const user = props.note.mentionedUsers[tag[1]];\r\n\r\n const link = (@{authorName(user)});\r\n\r\n // @ts-ignore\r\n parsed = parsed.replace(`#[${r}]`, link.outerHTML);\r\n }\r\n }\r\n }\r\n\r\n return parsed;\r\n\r\n };\r\n\r\n return (\r\n