Skip to content

feat: implement server sidebar in EmojiPicker#1250

Open
Asraye wants to merge 2 commits into
stoatchat:mainfrom
Asraye:feat/emoji-server-sidebar
Open

feat: implement server sidebar in EmojiPicker#1250
Asraye wants to merge 2 commits into
stoatchat:mainfrom
Asraye:feat/emoji-server-sidebar

Conversation

@Asraye

@Asraye Asraye commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Uses the non-functional server sidebar, and makes it functional.

  • Changed the section headers (type: [0, 3]) to use position: "absolute" and width: "100%". Without this, the virtualizer kept trying to treat the headers like emojis (lol)
  • crossAxisCount needed to change or else everything rendered off-centre. Column's being ten didn't fit correctly (honestly, could work better as const COLUMNS = 8;
  • CompositionMediaPicker.tsx change was needed to prevent the window closing when selecting a server
    • Similiar changes to prevent window closing were made on L:242
        onClick={(e) => {
      e.stopPropagation();
      props.onClick(e);
    }}

Closes #979

How was this PR tested?

Screenshots & Screencasts (if appropriate)

EmojiSidebar.mp4

Checklist:

  • I have carefully read the contributing guidelines
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR
  • I have confirmed that any new dependencies are strictly necessary
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code

Please declare, if any, LLM usage involved in creating this PR

None
...

Uses the non-functional server sidebar, and makes it functional.

Signed-off-by: AsrayeDev <asrayeofficial@gmail.com>
@Asraye Asraye requested review from a team as code owners June 2, 2026 17:34

@Dadadah Dadadah left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Please make the gap at the red arrow match the gap at the green arrow. Also, if you can find an easy way to do it, please reduce the blue gap a few pixels. Reducing the blue gap should make 9 emojis fit in the picker a bit better.

After these changes, we can send this to UI review.

Signed-off-by: AsrayeDev <asrayeofficial@gmail.com>
@Asraye

Asraye commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author
image

@Dadadah Managed to adjust it to actually fit the original ten emojis a lot more snugly, as well as did the other thing's you requested. I also noticed the serverRail was hugging the side way too much so I've made it more central between the emojis & the side, which looks a lot better.

@Asraye Asraye requested a review from Dadadah June 4, 2026 17:02
@Dadadah

Dadadah commented Jun 4, 2026

Copy link
Copy Markdown
Member

Looks good, I am concerned the emojis may be too small now, but we'll see what UI/UX thinks.

measurements.container.cross / measurements.itemSize.cross,
)
}
itemSize={{ height: 35, width: 35 }}

@Pecacheu Pecacheu Jun 14, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @Dadadah that the icons are too small now, but more importantly the new size makes icons blurry on high-DPI displays. The previous icons with a container size of 40x40 rendered at exactly 32x32, of which the full size 128x128 is a multiple. Now with the new container size of 35x35 they are rendering at the bizarre size of 27x27, causing blurriness.

Also you may need to make the entire emoji picker slightly wider to make it fit an exact number of icons edge-to-edge as before, but it sounds like Dadadah would like it a bit wider anyhow: #1255

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ability to jump to a server's emoji in the emoji picker

5 participants