File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22 list-style : none;
33}
44
5- .message {
6- margin-bottom : 0.5em ;
7- }
8-
95.chat-box {
106 position : fixed;
117 bottom : 0 ;
Original file line number Diff line number Diff line change 11import { useState } from "react" ;
22import useSocket from "./hooks/useSocket" ;
3+ import Message from "./components/Message" ;
34import "./App.css" ;
45
56const App = ( ) => {
@@ -15,10 +16,8 @@ const App = () => {
1516 return (
1617 < div className = "container" >
1718 < ul className = "messages" >
18- { messages . map ( ( message , i ) => (
19- < li className = "message" key = { i } >
20- { message . text }
21- </ li >
19+ { messages . map ( ( message ) => (
20+ < Message message = { message . text } messageTime = { message . time } />
2221 ) ) }
2322 </ ul >
2423 < div className = "chat-box" >
Original file line number Diff line number Diff line change 1+ .message {
2+ border-radius : 8px ;
3+ border : 1px solid # 777 ;
4+ padding : 1em ;
5+ margin-bottom : 0.5em ;
6+ }
7+
8+ .message-text ,
9+ .message-time {
10+ margin : 0 ;
11+ }
12+
13+ .message-text {
14+ font-size : large;
15+ }
16+
17+ .message-time {
18+ font-size : small;
19+ }
Original file line number Diff line number Diff line change 1+ import formatTime from "../utils/formatTime" ;
2+ import "./Message.css"
3+
4+ const Message = ( { message, messageTime } ) => {
5+ const { date, time } = formatTime ( messageTime ) ;
6+
7+ return (
8+ < div className = "message" >
9+ < p className = "message-text" > { message } </ p >
10+ < p className = "message-time" > { `${ date } ${ time } ` } </ p >
11+ </ div >
12+ ) ;
13+ } ;
14+
15+ export default Message ;
Original file line number Diff line number Diff line change 1+ const formatTime = ( messageTime ) => {
2+ const dt = new Date ( messageTime ) ;
3+ const date = new Intl . DateTimeFormat ( "en-GB" ) . format ( new Date ( dt ) ) ;
4+ const time = new Date ( messageTime ) . toTimeString ( ) . split ( " " ) [ 0 ] ;
5+ return { date, time } ;
6+ } ;
7+
8+ export default formatTime ;
You can’t perform that action at this time.
0 commit comments