Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I_Helmet
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
21_22-J 62
I_Helmet
Commits
6c060088
Commit
6c060088
authored
Jul 05, 2022
by
Balasuriya D.A.M.
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Notification Logic
parent
948ae913
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
5 deletions
+17
-5
IT18021080/Telemedicine-Chat-App/frontend/src/Context/ChatProvider.js
...elemedicine-Chat-App/frontend/src/Context/ChatProvider.js
+2
-1
IT18021080/Telemedicine-Chat-App/frontend/src/animations/typing.json
...Telemedicine-Chat-App/frontend/src/animations/typing.json
+1
-0
IT18021080/Telemedicine-Chat-App/frontend/src/components/SingleChat.js
...lemedicine-Chat-App/frontend/src/components/SingleChat.js
+14
-4
No files found.
IT18021080/Telemedicine-Chat-App/frontend/src/Context/ChatProvider.js
View file @
6c060088
...
...
@@ -7,6 +7,7 @@ const ChatProvider = ({ children }) => {
const
[
user
,
setUser
]
=
useState
();
const
[
selectedChat
,
setSelectedChat
]
=
useState
();
const
[
chats
,
setChats
]
=
useState
([]);
const
[
notification
,
setNotification
]
=
useState
([]);
const
history
=
useHistory
();
...
...
@@ -22,7 +23,7 @@ const ChatProvider = ({ children }) => {
},
[
history
]);
return
(
<
ChatContext
.
Provider
value
=
{{
user
,
setUser
,
selectedChat
,
setSelectedChat
,
chats
,
setChats
}}
>
<
ChatContext
.
Provider
value
=
{{
user
,
setUser
,
selectedChat
,
setSelectedChat
,
chats
,
setChats
,
notification
,
setNotification
}}
>
{
children
}
<
/ChatContext.Provider
>
);
...
...
IT18021080/Telemedicine-Chat-App/frontend/src/animations/typing.json
0 → 100644
View file @
6c060088
{
"v"
:
"5.5.2"
,
"fr"
:
60
,
"ip"
:
0
,
"op"
:
104
,
"w"
:
84
,
"h"
:
40
,
"nm"
:
"Typing-Indicator"
,
"ddd"
:
0
,
"assets"
:[],
"layers"
:[{
"ddd"
:
0
,
"ind"
:
1
,
"ty"
:
4
,
"nm"
:
"Oval 3"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.643
],
"y"
:[
1
]},
"o"
:{
"x"
:[
1
],
"y"
:[
0
]},
"t"
:
18
,
"s"
:[
35
],
"e"
:[
100
]},{
"i"
:{
"x"
:[
0.099
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.129
],
"y"
:[
0
]},
"t"
:
33
,
"s"
:[
100
],
"e"
:[
35
]},{
"i"
:{
"x"
:[
0.833
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.167
],
"y"
:[
0
]},
"t"
:
65
,
"s"
:[
35
],
"e"
:[
35
]},{
"t"
:
71
}],
"ix"
:
11
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
61
,
20
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.667
,
0.667
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
1
,
1
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
18
,
"s"
:[
100
,
100
,
100
],
"e"
:[
140
,
140
,
100
]},{
"i"
:{
"x"
:[
0.032
,
0.032
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.217
,
0.217
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
33
,
"s"
:[
140
,
140
,
100
],
"e"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0
,
0
,
0
]},
"t"
:
65
,
"s"
:[
100
,
100
,
100
],
"e"
:[
100
,
100
,
100
]},{
"t"
:
71
}],
"ix"
:
6
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"d"
:
1
,
"ty"
:
"el"
,
"s"
:{
"a"
:
0
,
"k"
:[
12
,
12
],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"nm"
:
"Ellipse Path 1"
,
"mn"
:
"ADBE Vector Shape - Ellipse"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.847000002861
,
0.847000002861
,
0.847000002861
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"Fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"Transform"
}],
"nm"
:
"Oval 3"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
3600
,
"st"
:
0
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
2
,
"ty"
:
4
,
"nm"
:
"Oval 2"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.667
],
"y"
:[
1
]},
"o"
:{
"x"
:[
1
],
"y"
:[
0
]},
"t"
:
9
,
"s"
:[
35
],
"e"
:[
98
]},{
"i"
:{
"x"
:[
0.023
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.179
],
"y"
:[
0
]},
"t"
:
24
,
"s"
:[
98
],
"e"
:[
35
]},{
"i"
:{
"x"
:[
0.833
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.167
],
"y"
:[
0
]},
"t"
:
56
,
"s"
:[
35
],
"e"
:[
35
]},{
"t"
:
62
}],
"ix"
:
11
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
41
,
20
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.654
,
0.654
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
1
,
1
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
9
,
"s"
:[
100
,
100
,
100
],
"e"
:[
140
,
140
,
100
]},{
"i"
:{
"x"
:[
0.11
,
0.11
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.205
,
0.205
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
24
,
"s"
:[
140
,
140
,
100
],
"e"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0
,
0
,
0
]},
"t"
:
56
,
"s"
:[
100
,
100
,
100
],
"e"
:[
100
,
100
,
100
]},{
"t"
:
62
}],
"ix"
:
6
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"d"
:
1
,
"ty"
:
"el"
,
"s"
:{
"a"
:
0
,
"k"
:[
12
,
12
],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"nm"
:
"Ellipse Path 1"
,
"mn"
:
"ADBE Vector Shape - Ellipse"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.847000002861
,
0.847000002861
,
0.847000002861
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"Fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"Transform"
}],
"nm"
:
"Oval 2"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
3600
,
"st"
:
0
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
3
,
"ty"
:
4
,
"nm"
:
"Oval 1"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.667
],
"y"
:[
1
]},
"o"
:{
"x"
:[
1
],
"y"
:[
0
]},
"t"
:
0
,
"s"
:[
35
],
"e"
:[
100
]},{
"i"
:{
"x"
:[
0.067
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.125
],
"y"
:[
0
]},
"t"
:
15
,
"s"
:[
100
],
"e"
:[
35
]},{
"i"
:{
"x"
:[
0.833
],
"y"
:[
1
]},
"o"
:{
"x"
:[
0.167
],
"y"
:[
0
]},
"t"
:
47
,
"s"
:[
35
],
"e"
:[
35
]},{
"t"
:
53
}],
"ix"
:
11
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
21
,
20
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.673
,
0.673
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
1
,
1
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
0
,
"s"
:[
100
,
100
,
100
],
"e"
:[
140
,
140
,
100
]},{
"i"
:{
"x"
:[
0.049
,
0.049
,
0.667
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.198
,
0.198
,
0.333
],
"y"
:[
0
,
0
,
0
]},
"t"
:
15
,
"s"
:[
140
,
140
,
100
],
"e"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
1
,
1
,
1
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0
,
0
,
0
]},
"t"
:
47
,
"s"
:[
100
,
100
,
100
],
"e"
:[
100
,
100
,
100
]},{
"t"
:
53
}],
"ix"
:
6
,
"x"
:
"var $bm_rt;
\n
$bm_rt = loopOut('cycle', 0);"
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"d"
:
1
,
"ty"
:
"el"
,
"s"
:{
"a"
:
0
,
"k"
:[
12
,
12
],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"nm"
:
"Ellipse Path 1"
,
"mn"
:
"ADBE Vector Shape - Ellipse"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.847000002861
,
0.847000002861
,
0.847000002861
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"Fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"Transform"
}],
"nm"
:
"Oval 1"
,
"np"
:
2
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
3600
,
"st"
:
0
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
4
,
"ty"
:
4
,
"nm"
:
"BG"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
42
,
20
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ind"
:
0
,
"ty"
:
"sh"
,
"ix"
:
1
,
"ks"
:{
"a"
:
0
,
"k"
:{
"i"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"o"
:[[
0
,
0
],[
0
,
0
],[
0
,
0
],[
0
,
0
]],
"v"
:[[
-42
,
-20
],[
42
,
-20
],[
42
,
20
],[
-42
,
20
]],
"c"
:
true
},
"ix"
:
2
},
"nm"
:
"Path 1"
,
"mn"
:
"ADBE Vector Shape - Group"
,
"hd"
:
false
},{
"ty"
:
"rd"
,
"nm"
:
"Round Corners 1"
,
"r"
:{
"a"
:
0
,
"k"
:
20
,
"ix"
:
1
},
"ix"
:
2
,
"mn"
:
"ADBE Vector Filter - RC"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
0.96078401804
,
0.96078401804
,
0.96078401804
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"Fill 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"Transform"
}],
"nm"
:
"BG"
,
"np"
:
3
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
3600
,
"st"
:
0
,
"bm"
:
0
}],
"markers"
:[]}
\ No newline at end of file
IT18021080/Telemedicine-Chat-App/frontend/src/components/SingleChat.js
View file @
6c060088
...
...
@@ -9,6 +9,8 @@ import axios from "axios";
import
"
./styles.css
"
;
import
ScrollableChat
from
"
./ScrollableChat
"
;
import
io
from
"
socket.io-client
"
;
const
ENDPOINT
=
"
http://localhost:5000
"
;
...
...
@@ -24,8 +26,9 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
const
[
typing
,
setTyping
]
=
useState
(
false
);
const
[
isTyping
,
setIsTyping
]
=
useState
(
false
);
const
toast
=
useToast
();
const
{
user
,
selectedChat
,
setSelectedChat
}
=
ChatState
();
const
{
user
,
selectedChat
,
setSelectedChat
,
notification
,
setNotification
}
=
ChatState
();
const
fetchMessages
=
async
()
=>
{
if
(
!
selectedChat
)
return
;
...
...
@@ -63,7 +66,7 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
}
};
console
.
log
(
messages
);
//
console.log(messages);
useEffect
(()
=>
{
...
...
@@ -81,6 +84,8 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
selectedChatCompare
=
selectedChat
;
},
[
selectedChat
]);
console
.
log
(
notification
,
"
--------------
"
);
useEffect
(()
=>
{
socket
.
on
(
"
message recieved
"
,
(
newMessageRecieved
)
=>
{
if
(
...
...
@@ -88,6 +93,11 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
selectedChatCompare
.
_id
!==
newMessageRecieved
.
chat
.
_id
)
{
//give notification
if
(
!
notification
.
includes
(
newMessageRecieved
))
{
setNotification
([
newMessageRecieved
,
...
notification
]);
setFetchAgain
(
!
fetchAgain
);
}
}
else
{
setMessages
([...
messages
,
newMessageRecieved
]);
}
...
...
@@ -117,7 +127,7 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
config
);
console
.
log
(
data
);
//
console.log(data);
socket
.
emit
(
"
new message
"
,
data
);
setMessages
([...
messages
,
data
]);
...
...
@@ -221,7 +231,7 @@ const SingleChat = ({ fetchAgain, setFetchAgain }) => {
)}
<
FormControl
onKeyDown
=
{
sendMessage
}
isRequired
mt
=
{
3
}
>
{
isTyping
?
<
div
>
Load
ing
...
<
/div> :
(
<></
>
)}
{
isTyping
?
<
div
>
Typ
ing
...
<
/div> :
(
<></
>
)}
<
Input
variant
=
"
filled
"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment