Files
lume/src/components/note/index.tsx
2023-03-21 09:24:40 +07:00

33 lines
875 B
TypeScript

import { Content } from '@components/note/content';
import { RootNote } from '@components/note/root';
import { memo, useMemo } from 'react';
export const Note = memo(function Note({ event }: { event: any }) {
const tags = JSON.parse(event.tags);
const fetchRootEvent = useMemo(() => {
if (tags.length > 0) {
if (tags[0][0] === 'e') {
return <RootNote id={tags[0][1]} />;
} else {
tags.every((tag) => {
if (tag[2] === 'root') {
return <RootNote id={tags[1]} />;
}
return <></>;
});
}
} else {
return <></>;
}
}, [tags]);
return (
<div className="relative z-10 flex h-min min-h-min w-full cursor-pointer select-text flex-col border-b border-zinc-800 py-5 px-3 hover:bg-black/20">
<>{fetchRootEvent}</>
<Content data={event} />
</div>
);
});