Updated style and added some smileys

This commit is contained in:
Torsten Schulz
2024-01-31 13:03:24 +01:00
parent 8016df594f
commit ad58aa57bf
3 changed files with 42 additions and 17 deletions

View File

@@ -5,20 +5,29 @@ html, body {
height: 100%; height: 100%;
} }
.header { .header {
background: #7BBE55; background: #ffffff;
color: #7E471B; color: #005100;
}
h1 {
padding: 0 0.5em;
margin: 0;
} }
.menu { .menu {
background-color: #F9A22C; background-color: #2E7D32;
height: 2em; height: 2.3em;
color: #7E471B; }
.menu > button {
background-color: #429043;
color: #ffffff;
height: 2em;
margin: 0.2em 0.4em;
} }
.horizontal-box { .horizontal-box {
height: calc(100% - 6em); height: calc(100% - 6em);
} }
.userlist { .userlist {
background-color: lightgray; background-color: lightgray;
width: 20em; width: 15em;
} }
.content { .content {
background-color: white; background-color: white;
@@ -30,21 +39,22 @@ html, body {
width: 100%; width: 100%;
} }
.userlist-gender-M { .userlist-gender-M {
background-color: #5078CD; background-color: #0066CC;
color: white; color: white;
} }
.userlist-gender-F { .userlist-gender-F {
background-color: #aB00aB; background-color: #FF4081;
color: white; color: white;
} }
.userlist-gender-P { .userlist-gender-P {
background-color: #ffffff; background-color: #FFC107;
} }
.userlist-gender-TM { .userlist-gender-TM {
background-color: #ADD8E6 background-color: #90caf9;
} }
.userlist-gender-TF { .userlist-gender-TF {
background-color: #dB90aB; background-color: #8E24AA;
color: #ffffff;
} }
.inline-block { .inline-block {
display: inline-block; display: inline-block;
@@ -80,7 +90,7 @@ height: 31px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
max-width: 200px; max-width: 200px;
bottom: 73px; bottom: 89px;
position: absolute; position: absolute;
font-size: 24pt; font-size: 24pt;
right: 3px; right: 3px;

View File

@@ -275,7 +275,8 @@ void App::updateUserlist(Wt::Json::Array unsortedUserList) {
auto layout = userListContainer_->setLayout(std::make_unique<Wt::WVBoxLayout>()); auto layout = userListContainer_->setLayout(std::make_unique<Wt::WVBoxLayout>());
layout->setSpacing(1); layout->setSpacing(1);
layout->setContentsMargins(0, 0, 0, 0); layout->setContentsMargins(0, 0, 0, 0);
userListContainer_->setOverflow(Wt::Overflow::Auto); userListContainer_->setOverflow(Wt::Overflow::Auto, Wt::Orientation::Vertical);
userListContainer_->setOverflow(Wt::Overflow::Hidden, Wt::Orientation::Horizontal);
auto sortedUserList = sortUserList(unsortedUserList); auto sortedUserList = sortUserList(unsortedUserList);
for (Wt::Json::Object &user: sortedUserList) { for (Wt::Json::Object &user: sortedUserList) {
addUserItemToLayout(layout, user); addUserItemToLayout(layout, user);
@@ -383,6 +384,7 @@ Wt::WContainerWidget* App::createInputContainer(Wt::WVBoxLayout* layout) {
auto inputContainer = layout->addNew<Wt::WContainerWidget>(); auto inputContainer = layout->addNew<Wt::WContainerWidget>();
auto inputLayout = inputContainer->setLayout(std::make_unique<Wt::WHBoxLayout>()); auto inputLayout = inputContainer->setLayout(std::make_unique<Wt::WHBoxLayout>());
auto inputLine = createInputLine(inputLayout); auto inputLine = createInputLine(inputLayout);
inputLine->setFocus();
createSendImageButton(inputLayout); createSendImageButton(inputLayout);
auto cursorPosition = std::make_shared<int>(0); auto cursorPosition = std::make_shared<int>(0);
createSmileyButton(inputLayout, inputLine, cursorPosition); createSmileyButton(inputLayout, inputLine, cursorPosition);
@@ -495,6 +497,7 @@ Wt::WPushButton* App::createSendButton(Wt::WHBoxLayout* inputLayout, Wt::WLineEd
}; };
inputLine->enterPressed().connect(sendMessageFunction); inputLine->enterPressed().connect(sendMessageFunction);
sendButton->clicked().connect(sendMessageFunction); sendButton->clicked().connect(sendMessageFunction);
inputLine->setFocus();
return sendButton; return sendButton;
} }
@@ -524,8 +527,8 @@ void App::updateOutputContainer(Wt::Json::Object conversation) {
auto outputLayoutItem = containerLayout->itemAt(1); auto outputLayoutItem = containerLayout->itemAt(1);
auto outputContainer = (Wt::WContainerWidget*)outputLayoutItem->widget(); auto outputContainer = (Wt::WContainerWidget*)outputLayoutItem->widget();
outputContainer->clear(); outputContainer->clear();
renderChatLines(conversation, outputContainer);
outputContainer->setOverflow(Wt::Overflow::Auto); outputContainer->setOverflow(Wt::Overflow::Auto);
renderChatLines(conversation, outputContainer);
} }
void App::renderChatLines(Wt::Json::Object conversation, Wt::WContainerWidget* outputContainer) { void App::renderChatLines(Wt::Json::Object conversation, Wt::WContainerWidget* outputContainer) {
@@ -564,8 +567,8 @@ void App::createImprintContainer(Wt::WVBoxLayout *containerLayout) {
imprintContainer->setPadding(Wt::WLength(0.5, Wt::LengthUnit::FontEm)); imprintContainer->setPadding(Wt::WLength(0.5, Wt::LengthUnit::FontEm));
auto imprintButton = imprintContainer->addNew<Wt::WText>("Imprint"); auto imprintButton = imprintContainer->addNew<Wt::WText>("Imprint");
Wt::WCssDecorationStyle imprintButtonDecorationStyle; Wt::WCssDecorationStyle imprintButtonDecorationStyle;
imprintButtonDecorationStyle.setForegroundColor(Wt::WColor(126, 71, 27)); imprintButtonDecorationStyle.setForegroundColor(Wt::StandardColor::White);
imprintButtonDecorationStyle.setBackgroundColor(Wt::WColor(249, 162, 44)); imprintButtonDecorationStyle.setBackgroundColor(Wt::WColor(0x42, 0x90, 0x43));
imprintButtonDecorationStyle.setCursor(Wt::Cursor::PointingHand); imprintButtonDecorationStyle.setCursor(Wt::Cursor::PointingHand);
imprintContainer->setDecorationStyle(imprintButtonDecorationStyle); imprintContainer->setDecorationStyle(imprintButtonDecorationStyle);
imprintButton->clicked().connect([=, this]() { imprintButton->clicked().connect([=, this]() {
@@ -718,6 +721,7 @@ std::unique_ptr<Wt::WContainerWidget> App::createSmileysBar(Wt::WLineEdit *input
auto code = smileyPlaceholder_; auto code = smileyPlaceholder_;
code = code.arg(smiley.second.code); code = code.arg(smiley.second.code);
auto item = smileyBar->addNew<Wt::WText>(code, Wt::TextFormat::UnsafeXHTML); auto item = smileyBar->addNew<Wt::WText>(code, Wt::TextFormat::UnsafeXHTML);
item->setToolTip(smiley.second.tooltip);
item->clicked().connect([=]() { item->clicked().connect([=]() {
auto currentText = inputLine->text().toUTF8(); auto currentText = inputLine->text().toUTF8();
currentText.insert(*cursorPosition, smiley.first); currentText.insert(*cursorPosition, smiley.first);
@@ -1163,7 +1167,7 @@ Class *App::addSearchItemLine(Wt::WVBoxLayout *layout, std::string label, std::u
auto lineLayout = lineContainer->setLayout(std::make_unique<Wt::WHBoxLayout>()); auto lineLayout = lineContainer->setLayout(std::make_unique<Wt::WHBoxLayout>());
lineContainer->setPadding(Wt::WLength("0")); lineContainer->setPadding(Wt::WLength("0"));
lineContainer->setMargin(Wt::WLength("0")); lineContainer->setMargin(Wt::WLength("0"));
lineLayout->addNew<Wt::WText>(label); lineLayout->addNew<Wt::WText>(label)->setWidth(Wt::WLength(9, Wt::LengthUnit::FontEm));
lineLayout->setContentsMargins(0, 0, 0, 0); lineLayout->setContentsMargins(0, 0, 0, 0);
lineLayout->setSpacing(0); lineLayout->setSpacing(0);
auto input = std::make_unique<Class>(); auto input = std::make_unique<Class>();

View File

@@ -46,6 +46,17 @@ private:
{":p", Smiley("1F60B", "Tongue")}, {":p", Smiley("1F60B", "Tongue")},
{";p", Smiley("1F61C", "Twinkle tongue")}, {";p", Smiley("1F61C", "Twinkle tongue")},
{"O)", Smiley("1F607", "Angel")}, {"O)", Smiley("1F607", "Angel")},
{":*", Smiley("1F617", "Kiss")},
{"<3", Smiley("1FA77", "Heart")},
{"xD", Smiley("1F602", "Laughing hard")},
{":@", Smiley("1F635", "Confused")},
{":O", Smiley("1F632", "Surprised")},
{":3", Smiley("1F63A", "Cat face")},
{":|", Smiley("1F610", "Neutral")},
{":/", Smiley("1FAE4", "Skeptical")},
{":#", Smiley("1F912", "Sick")},
{"#)", Smiley("1F973", "Partied")},
{"%)", Smiley("1F974", "Drunk")},
{":'(", Smiley("1F622", "Cry")} {":'(", Smiley("1F622", "Cry")}
}; };
struct Search { struct Search {