From 622c10d13f696b93dc63e48677a87fd5b2371421 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Sat, 28 Apr 2018 18:19:14 +0200
Subject: Added animations and fixed several bugs
---
.../core/templates/pages/abstract/base.html.twig | 5 --
.../templates/pages/abstract/mainsite.html.twig | 7 ++-
.../sprinkles/core/templates/pages/index.html.twig | 7 +++
.../core/templates/pages/partials/chat.js.twig | 59 +++++++++++++++-------
4 files changed, 54 insertions(+), 24 deletions(-)
(limited to 'main/app/sprinkles/core/templates/pages')
diff --git a/main/app/sprinkles/core/templates/pages/abstract/base.html.twig b/main/app/sprinkles/core/templates/pages/abstract/base.html.twig
index 4d2b7cd..a54375a 100644
--- a/main/app/sprinkles/core/templates/pages/abstract/base.html.twig
+++ b/main/app/sprinkles/core/templates/pages/abstract/base.html.twig
@@ -80,11 +80,6 @@
{% block scripts %}
{# Override this block in a child layout template or page template to override site-level scripts. #}
{% block scripts_site %}
-
-
-
-
-
{{ assets.js() | raw }}
{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig b/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
index 6df674c..fc922bf 100644
--- a/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
+++ b/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
@@ -22,8 +22,8 @@
{# Override this block in a child layout template or page template to override site-level stylesheets. #}
{% block stylesheets_site %}
+ {{ assets.css() | raw }}
{{ assets.css('css/main-site') | raw }}
- {{ assets.css('css/form-widgets') | raw }}
{% endblock %}
{# Override this block in a child layout template or page template to specify or override stylesheets for groups of similar pages. #}
@@ -104,9 +104,14 @@
{% include "pages/partials/config.js.twig" %}
+ {% block uf_alerts_template %}
+ {% include "pages/partials/alerts.html.twig" %}
+ {% endblock %}
+
{% block scripts %}
{# Override this block in a child layout template or page template to override site-level scripts. #}
{% block scripts_site %}
+ {{ assets.js('js/main') | raw }}
{{ assets.js('js/main-site') | raw }}
{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/index.html.twig b/main/app/sprinkles/core/templates/pages/index.html.twig
index 3421476..3ef8240 100644
--- a/main/app/sprinkles/core/templates/pages/index.html.twig
+++ b/main/app/sprinkles/core/templates/pages/index.html.twig
@@ -42,6 +42,7 @@
title="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}"
placeholder="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}">
+
@@ -142,6 +143,12 @@
{% endblock %}
{% block scripts_page %}
+
diff --git a/main/app/sprinkles/core/templates/pages/partials/chat.js.twig b/main/app/sprinkles/core/templates/pages/partials/chat.js.twig
index da9d9f5..6c4c673 100644
--- a/main/app/sprinkles/core/templates/pages/partials/chat.js.twig
+++ b/main/app/sprinkles/core/templates/pages/partials/chat.js.twig
@@ -38,7 +38,7 @@ function InitializeChatServer() {
var ChatSocket = new WebSocket('wss://marvinborner.ddnss.de:1337');
ChatSocket.onerror = function () {
- setTimeout(function(){
+ setTimeout(function () {
console.log("Connection failed. Trying again...");
InitializeChatServer();
}, 5000);
@@ -49,10 +49,11 @@ function InitializeChatServer() {
var LastMessage = $(".ChatMessage:last");
var MessageObject = JSON.parse(e.data);
if (MessageObject.ServerMessage === false) {
- if (MessageObject.WasHimself === true) { //MessageObject.Username
+ if (MessageObject.WasHimself === true) { // SENT
if (!LastMessage.hasClass("MessageSent")) {
- ChatMessages.append("
" + MessageObject.Message + "
");
+ ChatMessages.append("
" + MessageObject.Message + "
");
} else if (LastMessage.hasClass("MessageSent")) {
+ ChatMessages.append("
" + MessageObject.Message + "
");
if (LastMessage.hasClass("AloneMessage")) {
LastMessage.removeClass("AloneMessage");
LastMessage.addClass("TopMessage");
@@ -60,15 +61,15 @@ function InitializeChatServer() {
LastMessage.removeClass("BottomMessage");
LastMessage.addClass("MiddleMessage");
}
- ChatMessages.append("
" + MessageObject.Message + "
");
}
$('.MessageSent').linkify({
target: "_blank"
});
- } else if (MessageObject.WasHimself === false) {
+ } else if (MessageObject.WasHimself === false) { // RECEIVED
if (!LastMessage.hasClass("MessageReceived")) {
- ChatMessages.append("
" + MessageObject.Message + "
");
+ ChatMessages.append("
" + MessageObject.Message + "
");
} else if (LastMessage.hasClass("MessageReceived")) {
+ ChatMessages.append("
" + MessageObject.Message + "
");
if (LastMessage.hasClass("AloneMessage")) {
LastMessage.removeClass("AloneMessage");
LastMessage.addClass("TopMessage");
@@ -76,7 +77,6 @@ function InitializeChatServer() {
LastMessage.removeClass("BottomMessage");
LastMessage.addClass("MiddleMessage");
}
- ChatMessages.append("
" + MessageObject.Message + "
");
}
$('.MessageReceived').linkify({
target: "_blank"
@@ -85,30 +85,49 @@ function InitializeChatServer() {
} else if (MessageObject.ServerMessage === true) {
if (MessageObject.ServerMessageType === "GroupJoin") {
if (MessageObject.WasHimself === false) {
- var TranslatedUserJoinMessage = "{{ translate("CHAT_MESSAGES.USER_GROUP_JOIN", {user: "ConvertTranslatedMessageWithUsername"}) }}".replace("ConvertTranslatedMessageWithUsername", MessageObject.Username);
- ChatMessages.append("
" + TranslatedUserJoinMessage + ".
");
+ var Message = "{{ translate("CHAT_MESSAGES.USER_GROUP_JOIN", {user: "ConvertTranslatedMessageWithUsername"}) }}".replace("ConvertTranslatedMessageWithUsername", MessageObject.Username);
} else if (MessageObject.WasHimself === true) {
ChatMessages.empty();
- var TranslatedYouJoinMessage = "{{ translate("CHAT_MESSAGES.YOU_GROUP_JOIN", {group: "ConvertTranslatedMessageWithGroupName"}) }}".replace("ConvertTranslatedMessageWithGroupName", '"' + MessageObject.GroupName + '"');
- ChatMessages.append("
" + TranslatedYouJoinMessage + ".
");
+ var Message = "{{ translate("CHAT_MESSAGES.YOU_GROUP_JOIN", {group: "ConvertTranslatedMessageWithGroupName"}) }}".replace("ConvertTranslatedMessageWithGroupName", '"' + MessageObject.GroupName + '"');
}
+ ChatMessages.append("
" + Message + ".
");
} else if (MessageObject.ServerMessageType === "UserDisconnect") {
var TranslatedDisconnectMessage = "{{ translate("CHAT_MESSAGES.USER_DISCONNECT", {user: "ConvertTranslatedMessageWithUsername"}) }}".replace("ConvertTranslatedMessageWithUsername", MessageObject.Username);
ChatMessages.append("
" + TranslatedDisconnectMessage + ".
");
}
}
+ ChatMessages.animate({scrollTop: document.querySelector("#ChatMessages").scrollHeight}, "slow");
+ //window.scrollTo(0,document.querySelector("#ChatMessages").scrollHeight);
};
- ChatTextInput.keyup(function (e) {
- if (e.keyCode === 13) {
- sendMessage(ChatTextInput.val());
- ChatTextInput.val("");
+ SubscribeTextInput.keyup(function (e) {
+ if (e.keyCode === 13 && SubscribeTextInput.val().length > 0) {
+ subscribe(SubscribeTextInput.val());
}
});
- SubscribeTextInput.keyup(function (e) {
- if (e.keyCode === 13) {
- subscribe(SubscribeTextInput.val());
+ ChatTextInput.keyup(function (e) {
+ // USER TYPES
+ var IsTyping = true;
+ sendStartTyping();
+ var ChatTypeTimeout;
+ if (ChatTypeTimeout != undefined) clearTimeout(ChatTypeTimeout);
+ ChatTypeTimeout = setTimeout(sendStopTyping, 2500);
+
+ function sendStartTyping() {
+ if (IsTyping !== true) sendTypingState(true);
+ IsTyping = true;
+ }
+
+ function sendStopTyping() {
+ if (IsTyping !== false) sendTypingState(false);
+ IsTyping = false;
+ }
+
+ // USER PRESSED ENTER
+ if (e.keyCode === 13 && ChatTextInput.val().length > 0) {
+ sendMessage(ChatTextInput.val());
+ ChatTextInput.val("");
}
});
@@ -122,6 +141,10 @@ function InitializeChatServer() {
ChatSocket.send(JSON.stringify({ClientMessageType: "Message", Message: msg}));
ChatTextInput.val("");
}
+
+ function sendTypingState(state) {
+ ChatSocket.send(JSON.stringify({ClientMessageType: "TypingState", Message: state}));
+ }
};
}
--
cgit v1.2.3