#Chat Bar Context Menu
1 messages ยท Page 1 of 1 (latest)
i be messing around
i wanted to do something like this with the user panel buttons but it was beyond me
now add an @media value to make this only appear when the window i ssmall enough

this is really cool
is there a way to exclude some of the buttons from this? like for example leave the emoji button on the chat bar
i had originally wanted to make this with the emoji button still in the bar but that'd require a much more complicated setup
not saying it's impossible but it's more just a very tedious setup that would need completely different styling
if i could've set it up cleanly i would've definitely done that though
wow this is surprisingly only a little bit cursed
and not very laggy for having 3 :has()
Would it be doable to make clicking the 3 dots when the menu is already open close it?
would need js
my version
/*Textarea Patches*/
.form_f75fb0 {
z-index: 0;
}
.base_b88801 {
z-index: -1;
}
.channelTextArea_f75fb0 .scrollableContainer__74017 {
overflow: visible;
}
.channelTextArea_f75fb0 .textArea__74017 {
grid-area: textArea;
height: unset !important;
> div {
max-height: 144px;
overflow: hidden scroll;
&::-webkit-scrollbar {
width: 12px;
height: 12px;
}
&::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track {
background-clip: padding-box;
border: 4px solid transparent;
}
&::-webkit-scrollbar-thumb {
background-color: hsl(var(--primary-800-hsl)/.6);
border-radius: 8px;
}
}
}
/* Context Menu (sichtbar bei Hover) */
.channelTextArea_f75fb0:hover .buttons__74017 {
visibility: visible;
opacity: 1;
pointer-events: all;
transition-delay: 0s;
}
.channelTextArea_f75fb0 .buttons__74017 {
position: absolute;
background: var(--background-surface-high);
background-color: color-mix(var(--background-surface-high) 80%, transparent 20%);
border: 1px solid var(--border-subtle);
backdrop-filter: blur(12px);
border-radius: 12px;
box-shadow: var(--shadow-high);
box-sizing: border-box;
display: flex;
flex-direction: row;
height: fit-content;
gap: 4px;
min-width: 180px;
visibility: hidden;
opacity: 0;
padding: 6px;
top: unset;
bottom: calc(100% - 18px);
right: 12px;
z-index: 10;
> div {
width: 100%;
}
}
.custom-theme-background .channelTextArea_f75fb0 .buttons__74017 {
border-color: var(--border-strong);
}
/* Context Buttons */
.buttonContainer_e6e74f {
width: 100%;
background: none !important;
}
.channelTextArea_f75fb0 .button__74017,
.button_e6e74f {
border-radius: 4px;
box-sizing: border-box;
color: var(--header-primary);
justify-content: left;
flex: 1 1 auto;
padding: 6px;
transition: background .2s ease;
&:hover {
background: var(--background-mod-subtle);
}
&:after {
content: none !important;
}
.lottieIcon__5eb9b,
.iconContainer_c0c49a {
width: 20px !important;
height: 20px !important;
}
.spriteContainer__04eed {
--custom-emoji-sprite-size: 20px !important;
}
.spriteGreyscale__04eed {
background-color: currentColor;
}
}
THIS ! .
I like having buttons
Yoooooooo, thx for the tip man, didn't know that
this doesn't solve the ui issue
Same, but shortcuts are great too to know
sure sure
Is there a valid reason max-height: 144px; is used on the text area?
It messes with your text box if you go to send a large amount of text
I've attached pics of with the line and without
scrollbar moved to the chat area so the context menu can be viewed outside of the textbox
if you don't do that this happens
you can just change the max-height to something else
like 50vh or something idk
Thanks, mine stayed ontop but assume a plugin / theme was messing with this to make it more beneficial
Well if thereโs no max height set on something then the chat bar will eventually start pushing everything out of view
And you canโt have a visible overflow and scroll on the same element so the next best thing is applying the scroller to the text area
pls lmk how to hide the send gift option
small silly oversight
the pop up hides the x button in replies
I use
/* Send a gift button in the chatbox */
.button__74017.button__24af7[aria-label="Send a gift"] {
display: none !important;
}
which is probably not the best since it uses hardcoded button classes. You could change the selector to div[aria-label="Send a gift"] {, but I don't know if that won't pick up some false positives
ah okok thx
Just click very close to the side; the X button is larger than the button menu.
It's difficult to do
Can you position the pop up a bit below or the x button a bit up during replies?
To be honest, it doesn't bother me.
Alright then ๐
You can generally move the popup.
/* Context Menu */
.channelTextArea_f75fb0:hover .buttons__74017 {
visibility: visible;
opacity: 1;
pointer-events: all;
transition-delay: 0s;
}
.channelTextArea_f75fb0 .buttons__74017 {
position: absolute;
background: var(--background-surface-high);
background-color: color-mix(var(--background-surface-high) 80%, transparent 20%);
border: 1px solid var(--border-subtle);
backdrop-filter: blur(12px);
border-radius: 12px;
box-shadow: var(--shadow-high);
box-sizing: border-box;
display: flex;
flex-direction: row;
height: fit-content;
gap: 4px;
min-width: 180px;
visibility: hidden;
opacity: 0;
padding: 6px;
top: unset;
<------------ here ------------->
bottom: calc(100% - 18px);
right: 12px;
<----------------------->
z-index: 10;
> div {
width: 100%;
}
}
You could just make it so it only shows when hovering over the textbox not the reply thing
/* Context Menu (sichtbar bei Hover) */
.channelTextArea_f75fb0>.scrollableContainer__74017:hover .buttons__74017 {
visibility: visible;
opacity: 1;
pointer-events: all;
transition-delay: 0s;
}
so replace this part
ah I see
thank you both 
also just not looked at what this does
it's nice
anyone had an issue where the snippet works but u cant see the 3 dots?
i checked to see if it was something in my theme colliding with it by disabling my theme and using quick css but it still just makes the button disappear
weird thing
it stopped working for me too
CurrentColor is probably not working correctly.
It's broken here too now. I was able to overwrite the Discord own colors with a fixed color, but I have no idea how to do the others.
out of curiosity whatโs the latency for?
It shows how long it took to load the messages for this channel.
But I don't know, it's not my plugin.
I have fixed this for now.
Umm, what have I done?
Fixed Version from me
/*Textarea Patches*/
.form_f75fb0 {
z-index: 0;
}
.base_b88801 {
z-index: -1;
}
.channelTextArea_f75fb0 .scrollableContainer__74017 {
overflow: visible;
}
.channelTextArea_f75fb0 .textArea__74017 {
grid-area: textArea;
height: unset !important;
> div {
max-height: 144px;
overflow: hidden scroll;
&::-webkit-scrollbar {
width: 12px;
height: 12px;
}
&::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track {
background-clip: padding-box;
border: 4px solid transparent;
}
&::-webkit-scrollbar-thumb {
background-color: hsl(var(--primary-800-hsl)/.6);
border-radius: 8px;
}
}
}
/* Context Menu (sichtbar bei Hover) */
.channelTextArea_f75fb0>.scrollableContainer__74017:hover .buttons__74017 {
visibility: visible;
opacity: 1;
pointer-events: all;
transition-delay: 0s;
}
.channelTextArea_f75fb0 .buttons__74017 {
position: absolute;
background: var(--background-surface-high);
background-color: color-mix(var(--background-surface-high) 80%, transparent 20%);
border: 1px solid var(--border-subtle);
backdrop-filter: blur(12px);
border-radius: 12px;
box-shadow: var(--shadow-high);
box-sizing: border-box;
display: flex;
flex-direction: row;
height: fit-content;
gap: 4px;
min-width: 180px;
visibility: hidden;
opacity: 0;
padding: 6px;
top: unset;
bottom: calc(100% - 18px);
right: 12px;
z-index: 10;
> div {
width: 100%;
}
}
.custom-theme-background .channelTextArea_f75fb0 .buttons__74017 {
border-color: var(--border-strong);
}
/* Context Buttons */
.buttonContainer_e6e74f {
width: 100%;
background: none !important;
}
.custom-theme-background .channelTextArea_f75fb0 .buttons__74017 {
border-color: var(--border-strong);
}
.channelTextArea_f75fb0 .button__74017, .button_e6e74f {
border-radius: 4px;
box-sizing: border-box;
color: var(--text-subtle);
justify-content: left;
flex: 1 1 auto;
padding: 8px;
transition: none;
&:hover {
background: var(--background-mod-subtle);
}
.lottieIcon__5eb9b, .iconContainer_c0c49a {
width: 24px !important;
height: 24px !important;
}
.spriteContainer__04eed {
--custom-emoji-sprite-size: 24px !important;
}
.spriteGreyscale__04eed {
background-color: var(--text-subtle);
}
}```
this should be using the new color variables now
not working at all now
tried it in a theme file and in quick css
stable client can't use it yet, only ptb and canary
ah ok
Is there a way to remove the bar between the "Open sticker picker" and "Apps" options in the context menu?
Many CSS things are no longer working for me.
and it's absolutely terrifying to use.
this causes you to be unable to cl,ick on the chatbar to move the text cursor or highlight text
is there any way to close the menu after opening it? Maybe create an invisible div encasing the button, menu, and surrounding area that has a hover trigger so the menu gets hidden after moving the cursor off?
you can't create a div with css
everything is on fire and sucks...
yea dont work for me
will this snippet be updated?
/*Textarea Patches*/
.form_f75fb0 {
z-index: 0;
}
.base_b88801 {
z-index: -1;
}
.channelTextArea_f75fb0 .scrollableContainer__74017 {
overflow: visible;
}
.channelTextArea_f75fb0 .textArea__74017 {
grid-area: textArea;
height: unset !important;
>div {
max-height: 144px;
overflow: hidden scroll;
&::-webkit-scrollbar {
width: 12px;
height: 12px;
}
&::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track {
background-clip: padding-box;
border: 4px solid transparent;
}
&::-webkit-scrollbar-thumb {
background-color: hsl(var(--primary-800-hsl)/.6);
border-radius: 8px;
}
}
}
/* Context Menu (sichtbar bei Hover) */
.channelTextArea_f75fb0>.scrollableContainer__74017:hover .buttons__74017 {
visibility: visible;
opacity: 1;
pointer-events: all;
transition-delay: 0s;
}
.channelTextArea_f75fb0 .buttons__74017 {
position: absolute;
background: var(--background-surface-high);
background-color: color-mix(var(--background-surface-high) 80%, transparent 20%);
border: 1px solid var(--border-subtle);
backdrop-filter: blur(12px);
border-radius: 12px;
box-shadow: var(--shadow-high);
box-sizing: border-box;
display: flex;
flex-direction: row;
height: fit-content;
gap: 4px;
min-width: 180px;
visibility: hidden;
opacity: 0;
padding: 6px;
top: unset;
bottom: calc(100% - 18px);
right: 12px;
z-index: 10;
>div {
width: 100%;
}
}
.custom-theme-background .channelTextArea_f75fb0 .buttons__74017 {
border-color: var(--border-strong);
}
/* Context Buttons */
.buttonContainer_e6e74f {
width: 100%;
background: none !important;
}
.custom-theme-background .channelTextArea_f75fb0 .buttons__74017 {
border-color: var(--border-strong);
}
.channelTextArea_f75fb0 .button__74017,
.button_e6e74f {
border-radius: 4px;
box-sizing: border-box;
color: var(--text-subtle);
justify-content: left;
flex: 1 1 auto;
padding: 8px;
transition: none;
&:hover {
background: var(--background-mod-subtle);
}
.lottieIcon__5eb9b,
.iconContainer_c0c49a {
width: 24px !important;
height: 24px !important;
}
.spriteContainer__04eed {
--custom-emoji-sprite-size: 24px !important;
}
.spriteGreyscale__04eed {
background-color: var(--text-subtle);
}
}```
welll, it aint perfect but it does the job lol
i... placed the original back in after fiddling with others for a while n now it just works... I LITERALLY TRIED THE SAME THING EARLIER i cant......