Skip to content

feat(app): pick any bot color - #131

Merged
httpsphl merged 1 commit into
mainfrom
feat/custom-bot-color
Oct 2, 2026
Merged

httpsphl merged 1 commit into
mainfrom
feat/custom-bot-color

Conversation

@httpsphl

@httpsphl httpsphl commented Oct 2, 2026

Copy link
Copy Markdown
Owner

What

  • The avatar palette grows from 8 to 16 colors (red, blue, magenta, green, tangerine, slate, brown, snow appended), so existing bots keep theirs and the daemon's auto-assign order only changes after the 8th bot.
  • New Pick any color button after the swatches in the create/edit bot dialog opens a free picker: saturation/brightness square (pointer or arrow keys, Shift for bigger steps), hue slider, and the color as hex and R, G, B. All of them edit the same color.
  • A bot whose color is outside the palette opens the dialog with the picker already open.
  • Strings in en, pt-BR and es; spec 15.3 updated.

The daemon already accepted any #RRGGBB (normalize_color), so no protocol change beyond the generated AVATAR_PALETTE.

Tests

  • color.test.tsx: hex/RGB/HSV round-trip for every palette color, hex parsing, saving a hex color and an R/G/B color through the dialog, a custom color reopening with the picker.
  • pnpm check, cargo fmt, clippy -D warnings, cargo test -p botloft-core pass locally.
  • Checked in the browser preview: the square, hue and fields move together and the custom button shows the mascot in the picked color.

No real Claude Code involved.

The palette grows from 8 to 16 colors, appended so bots that already took
the first eight keep them. "Pick any color" opens a saturation/brightness
square, a hue slider and hex plus R, G, B fields; the daemon already took
any #RRGGBB.
@httpsphl
httpsphl enabled auto-merge October 2, 2026 22:01
@httpsphl httpsphl mentioned this pull request Oct 2, 2026
@httpsphl
httpsphl merged commit 1dd882f into main Oct 2, 2026
4 checks passed
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.

1 participant