refactor(devices): close all MED/LOW review items

- Extract DEVICE_ALIAS_MAX_LENGTH to src/constants/devices.ts so the
  user page and admin page share one source of truth (mirroring the
  bot's ALIAS_MAX_LENGTH=64). Was duplicated as a magic 64 in both
  files (MED-5).
- Replace ✓ / ✕ / ✏️ glyphs in AdminUserDetail.tsx with inline SVGs,
  matching the icon style already used by Subscription.tsx for the
  same rename/save/cancel actions. Eliminates the platform-dependent
  emoji rendering inconsistency (MED-4).
- Add haptic feedback to the user-side renameDeviceMutation —
  notification('success') on save, notification('error') on failure.
  Brings it in line with the other Subscription.tsx mutations
  (LOW-9).
- Translate the new rename keys into zh.json and fa.json (en.json
  already covered in the previous follow-up). Cabinet now ships full
  parity across all 4 locales for the rename UI.
This commit is contained in:
Fringg
2026-05-16 04:07:25 +03:00
parent d1e5ce873b
commit e964780e6f
5 changed files with 88 additions and 10 deletions

8
src/constants/devices.ts Normal file
View File

@@ -0,0 +1,8 @@
/**
* Maximum length of a user-set local device alias.
*
* Mirrors `ALIAS_MAX_LENGTH` in the bot's `user_device_aliases` table.
* Keep this value in sync with `app/database/crud/user_device_alias.py`
* (Python side enforces it at the DB column width AND at the API layer).
*/
export const DEVICE_ALIAS_MAX_LENGTH = 64;