Задача 040: название в UI — «IPAM Manager»
В web/app.js три вхождения «ipam_manager» (шапка, экран входа и шаг 2FA) заменены на «IPAM Manager». Атомарная правка отдельным коммитом. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a6e70ffd1a
commit
aeb89dbded
4 files changed
+23
-3
No files matched your search
@@ -205,6 +205,7 @@ docker compose -p ipam_control_006 up -d --build && venv/bin/python -m pytest -q
|
||||
| 036 | Меню пользователя в шапке: логин с выпадающим списком | [план](docs/changes/036-user-menu/PLAN.md) · [итог](docs/changes/036-user-menu/SUMMARY.md) |
|
||||
| 037 | Двухфакторная аутентификация TOTP, по выбору пользователя | [план](docs/changes/037-totp-2fa/PLAN.md) · [итог](docs/changes/037-totp-2fa/SUMMARY.md) |
|
||||
| 038 | Тёмная тема UI | [план](docs/changes/038-dark-theme/PLAN.md) · [итог](docs/changes/038-dark-theme/SUMMARY.md) |
|
||||
| 040 | Название в UI: «IPAM Manager» | [план](docs/changes/040-brand-name/PLAN.md) · [итог](docs/changes/040-brand-name/SUMMARY.md) |
|
||||
|
||||
## Отчёты ревью
|
||||
- [Ревью кодовой базы](docs/reviews/2026-09-26-codebase-review.md) (находки → изменения 011–023)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# Название в UI: «IPAM Manager» (изменение 040)
|
||||
|
||||
## Context
|
||||
В `web/app.js` название приложения выводится как `ipam_manager` — в шапке и на экране входа (шаг пароля и шаг 2FA), всего 3 строки.
|
||||
Нужно «IPAM Manager», как в `<title>`, README и issuer TOTP. Атомарная правка, отдельный коммит.
|
||||
|
||||
## Изменения
|
||||
- `web/app.js`: `ipam_manager` → `IPAM Manager` во всех трёх местах; в `web/` и `app/` других вхождений нет.
|
||||
|
||||
## Проверка
|
||||
- `grep -c ipam_manager web/app.js` → 0; `node --check`; стенд отдаёт новый `app.js`.
|
||||
@@ -0,0 +1,8 @@
|
||||
# Итог: название в UI — «IPAM Manager» (изменение 040)
|
||||
|
||||
План: `PLAN.md`. В `web/app.js` три вхождения `ipam_manager` (шапка, экран входа — шаг пароля и шаг 2FA) заменены на «IPAM Manager».
|
||||
Других вхождений в `web/` и `app/` не было.
|
||||
|
||||
## Проверки
|
||||
- `grep -c ipam_manager web/app.js` → 0; `node --check web/app.js` — чисто.
|
||||
- На стенде появится при ближайшей пересборке (вместе с изменением 039).
|
||||
+3
-3
@@ -160,7 +160,7 @@ function shell(active, content) {
|
||||
{ label: "Светлая", value: "light", cls: curTheme === "light" ? "sel" : "" },
|
||||
{ label: "Тёмная", value: "dark", cls: curTheme === "dark" ? "sel" : "" },
|
||||
], "row-pop")}</span>`;
|
||||
return `<div class="appbar"><div class="brand"><span class="brand-logo">${I.globe()}</span>ipam_manager</div>
|
||||
return `<div class="appbar"><div class="brand"><span class="brand-logo">${I.globe()}</span>IPAM Manager</div>
|
||||
<nav class="nav">${nav.map(([k, l]) => `<a href="#/${k}" class="${k === active ? "active" : ""}">${l}</a>`).join("")}</nav>
|
||||
<div class="grow"></div><span style="display:flex;align-items:center;gap:8px">${themeBtn}${userMenu}</span></div>
|
||||
<div class="page">${content}</div>`;
|
||||
@@ -872,13 +872,13 @@ ${fInput("code", "Код из приложения или код восстан
|
||||
// ---- login
|
||||
function loginScreen(err = "") {
|
||||
if (pendingMfa) {
|
||||
return `<div class="card login"><div class="brand"><span class="brand-logo">${I.globe()}</span>ipam_manager</div><h1>Вход</h1>
|
||||
return `<div class="card login"><div class="brand"><span class="brand-logo">${I.globe()}</span>IPAM Manager</div><h1>Вход</h1>
|
||||
<form id="mfa-form"><div class="err-banner" style="margin-top:12px" ${err ? "" : "hidden"}>${esc(err)}</div>
|
||||
<label class="field"><span>Код из приложения или код восстановления</span><input class="input mono" name="code" autocomplete="one-time-code" autofocus></label>
|
||||
<button class="btn primary" type="submit">Подтвердить</button>
|
||||
<button class="btn ghost" type="button" data-action="mfa-back" style="margin-top:8px;width:100%">Назад</button></form></div>`;
|
||||
}
|
||||
return `<div class="card login"><div class="brand"><span class="brand-logo">${I.globe()}</span>ipam_manager</div><h1>Вход</h1>
|
||||
return `<div class="card login"><div class="brand"><span class="brand-logo">${I.globe()}</span>IPAM Manager</div><h1>Вход</h1>
|
||||
<form id="login-form"><div class="err-banner" style="margin-top:12px" ${err ? "" : "hidden"}>${esc(err)}</div>
|
||||
<label class="field"><span>Логин</span><input class="input" name="username" autocomplete="username" autofocus></label>
|
||||
<label class="field"><span>Пароль</span><input class="input" type="password" name="password" autocomplete="current-password"></label>
|
||||
|
||||
Reference in new issue
Block a user