#Chat Bar Context Menu

1 messages ยท Page 1 of 1 (latest)

humble cloak
#

how the actual fuck dav

onyx canyon
#

i be messing around

quasi dragon
#

you are jesus christ

#

๐Ÿ™ ๐Ÿ™ ๐Ÿ™

supple wave
#

i wanted to do something like this with the user panel buttons but it was beyond me

humble cloak
#

now add an @media value to make this only appear when the window i ssmall enough

onyx canyon
white temple
#

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

onyx canyon
#

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

white temple
#

yeah cause rn it modifies the existing container right

#

I see that's a shame

onyx canyon
#

if i could've set it up cleanly i would've definitely done that though

brittle drum
#

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?

junior laurel
#

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;
  }
}
quasi dragon
#

use ctrl e/g/s

#

@white temple @exotic belfry

white temple
#

I like having buttons

exotic belfry
#

Yoooooooo, thx for the tip man, didn't know that

white temple
#

this doesn't solve the ui issue

exotic belfry
white temple
#

sure sure

obsidian kernel
#

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

onyx canyon
#

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

obsidian kernel
#

Thanks, mine stayed ontop but assume a plugin / theme was messing with this to make it more beneficial

onyx canyon
#

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

copper roost
#

pls lmk how to hide the send gift option

copper roost
#

the pop up hides the x button in replies

coarse nimbus
# copper roost pls lmk how to hide the send gift option

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

copper roost
#

ah okok thx

junior laurel
copper roost
#

Can you position the pop up a bit below or the x button a bit up during replies?

junior laurel
#

To be honest, it doesn't bother me.

copper roost
#

Alright then ๐Ÿ‘

junior laurel
copper roost
#

Huh... How?

#

I'd like to do it if you lmk how to do it

junior laurel
#

/* 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%;
  }
}

brittle drum
# copper roost the pop up hides the x button in replies

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

junior laurel
#

Another possibility

#

Even better than mine

copper roost
#

ah I see

brittle drum
copper roost
#

yep

#

I like it too

gentle edge
#

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

junior laurel
#

weird thing

quasi dragon
junior laurel
#

CurrentColor is probably not working correctly.

onyx canyon
#

Most likely scenario

#

Iโ€™ll have to check it out

junior laurel
#

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.

gentle edge
junior laurel
#

But I don't know, it's not my plugin.

brisk iris
junior laurel
#

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);
  }
}```
onyx canyon
#

this should be using the new color variables now

gentle edge
#

tried it in a theme file and in quick css

onyx canyon
#

stable client can't use it yet, only ptb and canary

broken jungle
#

Is there a way to remove the bar between the "Open sticker picker" and "Apps" options in the context menu?

junior laurel
#

Many CSS things are no longer working for me.

#

and it's absolutely terrifying to use.

prisma nacelle
#

this causes you to be unable to cl,ick on the chatbar to move the text cursor or highlight text

grizzled plover
#

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?

brittle drum
terse breach
#

everything is on fire and sucks...
yea dont work for me

sweet nymph
#

will this snippet be updated?

junior laurel
#

Not by me

#

I can only try it

junior laurel
#
/*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);
    }
}```
terse breach
#

welll, it aint perfect but it does the job lol

terse breach
#

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......