feat: add Mixue icon#489
Conversation
Greptile SummaryThis PR adds Mixue (蜜雪冰城 / Mixue Bingcheng) to the brand icon catalog, contributing two SVG assets — a full-color default icon and a red-only wordmark — plus the corresponding
Confidence Score: 4/5The JSON entry has a data-consistency issue with guidelines being an empty string instead of null, deviating from the uniform convention across the entire catalog. The "guidelines": "" value is the only field in the entire 5,000+ entry catalog that uses an empty string where null is the established convention; any typed schema or downstream consumer that distinguishes between the two will treat this entry incorrectly. src/data/icons.json — the guidelines field and indentation need correction before merge.
|
| Filename | Overview |
|---|---|
| src/data/icons.json | Adds Mixue entry; guidelines uses empty string instead of null (breaking the catalog-wide convention), and indentation uses tabs instead of the 2-space standard used by all surrounding entries. |
| public/icons/mixue/default.svg | New multi-color icon SVG using colors #e60012, #0b318f, #f39800, #fac02c, #231815, and #ffffff; contains 4 levels of no-attribute <g> nesting with no semantic value. |
| public/icons/mixue/wordmark.svg | New wordmark SVG using exclusively #e60012 (Mixue brand red) for all paths — confirms the brand primary color is red, not black. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PR: feat/add-mixue-icon] --> B[src/data/icons.json\nNew catalog entry]
A --> C[public/icons/mixue/default.svg\nMulti-color icon]
A --> D[public/icons/mixue/wordmark.svg\nRed-only wordmark]
B --> E{Field checks}
E --> F["slug: mixue ✅"]
E --> G["hex: 000000 ❌\n(should be e60012)"]
E --> H["guidelines: '' ❌\n(should be null)"]
E --> I["indentation: tabs ❌\n(should be 2-space)"]
C --> J["Colors: #e60012, #0b318f,\n#f39800, #fac02c,\n#231815, #ffffff"]
D --> K["Color: #e60012 only\n(confirms brand red)"]
Reviews (2): Last reviewed commit: "Update public/icons/mixue/default.svg" | Re-trigger Greptile
| { | ||
| "slug": "mixue", | ||
| "title": "Mixue", | ||
| "aliases": [ | ||
| "Mixue Ice Cream & Tea", | ||
| "Mixue Bingcheng", | ||
| "蜜雪冰城" | ||
| ], | ||
| "hex": "000000", | ||
| "categories": [ | ||
| "Food & Beverage" | ||
| ], | ||
| "variants": { | ||
| "default": "/icons/mixue/default.svg", | ||
| "wordmark": "/icons/mixue/wordmark.svg" | ||
| }, | ||
| "license": "CC0-1.0", | ||
| "url": "https://www.mxbc.com", | ||
| "guidelines": "", | ||
| "dateAdded": "2026-06-04", | ||
| "collection": "brands" | ||
| }, | ||
| { | ||
| "slug": "mjml", | ||
| "title": "MJML", |
There was a problem hiding this comment.
The hex value is "000000" (pure black), but the Mixue SVG assets use a completely different palette. The wordmark SVG uses only #e60012 (red) throughout every path, making red the clear primary brand color. The PR description's table also left the hex field blank, which likely means it was filled in as a fallback. Using 000000 here will cause any downstream consumers that render icon swatches or tint icons using the hex field to display pure black instead of Mixue's actual brand red.
| { | ||
| "slug": "mixue", | ||
| "title": "Mixue", | ||
| "aliases": [ | ||
| "Mixue Ice Cream & Tea", | ||
| "Mixue Bingcheng", | ||
| "蜜雪冰城" | ||
| ], | ||
| "hex": "000000", | ||
| "categories": [ | ||
| "Food & Beverage" | ||
| ], | ||
| "variants": { | ||
| "default": "/icons/mixue/default.svg", | ||
| "wordmark": "/icons/mixue/wordmark.svg" | ||
| }, | ||
| "license": "CC0-1.0", | ||
| "url": "https://www.mxbc.com", | ||
| "guidelines": "", | ||
| "dateAdded": "2026-06-04", | ||
| "collection": "brands" | ||
| }, | ||
| { | ||
| "slug": "mjml", |
There was a problem hiding this comment.
Tabs mixed with spaces (indentation inconsistency)
The entire new object is indented with a leading tab character, while every other entry in the file uses 2-space indentation. This will show up as whitespace noise in future diffs and may break any JSON linter or formatter configured for the project. The outer { and all nested keys/values should use 2-space indentation to match the surrounding entries (e.g., {, "slug": "mixue", etc.).
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Onboards Mixue (https://www.mxbc.com) to the brand catalog.
000000