← 输入框|github.com|刷新
Skip to content

api | web: let teams upload custom icons and use an up-down chevron - #11

Merged
yekta merged 1 commit into
masterfrom
feat/team-icon-uploads
Oct 17, 2026
Merged

yekta merged 1 commit into
masterfrom
feat/team-icon-uploads

Conversation

@yekta

@yekta yekta commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Teams can now set their own icon. The team switcher now uses an up-down chevron.

Icon storage

  • Teams can upload an SVG, PNG or JPEG icon of up to 50 KB.
  • Icons are stored in Postgres in a new team_icons table, with one row per team. The row is unique on team_id and is removed with ON DELETE CASCADE when its team is deleted.
  • New migration: 20261016222621_team_icons.sql.
  • The team response, the OpenAPI spec and the generated web client now include the icon. The team docs were updated.

How icons look

  • A team with no uploaded icon shows the first letter of its name in a circle: the background uses the text color and the letter uses the background color.
  • An uploaded icon is cropped to a circle with a border.
  • The icon shows in the navbar, the team switcher and the mobile sheet.

Team settings

  • The general tab now has two cards:
    • Team Details, with regular inputs for name and description
    • Team Avatar, where hovering over or pressing the avatar shows an edit control
  • Both cards use a new shared SettingsCard, which puts the save action in the footer like the variables section does. The rename card on the project settings page uses it too.

Testing

  • Added unit tests for the team icon repository (repositories/team/icon_test.go).
  • Added unit tests for icon file validation (services/team/icon_file_test.go).
  • Regenerated the repository mocks.

… chevron

- Teams can upload an SVG, PNG or JPEG icon of up to 50 KB. It is stored in Postgres in a separate team_icons table, one row per team, and the row is deleted along with its team.
- A team with no uploaded icon shows the first letter of its name in a circle. An uploaded icon is cropped to a circle with a border.
- The icon shows in the navbar, the team switcher and the mobile sheet. The switcher now uses an up-down chevron.
- The general tab in team settings now has a Team Details card (name and description) and a Team Avatar card. Both use a shared settings card with the save action in the footer. The avatar card shows an edit control when you hover over or press the avatar.
@yekta
yekta merged commit 44f5da5 into master Oct 17, 2026
8 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