openpencil/openspec/specs/shared-text-utils/spec.md
Anton Soldatov 168c25c189
feat: mobile layout, PWA support (#27) (#27)
- Mobile-responsive editor with bottom drawer, ribbon nav, HUD overlay
- Touch support: single-finger tools, two-finger pinch-zoom
- PWA: manifest, service worker, installability
- Extract LayerTree from LayersPanel, shared utils (colorToCSS, initials, toolIcons)
- Constants moved to src/constants.ts, clipboard state to editor store
- reka-ui Popover/DropdownMenu in MobileHud

Co-authored-by: Danila Poyarkov <dev@dannote.net>
2026-03-05 19:51:51 +03:00

17 lines
554 B
Markdown

## ADDED Requirements
### Requirement: initials utility in src/utils/text.ts
The `initials` function SHALL be exported from `src/utils/text.ts`. It SHALL take a name string and return up to 2 uppercase initials, falling back to `"?"` for empty input.
#### Scenario: Two-word name
- **WHEN** `initials("John Doe")` is called
- **THEN** it returns `"JD"`
#### Scenario: Single word
- **WHEN** `initials("Alice")` is called
- **THEN** it returns `"A"`
#### Scenario: Empty string fallback
- **WHEN** `initials("")` is called
- **THEN** it returns `"?"`