diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index 246b11f2..fc18d14a 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -496,7 +496,8 @@ "bcchange6":"Möchten Sie diesen Benutzer wirklich blockieren?", "bcchange7":"MENÜ", "bcchange8":"Adresse Kopieren", - "bcchange9":"Private Nachricht" + "bcchange9":"Private Nachricht", + "bcchange10":"Mehr" }, "grouppage":{ "gchange1":"Qortal-Gruppen", diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json index cf993b28..8f36dd75 100644 --- a/qortal-ui-core/language/es.json +++ b/qortal-ui-core/language/es.json @@ -496,7 +496,8 @@ "bcchange6":"Estás seguro de bloquear a este usuario?", "bcchange7":"MENÚ", "bcchange8":"Copiar Dirección", - "bcchange9":"Mensaje Privado" + "bcchange9":"Mensaje Privado", + "bcchange10":"Más" }, "grouppage":{ "gchange1":"Grupos Qortal", diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index 2c499699..276d86e9 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -496,7 +496,8 @@ "bcchange6":"Êtes-vous sûr de bloquer cet utilisateur ?", "bcchange7":"MENU", "bcchange8":"Copier l'Adresse", - "bcchange9":"Message Privé" + "bcchange9":"Message Privé", + "bcchange10":"Suite" }, "grouppage":{ "gchange1":"Groupes Qortal", diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json index e8d64167..5153c37a 100644 --- a/qortal-ui-core/language/hindi.json +++ b/qortal-ui-core/language/hindi.json @@ -497,7 +497,8 @@ "bcchange6":"क्या आप वाकई इस उपयोगकर्ता को ब्लॉक करना चाहते हैं?", "bcchange7":"मेन्यू", "bcchange8":"कॉपी पता", - "bcchange9":"निजी संदेश" + "bcchange9":"निजी संदेश", + "bcchange10":"अधिक" }, "grouppage":{ "gchange1":"क्वॉर्टल समूह", diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json index 38cf73c1..8b9dca85 100644 --- a/qortal-ui-core/language/hr.json +++ b/qortal-ui-core/language/hr.json @@ -496,7 +496,8 @@ "bcchange6":"Jeste li sigurni da ćete blokirati ovog korisnika?", "bcchange7":"MENI", "bcchange8":"Kopiraj Adresu", - "bcchange9":"Privatna Poruka" + "bcchange9":"Privatna Poruka", + "bcchange10":"Više" }, "grouppage":{ "gchange1":"Qortal Grupe", diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json index 7445c8d8..726cb897 100644 --- a/qortal-ui-core/language/hu.json +++ b/qortal-ui-core/language/hu.json @@ -496,7 +496,8 @@ "bcchange6":"Biztosan letiltod ezt a felhasználót?", "bcchange7":"MENÜ", "bcchange8":"Cím Másolása", - "bcchange9":"Privát Üzenet" + "bcchange9":"Privát Üzenet", + "bcchange10":"Több" }, "grouppage":{ "gchange1":"Qortal Csoportok", diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json index 587a87a3..25748dee 100644 --- a/qortal-ui-core/language/it.json +++ b/qortal-ui-core/language/it.json @@ -496,7 +496,8 @@ "bcchange6":"Sei sicuro di bloccare questo utente?", "bcchange7":"MENÙ", "bcchange8":"Copia Indirizzo", - "bcchange9":"Messaggio Privato" + "bcchange9":"Messaggio Privato", + "bcchange10":"Di più" }, "grouppage":{ "gchange1":"Gruppi Qortal", diff --git a/qortal-ui-core/language/ko.json b/qortal-ui-core/language/ko.json index efc18008..cbb618ca 100644 --- a/qortal-ui-core/language/ko.json +++ b/qortal-ui-core/language/ko.json @@ -496,7 +496,8 @@ "bcchange6":"이 사용자를 차단하시겠습니까?", "bcchange7":"메뉴", "bcchange8":"주소 복사", - "bcchange9":"개인 메시지" + "bcchange9":"개인 메시지", + "bcchange10":"더" }, "grouppage":{ "gchange1":"Qortal 그룹", diff --git a/qortal-ui-core/language/no.json b/qortal-ui-core/language/no.json index a623ef89..3329693a 100644 --- a/qortal-ui-core/language/no.json +++ b/qortal-ui-core/language/no.json @@ -491,7 +491,13 @@ "bcchange1":"blokker", "bcchange2":"Blokkering av denne brukeren vellykket!", "bcchange3":"Det oppstod en feil ved forsøk på å blokkere denne brukeren. Prøv på nytt!", - "bcchange4":"Ingen registrert navn" + "bcchange4":"Ingen registrert navn", + "bcchange5":"Blokker brukerforespørsel", + "bcchange6":"Er du sikker på å blokkere denne brukeren ?", + "bcchange7":"MENY", + "bcchange8":"Kopier adresse", + "bcchange9":"Privat melding", + "bcchange10":"Mer" }, "grouppage":{ "gchange1":"Qortal-grupper", diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index b380d406..9006ec3f 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -496,7 +496,8 @@ "bcchange6":"Czy na pewno chcesz zablokować tego użytkownika?", "bcchange7":"MENU", "bcchange8":"Kopiuj Adres", - "bcchange9":"Prywatna Wiadomość" + "bcchange9":"Prywatna Wiadomość", + "bcchange10":"Więcej" }, "grouppage":{ "gchange1":"Grupy Qortal", diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json index 0513d173..ff0b00cc 100644 --- a/qortal-ui-core/language/pt.json +++ b/qortal-ui-core/language/pt.json @@ -496,7 +496,8 @@ "bcchange6":"Tem certeza de bloquear este usuário?", "bcchange7":"MENU", "bcchange8":"Copiar Endereço", - "bcchange9":"Mensagem Privada" + "bcchange9":"Mensagem Privada", + "bcchange10":"Mais" }, "grouppage":{ "gchange1":"Grupos Qortal", diff --git a/qortal-ui-core/language/ro.json b/qortal-ui-core/language/ro.json index 5cfc955c..d11d4f79 100644 --- a/qortal-ui-core/language/ro.json +++ b/qortal-ui-core/language/ro.json @@ -496,7 +496,8 @@ "bcchange6":"Sunteti sigur ca doriti sa blocati acest utilizator ?", "bcchange7":"MENIU", "bcchange8":"Copiati adresa", - "bcchange9":"Mesaj privat" + "bcchange9":"Mesaj privat", + "bcchange10":"Mai mult" }, "grouppage":{ "gchange1":"Grupuri Qortal Groups", diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json index b4bd0d61..8edfc835 100644 --- a/qortal-ui-core/language/rs.json +++ b/qortal-ui-core/language/rs.json @@ -496,7 +496,8 @@ "bcchange6":"Da li ste sigurni da blokirate ovog korisnika?", "bcchange7":"MENI", "bcchange8":"Kopiraj Adresu", - "bcchange9":"Privatna Poruka" + "bcchange9":"Privatna Poruka", + "bcchange10":"Više" }, "grouppage":{ "gchange1":"Qortal Grupe", diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json index 84d70c7f..f3eb32e4 100644 --- a/qortal-ui-core/language/ru.json +++ b/qortal-ui-core/language/ru.json @@ -491,7 +491,13 @@ "bcchange1":"заблокировать", "bcchange2":"Успешно заблокирован этот пользователь!", "bcchange3":"Произошла ошибка при попытке заблокировать этого пользователя. Повторите попытку!", - "bcchange4":"Нет зарегистрированного имени" + "bcchange4":"Нет зарегистрированного имени", + "bcchange5":"Заблокировать запрос пользователя", + "bcchange6":"Вы уверены, что заблокировали этого пользователя?", + "bcchange7":"МЕНЮ", + "bcchange8":"Копировать адрес", + "bcchange9":"Приватное сообщение", + "bcchange10":"Более" }, "grouppage":{ "gchange1":"Qortal группы", diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index f0f6702a..43891eaf 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -496,7 +496,8 @@ "bcchange6":"Are you sure to block this user ?", "bcchange7":"MENU", "bcchange8":"Copy Address", - "bcchange9":"Private Message" + "bcchange9":"Private Message", + "bcchange10":"More" }, "grouppage":{ "gchange1":"Qortal Groups", diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index 3c8a6871..622f3a70 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -496,7 +496,8 @@ "bcchange6":"你确定要封锁这个用户吗?", "bcchange7":"菜单", "bcchange8":"复制地址", - "bcchange9":"私人信息" + "bcchange9":"私人信息", + "bcchange10":"更多的" }, "grouppage":{ "gchange1":"Qortal 群组", diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index d0abd6c0..9f48df8e 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -496,7 +496,8 @@ "bcchange6":"你確定要封鎖這個用戶嗎?", "bcchange7":"菜單", "bcchange8":"複製地址", - "bcchange9":"私人信息" + "bcchange9":"私人信息", + "bcchange10":"更多的" }, "grouppage":{ "gchange1":"Qortal 群組", diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js b/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js new file mode 100644 index 00000000..c18a6bcc --- /dev/null +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js @@ -0,0 +1,285 @@ +import { css } from 'lit' + +export const chatStyles = css` + html { + --scrollbarBG: #a1a1a1; + --thumbBG: #6a6c75; + } + + *::-webkit-scrollbar { + width: 11px; + } + + * { + scrollbar-width: thin; + scrollbar-color: var(--thumbBG) var(--scrollbarBG); + --mdc-theme-primary: rgb(3, 169, 244); + --mdc-theme-secondary: var(--mdc-theme-primary); + } + + *::-webkit-scrollbar-track { + background: var(--scrollbarBG); + } + + *::-webkit-scrollbar-thumb { + background-color: var(--thumbBG); + border-radius: 6px; + border: 3px solid var(--scrollbarBG); + } + + a { + color: var(--black); + text-decoration: none; + } + + ul { + list-style: none; + margin: 0; + padding: 20px; + } + + .last-message-ref { + position: fixed; + font-size: 20px; + right: 40px; + bottom: 100px; + width: 50; + height: 50; + z-index: 5; + opacity: 0; + color: black; + background-color: white; + border-radius: 50%; + transition: all 0.1s ease-in-out; + } + + .last-message-ref:hover { + cursor: pointer; + transform: scale(1.1); + } + + .chat-list { + overflow-y: auto; + overflow-x: hidden; + height: 92vh; + box-sizing: border-box; + } + + .message-data { + width: 92%; + margin-bottom: 15px; + margin-left: 50px; + } + + .message-data-name { + color: var(--black); + } + + .message-data-time { + color: #a8aab1; + font-size: 13px; + padding-left: 6px; + padding-bottom: 4px; + } + + .message-data-level { + color: #03a9f4; + font-size: 13px; + padding-left: 8px; + padding-bottom: 4px; + } + + .message-container { + position: relative; + } + + .message { + color: black; + padding: 12px 10px; + line-height: 19px; + white-space: pre-line; + word-wrap: break-word; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + font-size: 16px; + border-radius: 7px; + margin-bottom: 20px; + width: 90%; + position: relative; + } + + .message:after { + bottom: 100%; + left: 93%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + white-space: pre-line; + word-wrap: break-word; + pointer-events: none; + border-bottom-color: #ddd; + border-width: 10px; + margin-left: -10px; + } + + .message-parent:hover .chat-hover { + display: block; + } + + .message-parent:hover .message{ + filter:brightness(0.90); + } + + .chat-hover { + display: none; + position: absolute; + top: -38px; + left: 88.2%; + } + + .emoji { + width: 1.7em; + height: 1.5em; + margin-bottom: -2px; + vertical-align: bottom; + object-fit: contain; + } + + .my-message { + background: #d1d1d1; + border: 2px solid #eeeeee; + } + + .my-message:after { + border-bottom-color: #d1d1d1; + left: 7%; + } + + .other-message { + background: #f1f1f1; + border: 2px solid #dedede; + } + + .other-message:after { + border-bottom-color: #f1f1f1; + left: 7%; + } + + .align-left { + text-align: left; + } + + .align-right { + text-align: right; + } + + .float-left { + float: left; + } + + .float-right { + float: right; + } + + .clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } + + img { + border-radius: 25%; + } + + .container { + display: flex; + flex-direction: row; + align-items: center; + gap: 5px; + background-color: white; + border: 1px solid #dad9d9; + border-radius: 5px; + height:100%; + width: 100px; + position: relative; + } + + .menu-icon { + width: 100%; + padding: 5px; + display: flex; + align-items: center; + font-size: 13px; + } + + .menu-icon:hover { + background-color: #dad9d9; + transition: all 0.1s ease-in-out; + cursor: pointer; + } + + .tooltip { + position: relative; + } + + .tooltip:before { + content: attr(data-text); + position: absolute; + top: -47px; + left: 50%; + transform: translateX(-50%); + width: 90px; + padding: 10px; + border-radius: 10px; + background:#fff; + color: #000; + text-align: center; + box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; + font-size: 12px; + z-index: 5; + display: none; + } + + .tooltip:hover:before { + display: block; + } + + .tooltip:after { + content: ""; + position: absolute; + margin-top: -7px; + top: -7px; + border: 10px solid #fff; + border-color: white transparent transparent transparent; + z-index: 5; + display: none; + } + + .tooltip:hover:before, .tooltip:hover:after { + display: block; + } + + .block-user-container { + display: block; + position: absolute; + left: -48px; + } + + .block-user { + justify-content: space-between; + border: 1px solid rgb(218, 217, 217); + border-radius: 5px; + background-color: white; + width: 100%; + height: 32px; + padding: 3px 8px; + box-shadow: rgba(77, 77, 82, 0.2) 0px 7px 29px 0px; + } +` diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js index 51a34b1e..92c95673 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js @@ -3,6 +3,7 @@ import { render } from 'lit/html.js'; import { repeat } from 'lit/directives/repeat.js'; import { translate, get } from 'lit-translate'; import {unsafeHTML} from 'lit/directives/unsafe-html.js'; +import { chatStyles } from './ChatScroller-css.js' import { Epml } from "../../../epml"; import './LevelFounder.js'; import './NameMenu.js'; @@ -27,187 +28,7 @@ class ChatScroller extends LitElement { } } - static get styles() { - return css` - html { - --scrollbarBG: #a1a1a1; - --thumbBG: #6a6c75; - } - - *::-webkit-scrollbar { - width: 11px; - } - - * { - scrollbar-width: thin; - scrollbar-color: var(--thumbBG) var(--scrollbarBG); - --mdc-theme-primary: rgb(3, 169, 244); - --mdc-theme-secondary: var(--mdc-theme-primary); - } - - *::-webkit-scrollbar-track { - background: var(--scrollbarBG); - } - - *::-webkit-scrollbar-thumb { - background-color: var(--thumbBG); - border-radius: 6px; - border: 3px solid var(--scrollbarBG); - } - - a { - color: var(--black); - text-decoration: none; - } - - ul { - list-style: none; - margin: 0; - padding: 20px; - } - - .last-message-ref { - position: fixed; - font-size: 20px; - right: 40px; - bottom: 100px; - width: 50; - height: 50; - z-index: 5; - opacity: 0; - color: black; - background-color: white; - border-radius: 50%; - transition: all 0.1s ease-in-out; - } - - .last-message-ref:hover { - cursor: pointer; - transform: scale(1.1); - } - - .chat-list { - overflow-y: auto; - overflow-x: hidden; - height: 92vh; - box-sizing: border-box; - } - - .message-data { - width: 92%; - margin-bottom: 15px; - margin-left: 50px; - } - - .message-data-name { - color: var(--black); - } - - .message-data-time { - color: #a8aab1; - font-size: 13px; - padding-left: 6px; - padding-bottom: 4px; - } - - .message-data-level { - color: #03a9f4; - font-size: 13px; - padding-left: 8px; - padding-bottom: 4px; - } - - .message { - color: black; - padding: 12px 10px; - line-height: 19px; - white-space: pre-line; - word-wrap: break-word; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - font-size: 16px; - border-radius: 7px; - margin-bottom: 20px; - width: 90%; - position: relative; - } - - .message:after { - bottom: 100%; - left: 93%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - white-space: pre-line; - word-wrap: break-word; - pointer-events: none; - border-bottom-color: #ddd; - border-width: 10px; - margin-left: -10px; - } - - .emoji { - width: 1.7em; - height: 1.5em; - margin-bottom: -2px; - vertical-align: bottom; - object-fit: contain; - } - - .my-message { - background: #d1d1d1; - border: 2px solid #eeeeee; - } - - .my-message:after { - border-bottom-color: #d1d1d1; - left: 7%; - } - - .other-message { - background: #f1f1f1; - border: 2px solid #dedede; - } - - .other-message:after { - border-bottom-color: #f1f1f1; - left: 7%; - } - - .align-left { - text-align: left; - } - - .align-right { - text-align: right; - } - - .float-left { - float: left; - } - - .float-right { - float: right; - } - - .clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } - - img { - border-radius: 25%; - } - ` - } + static styles = [chatStyles] constructor() { super() @@ -223,19 +44,19 @@ class ChatScroller extends LitElement { return html`