import { HTMLAttributes } from 'react'
import Box from '@mui/material/Box'
import Typography, { TypographyProps } from '@mui/material/Typography'
import Link, { LinkProps } from '@mui/material/Link'
import Markdown from 'react-markdown'
import { Message as IMessage, isMessageReceived } from 'models/chat'
export interface MessageProps {
message: IMessage
userId: string
}
const typographyFactory =
(overrides: TypographyProps) => (args: HTMLAttributes) => {
return
}
const linkFactory =
(overrides: LinkProps) => (args: HTMLAttributes) => {
return
}
const componentMap = {
h1: typographyFactory({ variant: 'h1' }),
h2: typographyFactory({ variant: 'h2' }),
h3: typographyFactory({ variant: 'h3' }),
h4: typographyFactory({ variant: 'h4' }),
h5: typographyFactory({ variant: 'h5' }),
h6: typographyFactory({ variant: 'h6' }),
p: typographyFactory({ variant: 'body1' }),
a: linkFactory({
variant: 'body1',
underline: 'always',
color: 'primary.light',
}),
}
export const Message = ({ message, userId }: MessageProps) => {
let backgroundColor: string
if (message.authorId === userId) {
backgroundColor = isMessageReceived(message)
? 'primary.dark'
: 'primary.main'
} else {
backgroundColor = 'grey.700'
}
return (
{userId}
{message.text}
)
}