fix: replace emoji characters with SVG icons in buttons and labels
All checks were successful
Lint & Test / test (push) Successful in 1m19s

- Endpoint copy buttons: 📋 → ICON_CLONE (3 places)
- Scene preset "used by": 🔗 → ICON_LINK
- Automation webhook condition: 🔗 → ICON_WEB
- Add "No Emoji" rule to contexts/frontend.md
This commit is contained in:
2026-03-25 13:16:46 +03:00
parent 9a3433a733
commit d9cb1eb225
5 changed files with 18 additions and 8 deletions

View File

@@ -32,6 +32,16 @@ Defined in `server/src/wled_controller/static/css/base.css`.
| `--success-color` | `#28a745` | `#2e7d32` | Success indicators |
| `--shadow-color` | `rgba(0,0,0,0.3)` | `rgba(0,0,0,0.12)` | Box shadows |
## Icons — No Emoji (IMPORTANT)
**NEVER use emoji characters (`🔗`, `📋`, `🔍`, etc.) in buttons, labels, or card metadata.** Always use SVG icons from `core/icons.ts` (which wraps Lucide icon paths from `core/icon-paths.ts`).
- Import the constant: `import { ICON_CLONE } from '../core/icons.ts'`
- Use in template literals: `` `<button class="btn btn-icon">${ICON_CLONE}</button>` ``
- To add a new icon: copy inner SVG elements from [Lucide](https://lucide.dev) into `icon-paths.ts`, then export a named constant in `icons.ts`
Emoji render inconsistently across OS, break monochrome icon themes, and cannot be styled with CSS `color`/`stroke`.
## UI Conventions for Dialogs
### Hints