Files

81 lines
4.3 KiB
HTML

{{define "page_admin_settings"}}
{{template "admin_shell_open" dict "Active" .Active "Admin" .Admin "Title" "Настройки"}}
{{template "admin_flash" .}}
{{if .TestResult}}<div class="alert-ok"><i class="fa-solid fa-circle-check"></i> {{.TestResult}}</div>{{end}}
{{if .TestError}}<div class="alert-err"><i class="fa-solid fa-triangle-exclamation"></i> {{.TestError}}</div>{{end}}
<form method="post" action="{{appURL "admin/settings"}}">
{{template "admin_csrf_field"}}
<div class="card">
<div class="card-header"><h2><i class="fa-solid fa-server"></i> Панель Amnezia</h2></div>
<div class="mb-3">
<label class="form-label">URL панели</label>
<input class="form-control" name="panel_url" value="{{.PanelURL}}" placeholder="https://panel.example.com">
</div>
<div class="mb-3">
<label class="form-label">API-токен</label>
<input class="form-control mono" name="api_token" value="{{.APIToken}}" placeholder="awp_...">
</div>
<div class="d-flex gap-2">
<button type="submit" name="action" value="save" class="btn btn-primary"><i class="fa-solid fa-floppy-disk"></i> Сохранить</button>
<button type="submit" name="action" value="test" formnovalidate class="btn btn-ghost"><i class="fa-solid fa-plug-circle-check"></i> Проверить соединение</button>
</div>
</div>
<div class="card">
<div class="card-header"><h2><i class="fa-solid fa-screwdriver-wrench"></i> Режим работы</h2></div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="maintenance" name="maintenance" value="1" {{if .Maintenance}}checked{{end}}>
<label class="form-check-label" for="maintenance">Технические работы (запретить создание/перенос конфигов)</label>
</div>
</div>
<div class="card">
<div class="card-header"><h2><i class="fa-solid fa-key"></i> Вход через Pocket ID (OIDC)</h2></div>
<div class="mb-3">
<label class="form-label">URL Pocket ID</label>
<input class="form-control" name="pocket_url" value="{{.PocketURL}}" placeholder="https://id.example.com">
</div>
<div class="mb-3">
<label class="form-label">Client ID</label>
<input class="form-control mono" name="pocket_client_id" value="{{.PocketClientID}}">
</div>
<div class="mb-3">
<label class="form-label">Client Secret</label>
<input class="form-control mono" type="password" name="pocket_secret" value="{{.PocketSecret}}" autocomplete="off">
</div>
</div>
<div class="card">
<div class="card-header"><h2><i class="fa-solid fa-address-card"></i> Личный кабинет — значения по умолчанию</h2></div>
<div class="form-row-2">
<div>
<label class="form-label">Дней подписки по умолчанию</label>
<input class="form-control" type="number" name="member_days" value="{{.MemberDays}}" min="1" max="3650" placeholder="30">
</div>
<div>
<label class="form-label">Лимит конфигов по умолчанию</label>
<input class="form-control" type="number" name="member_max_uses" value="{{.MemberMaxUses}}" min="1" max="1000" placeholder="5">
</div>
</div>
</div>
<div class="card card-compact">
<div class="card-header"><h2><i class="fa-solid fa-code"></i> Дополнительно (JSON)</h2></div>
<div class="mb-3">
<label class="form-label hint-tight">Метки серверов, переопределение (server_labels_json)</label>
<textarea class="form-control tn-textarea mono" name="server_labels_json" rows="3" placeholder='{"1":"Германия"}'>{{.ServerLabelsJSON}}</textarea>
</div>
<div class="mb-3">
<label class="form-label hint-tight">Уведомления о трафике (traffic_notices_json)</label>
<textarea class="form-control tn-textarea mono" name="traffic_notices_json" rows="3" placeholder='{"1":"Ограничение 100GB/мес"}'>{{.TrafficNotices}}</textarea>
</div>
</div>
<button type="submit" name="action" value="save" class="btn btn-primary"><i class="fa-solid fa-floppy-disk"></i> Сохранить все настройки</button>
</form>
{{template "admin_shell_close" .}}
{{end}}