diff --git a/assets/chat/css/chat/_toolbar.scss b/assets/chat/css/chat/_toolbar.scss index b325eb5c..7fe14f99 100644 --- a/assets/chat/css/chat/_toolbar.scss +++ b/assets/chat/css/chat/_toolbar.scss @@ -12,6 +12,7 @@ $toolbar-icons-map: ( display: flex; position: relative; user-select: none; + margin: 0 -0.25em; } .chat-tools-group { diff --git a/assets/chat/css/menus/_emote-tooltip.scss b/assets/chat/css/menus/_emote-tooltip.scss index 6f3f605b..c922bb69 100644 --- a/assets/chat/css/menus/_emote-tooltip.scss +++ b/assets/chat/css/menus/_emote-tooltip.scss @@ -45,12 +45,14 @@ transition: background-color 500ms; height: 20px; aspect-ratio: 1; - mask: url('../img/icon-favorite.svg'); + mask-size: 20px; + mask-image: url('../img/icon-favorite.svg'); background-color: a.$text-color2; } &.favorited .btn-icon { - mask: url('../img/icon-favorite-fill.svg'); + mask-size: 20px; + mask-image: url('../img/icon-favorite-fill.svg'); } &:hover .btn-icon { diff --git a/assets/chat/css/menus/_user-info.scss b/assets/chat/css/menus/_user-info.scss index b1129101..d91a0c80 100644 --- a/assets/chat/css/menus/_user-info.scss +++ b/assets/chat/css/menus/_user-info.scss @@ -7,6 +7,7 @@ $toolbar-icons-map: ( 'whisper': 'whispers', 'ignore': 'ignore', 'unignore': 'unignore', + 'rustle': 'rustle', ); #chat-user-info { @@ -57,6 +58,9 @@ $toolbar-icons-map: ( } } + width: 2.75em; + height: 2.75em; + @each $id, $icon in $toolbar-icons-map { #{$id}-user-btn .btn-icon { @include a.icon-background('../img/icon-#{$icon}.svg'); diff --git a/assets/chat/css/style.scss b/assets/chat/css/style.scss index 64d9fe72..b9e5912a 100644 --- a/assets/chat/css/style.scss +++ b/assets/chat/css/style.scss @@ -103,12 +103,12 @@ hr { .tippy-box[data-theme~='dgg'] { text-align: center; - background-color: white; - color: #000; + background-color: a.$color-surface-dark4; + color: a.$color-chat-text1; } .tippy-box[data-theme~='dgg'] > .tippy-svg-arrow { - fill: white; + fill: a.$color-surface-dark4; } /* Small screen, non-retina */ diff --git a/assets/chat/img/icon-ban.svg b/assets/chat/img/icon-ban.svg index 019f12ef..60d6c784 100644 --- a/assets/chat/img/icon-ban.svg +++ b/assets/chat/img/icon-ban.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-close.svg b/assets/chat/img/icon-close.svg index 765ce09c..3d214cb1 100644 --- a/assets/chat/img/icon-close.svg +++ b/assets/chat/img/icon-close.svg @@ -1,4 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-emotes.svg b/assets/chat/img/icon-emotes.svg index a3a27d43..931fd6d8 100644 --- a/assets/chat/img/icon-emotes.svg +++ b/assets/chat/img/icon-emotes.svg @@ -1,4 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-favorite-fill.svg b/assets/chat/img/icon-favorite-fill.svg index 94cb9592..6d32cb6f 100644 --- a/assets/chat/img/icon-favorite-fill.svg +++ b/assets/chat/img/icon-favorite-fill.svg @@ -1,4 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-favorite.svg b/assets/chat/img/icon-favorite.svg index f4176b52..084e3750 100644 --- a/assets/chat/img/icon-favorite.svg +++ b/assets/chat/img/icon-favorite.svg @@ -1,4 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-ignore.svg b/assets/chat/img/icon-ignore.svg index 9c378868..af80724e 100644 --- a/assets/chat/img/icon-ignore.svg +++ b/assets/chat/img/icon-ignore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-lock.svg b/assets/chat/img/icon-lock.svg index b7ef390c..56ca56f9 100644 --- a/assets/chat/img/icon-lock.svg +++ b/assets/chat/img/icon-lock.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-logs.svg b/assets/chat/img/icon-logs.svg index 2af06e34..9b23aff4 100644 --- a/assets/chat/img/icon-logs.svg +++ b/assets/chat/img/icon-logs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-mute.svg b/assets/chat/img/icon-mute.svg index 45c91387..8d25cf43 100644 --- a/assets/chat/img/icon-mute.svg +++ b/assets/chat/img/icon-mute.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-open-in-new.svg b/assets/chat/img/icon-open-in-new.svg deleted file mode 100644 index 13f0cd4c..00000000 --- a/assets/chat/img/icon-open-in-new.svg +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/assets/chat/img/icon-pin.svg b/assets/chat/img/icon-pin.svg index e96113ff..fc910344 100644 --- a/assets/chat/img/icon-pin.svg +++ b/assets/chat/img/icon-pin.svg @@ -1,4 +1 @@ - - + \ No newline at end of file diff --git a/assets/chat/img/icon-rustle.svg b/assets/chat/img/icon-rustle.svg new file mode 100644 index 00000000..ef6b1bd4 --- /dev/null +++ b/assets/chat/img/icon-rustle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/chat/img/icon-settings.svg b/assets/chat/img/icon-settings.svg index aa870ff9..5f45db06 100644 --- a/assets/chat/img/icon-settings.svg +++ b/assets/chat/img/icon-settings.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-share.svg b/assets/chat/img/icon-share.svg index af15296d..3d9a7597 100644 --- a/assets/chat/img/icon-share.svg +++ b/assets/chat/img/icon-share.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-unignore.svg b/assets/chat/img/icon-unignore.svg index 35acc10f..d4741791 100644 --- a/assets/chat/img/icon-unignore.svg +++ b/assets/chat/img/icon-unignore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-unpin.svg b/assets/chat/img/icon-unpin.svg index a9e4f843..d59ff8f7 100644 --- a/assets/chat/img/icon-unpin.svg +++ b/assets/chat/img/icon-unpin.svg @@ -1,5 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-users.svg b/assets/chat/img/icon-users.svg index 81db5a65..b94f2296 100644 --- a/assets/chat/img/icon-users.svg +++ b/assets/chat/img/icon-users.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-watching.svg b/assets/chat/img/icon-watching.svg index 35acc10f..d4741791 100644 --- a/assets/chat/img/icon-watching.svg +++ b/assets/chat/img/icon-watching.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-whisper.svg b/assets/chat/img/icon-whisper.svg index 9c9b2237..177a0c6b 100644 --- a/assets/chat/img/icon-whisper.svg +++ b/assets/chat/img/icon-whisper.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/img/icon-whispers.svg b/assets/chat/img/icon-whispers.svg index 72351a73..82ff56db 100644 --- a/assets/chat/img/icon-whispers.svg +++ b/assets/chat/img/icon-whispers.svg @@ -1,2 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/assets/chat/js/chat.js b/assets/chat/js/chat.js index fe71483b..00e6ee87 100644 --- a/assets/chat/js/chat.js +++ b/assets/chat/js/chat.js @@ -299,9 +299,9 @@ class Chat { })(); // Tooltips + tippy.setDefaultProps({ delay: [500, 0] }); tippy('[data-tippy-content]', { arrow: roundArrow, - delay: 0, duration: 0, maxWidth: 250, hideOnClick: false, diff --git a/assets/chat/js/formatters/UrlFormatter.js b/assets/chat/js/formatters/UrlFormatter.js index ebc694ac..e103c9f2 100644 --- a/assets/chat/js/formatters/UrlFormatter.js +++ b/assets/chat/js/formatters/UrlFormatter.js @@ -46,7 +46,7 @@ export default class UrlFormatter { const embedTarget = chat.isBigscreenEmbed() ? '_top' : '_blank'; const embedUrl = `${chat.config.dggOrigin}${chat.bigscreenPath}${embedHashLink}`; return embedHashLink - ? `${urlText}` + ? `${urlText}` : `${urlText}${extra}`; } return url; diff --git a/assets/chat/js/menus/ChatUserInfoMenu.js b/assets/chat/js/menus/ChatUserInfoMenu.js index 088f16d1..d97f366c 100644 --- a/assets/chat/js/menus/ChatUserInfoMenu.js +++ b/assets/chat/js/menus/ChatUserInfoMenu.js @@ -34,6 +34,7 @@ export default class ChatUserInfoMenu extends ChatMenuFloating { this.whisperUserBtn = this.ui.find('#whisper-user-btn'); this.ignoreUserBtn = this.ui.find('#ignore-user-btn'); this.unignoreUserBtn = this.ui.find('#unignore-user-btn'); + this.rustleUserBtn = this.ui.find('#rustle-user-btn'); this.actionInputs = this.ui.find('#action-durations'); this.muteDurations = ['1m', '10m', '1h', '1d']; @@ -155,6 +156,11 @@ export default class ChatUserInfoMenu extends ChatMenuFloating { this.ignoreUserBtn.toggleClass('hidden', false); this.unignoreUserBtn.toggleClass('hidden', true); } + + this.rustleUserBtn.attr( + 'href', + `https://rustlesearch.dev/?username=${encodeURIComponent(this.clickedNick)}`, + ); } setInputVisibility(button) { diff --git a/assets/chat/js/menus/ChatUserMenu.js b/assets/chat/js/menus/ChatUserMenu.js index 788c6bef..cfc54ceb 100644 --- a/assets/chat/js/menus/ChatUserMenu.js +++ b/assets/chat/js/menus/ChatUserMenu.js @@ -1,5 +1,6 @@ import $ from 'jquery'; import { debounce } from 'throttle-debounce'; +import tippy, { roundArrow } from 'tippy.js'; import ChatMenu from './ChatMenu'; import ChatUser from '../user'; @@ -244,8 +245,18 @@ export default class ChatUserMenu extends ChatMenu { const features = user.features.length === 0 ? 'nofeature' : user.features.join(' '); const usr = $( - `