Слияние WT-3: oob-обновление панели действий ревью

This commit is contained in:
av
2026-07-11 09:32:53 +03:00
4 changed files with 96 additions and 10 deletions
+14 -6
View File
@@ -61,12 +61,20 @@
</div>
<!-- Панель действий (выходы из ревью — обычные формы, полная навигация) -->
<div class="action-bar">
<span class="grow">{{if .HasLinks}}Превью готово — можно применять.{{else}}Подтверди источник, чтобы получить превью раскладки.{{end}}</span>
<form method="post" action="/ui/downloads/{{.ID}}/defer"><button class="btn btn-lg" type="submit">🕗 Позже</button></form>
<form method="post" action="/ui/downloads/{{.ID}}/cancel"><button class="btn btn-lg btn-danger" type="submit">❌ Отклонить</button></form>
{{if .HasLinks}}<form method="post" action="/ui/downloads/{{.ID}}/apply"><button class="btn btn-lg btn-primary" type="submit">✅ Применить</button></form>{{end}}
</div>
{{template "review_action_bar" .}}
</main>
{{end}}
{{/* Панель действий ревью. Живёт вне #source-block, но зависит от HasLinks
(есть ли превью раскладки), поэтому при свопе источника обновляется oob
из того же ответа (ActionBarOOB → hx-swap-oob). Выходы из ревью — обычные
POST-формы без hx-* (полная навигация, см. web-ui.md). */}}
{{define "review_action_bar"}}
<div class="action-bar" id="action-bar"{{if .ActionBarOOB}} hx-swap-oob="true"{{end}}>
<span class="grow">{{if .HasLinks}}Превью готово — можно применять.{{else}}Подтверди источник, чтобы получить превью раскладки.{{end}}</span>
<form method="post" action="/ui/downloads/{{.ID}}/defer"><button class="btn btn-lg" type="submit">🕗 Позже</button></form>
<form method="post" action="/ui/downloads/{{.ID}}/cancel"><button class="btn btn-lg btn-danger" type="submit">❌ Отклонить</button></form>
{{if .HasLinks}}<form method="post" action="/ui/downloads/{{.ID}}/apply"><button class="btn btn-lg btn-primary" type="submit">✅ Применить</button></form>{{end}}
</div>
{{end}}
@@ -72,3 +72,9 @@
</div>
</div>
{{end}}
{{/* Ответ на своп выбора источника: свежий #source-block + oob-обновление
панели действий (#action-bar), чтобы кнопка «Применить» синхронно отражала
актуальный HasLinks. Рендерится с ActionBarOOB=true (reviewBlockAction). */}}
{{define "review_source_swap"}}{{template "review_source_block" .}}
{{template "review_action_bar" .}}{{end}}