diff --git a/chatto/src/main/resources/static/css/chat.css b/chatto/src/main/resources/static/css/chat.css new file mode 100644 index 0000000..e29194f --- /dev/null +++ b/chatto/src/main/resources/static/css/chat.css @@ -0,0 +1,265 @@ +body, +html { + height: 100%; + margin: 0; + background: #7F7FD5; + background: -webkit-linear-gradient(to right, #91EAE4, #86A8E7, #7F7FD5); + background: linear-gradient(to right, #91EAE4, #86A8E7, #7F7FD5); +} + +.chat { + margin-top: auto; + margin-bottom: auto; +} + +.card { + height: 500px; + border-radius: 15px !important; + background-color: rgba(0, 0, 0, 0.4) !important; +} + +.contacts_body { + padding: 0.75rem 0 !important; + overflow-y: auto; + white-space: nowrap; +} + +.msg_card_body { + overflow-y: auto; +} + +.card-header { + border-radius: 15px 15px 0 0 !important; + border-bottom: 0 !important; +} + +.card-footer { + border-radius: 0 0 15px 15px !important; + border-top: 0 !important; +} + +.container { + align-content: center; +} + +.search { + border-radius: 15px 0 0 15px !important; + background-color: rgba(0, 0, 0, 0.3) !important; + border: 0 !important; + color: white !important; +} + +.search:focus { + box-shadow: none !important; + outline: 0px !important; +} + +.type_msg { + background-color: rgba(0, 0, 0, 0.3) !important; + border: 0 !important; + color: white !important; + height: 60px !important; + overflow-y: auto; +} + +.type_msg:focus { + box-shadow: none !important; + outline: 0px !important; +} + +.attach_btn { + border-radius: 15px 0 0 15px !important; + background-color: rgba(0, 0, 0, 0.3) !important; + border: 0 !important; + color: white !important; + cursor: pointer; +} + +.send_btn { + border-radius: 0 15px 15px 0 !important; + background-color: rgba(0, 0, 0, 0.3) !important; + border: 0 !important; + color: white !important; + cursor: pointer; +} + +.search_btn { + border-radius: 0 15px 15px 0 !important; + background-color: rgba(0, 0, 0, 0.3) !important; + border: 0 !important; + color: white !important; + cursor: pointer; +} + +.contacts { + list-style: none; + padding: 0; +} + +.contacts li { + width: 100% !important; + padding: 5px 10px; + margin-bottom: 15px !important; +} + +.active { + background-color: rgba(0, 0, 0, 0.3); +} + +.user_img { + height: 70px; + width: 70px; + border: 1.5px solid #f5f6fa; +} + +.user_img_msg { + height: 40px; + width: 40px; + border: 1.5px solid #f5f6fa; +} + +.img_cont { + position: relative; + height: 70px; + width: 70px; +} + +.img_cont_msg { + height: 40px; + width: 40px; +} + +.online_icon { + position: absolute; + height: 15px; + width: 15px; + background-color: #4cd137; + border-radius: 50%; + bottom: 0.2em; + right: 0.4em; + border: 1.5px solid white; +} + +.offline { + background-color: #c23616 !important; +} + +.user_info { + margin-top: auto; + margin-bottom: auto; + margin-left: 15px; +} + +.user_info span { + font-size: 20px; + color: white; +} + +.user_info p { + font-size: 10px; + color: rgba(255, 255, 255, 0.6); +} + +.video_cam { + margin-left: 50px; + margin-top: 5px; +} + +.video_cam span { + color: white; + font-size: 20px; + cursor: pointer; + margin-right: 20px; +} + +.msg_container { + margin-top: auto; + margin-bottom: auto; + margin-left: 10px; + border-radius: 25px; + background-color: #82ccdd; + padding: 10px; + position: relative; + min-width: 100px; + text-align: center; +} + +.msg_container_send { + margin-top: auto; + margin-bottom: auto; + margin-right: 10px; + border-radius: 25px; + background-color: #78e08f; + padding: 10px; + position: relative; + min-width: 100px; + text-align: center; +} + +.msg_time { + position: absolute; + left: 0; + bottom: -15px; + color: rgba(255, 255, 255, 0.5); + font-size: 10px; +} + +.msg_time_send { + position: absolute; + right: 0; + bottom: -15px; + color: rgba(255, 255, 255, 0.5); + font-size: 10px; +} + +.msg_head { + position: relative; +} + +#action_menu_btn { + position: absolute; + right: 10px; + top: 10px; + color: white; + cursor: pointer; + font-size: 20px; +} + +.action_menu { + z-index: 1; + position: absolute; + padding: 15px 0; + background-color: rgba(0, 0, 0, 0.5); + color: white; + border-radius: 15px; + top: 30px; + right: 15px; + display: none; +} + +.action_menu ul { + list-style: none; + padding: 0; + margin: 0; +} + +.action_menu ul li { + width: 100%; + padding: 10px 15px; + margin-bottom: 5px; +} + +.action_menu ul li i { + padding-right: 10px; +} + +.action_menu ul li:hover { + cursor: pointer; + background-color: rgba(0, 0, 0, 0.2); +} + +@media(max-width: 576px) { + .contacts_card { + margin-bottom: 15px !important; + } +} \ No newline at end of file diff --git a/chatto/src/main/resources/static/js/chat.js b/chatto/src/main/resources/static/js/chat.js index 65a2024..11a9e40 100644 --- a/chatto/src/main/resources/static/js/chat.js +++ b/chatto/src/main/resources/static/js/chat.js @@ -27,12 +27,22 @@ var username = sessionStorage.getItem('username'); var password = sessionStorage.getItem('password'); var authToken = 'Basic ' + btoa(username + ":" + password); var iterations = 100000; + +var source = document.getElementById("msg_container_template").innerHTML; +var msgContainerTemplate = Handlebars.compile(source); +var source = document.getElementById("msg_container_send_template").innerHTML; +var msgContainerSendTemplate = Handlebars.compile(source); + +var chatAreaNew = document.getElementById('chat_area_new'); + // var lastMessageTimeStamp; // console.log(authToken); // 'Basic ' + btoa("hmm" + ":" + "hmm") - +Handlebars.registerHelper('avatar', function() { + return '
Kalid is online
+Kalid is online
+1767 Messages
+