mirror of
https://github.com/lumehq/lume.git
synced 2025-03-28 18:52:33 +01:00
fixed note content parser
This commit is contained in:
parent
283931bfa1
commit
3c3ee2fc88
@ -9,8 +9,11 @@ import reactStringReplace from 'react-string-replace';
|
|||||||
export const Content = memo(function Content({ data }: { data: any }) {
|
export const Content = memo(function Content({ data }: { data: any }) {
|
||||||
const content = useMemo(() => {
|
const content = useMemo(() => {
|
||||||
let parsedContent;
|
let parsedContent;
|
||||||
|
let tags;
|
||||||
// get data tags
|
// get data tags
|
||||||
const tags = data.tags ? JSON.parse(data.tags) : null;
|
if (data.tags.length > 1) {
|
||||||
|
tags = JSON.parse(data.tags);
|
||||||
|
}
|
||||||
// remove all image urls
|
// remove all image urls
|
||||||
parsedContent = data.content.replace(/(https?:\/\/.*\.(jpg|jpeg|gif|png|webp|mp4|webm)((\?.*)$|$))/gim, '');
|
parsedContent = data.content.replace(/(https?:\/\/.*\.(jpg|jpeg|gif|png|webp|mp4|webm)((\?.*)$|$))/gim, '');
|
||||||
// handle urls
|
// handle urls
|
||||||
@ -26,7 +29,7 @@ export const Content = memo(function Content({ data }: { data: any }) {
|
|||||||
</span>
|
</span>
|
||||||
));
|
));
|
||||||
// handle mentions
|
// handle mentions
|
||||||
if (tags) {
|
if (tags.length > 0) {
|
||||||
parsedContent = reactStringReplace(parsedContent, /\#\[(\d+)\]/gm, (match, i) => {
|
parsedContent = reactStringReplace(parsedContent, /\#\[(\d+)\]/gm, (match, i) => {
|
||||||
if (tags[match][0] === 'p') {
|
if (tags[match][0] === 'p') {
|
||||||
return <UserMention key={match + i} pubkey={tags[match][1]} />;
|
return <UserMention key={match + i} pubkey={tags[match][1]} />;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user