5 changed files with 83 additions and 11 deletions
@ -1,13 +1,38 @@
@@ -1,13 +1,38 @@
|
||||
@import 'styles/mixins.scss'; |
||||
|
||||
.chatSystemMessage { |
||||
background-color: var(--theme-unknown-2); |
||||
background: var(--theme-background-secondary); |
||||
background: linear-gradient( |
||||
70deg, |
||||
rgb(78, 54, 114) 0%, |
||||
rgb(65, 28, 139) 40%, |
||||
rgb(83, 67, 130) 80% |
||||
); |
||||
margin: 5px; |
||||
border-radius: 15px; |
||||
border-color: rgba(0, 0, 0, 0.3); |
||||
border-radius: 5px; |
||||
border-width: 1px; |
||||
border-style: solid; |
||||
padding: 10px 10px; |
||||
padding: 12px 12px; |
||||
max-width: 400px; |
||||
@include flexCenter; |
||||
|
||||
.user { |
||||
display: flex; |
||||
align-items: center; |
||||
font-family: var(--theme-header-font-family); |
||||
font-weight: bold; |
||||
color: white; |
||||
} |
||||
.message { |
||||
color: white; |
||||
|
||||
p { |
||||
color: white; |
||||
margin: unset; |
||||
} |
||||
|
||||
mark { |
||||
padding-left: 0.35em; |
||||
padding-right: 0.35em; |
||||
color: var(--theme-text-highlight); |
||||
background-color: var(--color-bg-highlight); |
||||
} |
||||
} |
||||
} |
||||
|
||||
@ -1,9 +1,25 @@
@@ -1,9 +1,25 @@
|
||||
/* eslint-disable react/no-danger */ |
||||
import { Highlight } from 'react-highlighter-ts'; |
||||
import { ChatMessage } from '../../../interfaces/chat-message.model'; |
||||
import s from './ChatSystemMessage.module.scss'; |
||||
|
||||
interface Props { |
||||
message: string; |
||||
message: ChatMessage; |
||||
highlightString: string; |
||||
} |
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export default function ChatSystemMessage({ message }: Props) { |
||||
return <div className={s.chatSystemMessage}>{message}</div>; |
||||
export default function ChatSystemMessage({ message, highlightString }: Props) { |
||||
const { body, user } = message; |
||||
const { displayName } = user; |
||||
|
||||
return ( |
||||
<div className={s.chatSystemMessage}> |
||||
<div className={s.user}> |
||||
<span className={s.userName}>{displayName}</span> |
||||
</div> |
||||
<Highlight search={highlightString}> |
||||
<div className={s.message} dangerouslySetInnerHTML={{ __html: body }} /> |
||||
</Highlight> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
Loading…
Reference in new issue