btcpayserver/BTCPayServer/Views/UIServer/SSHService.cshtml
d11n 0f8da123b8
UI: Move section navigation to sidebar (#5744)
* UI: Move section navigation to sidebar

* Scroll active nav link into view

* Move CTAs to top right

* Server Settings: Make Policies first page

* Responsive table fixes

* Spacing fixes

* Add breadcrumb samples

* store settings fixes

* payment request fixes

* updates pull payment title

* adds invoice detail fix

* updates server settings breadcrumbs + copy fix

* Don't open Server Settings on Plugins page

* Add breadcrumbs to pull payment views

* adds breadcrumbs to account

* server and store breadcrumb fixes

* fixes access tokens

* Fix payment processor breadcrumbs

* fixes webhook 404

* Final touches

* Fix test

* Add breadcrumb for email rules page

* Design system updates

---------

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2024-06-19 15:23:10 +02:00

87 lines
3.3 KiB
Text

@using BTCPayServer.Abstractions.Models
@model BTCPayServer.Models.ServerViewModels.SSHServiceViewModel
@{
ViewData.SetActivePage(ServerNavPages.Services, "SSH settings");
}
<div class="sticky-header">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-action="Services">Services</a>
</li>
<li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
</ol>
<h2>@ViewData["Title"]</h2>
</nav>
</div>
<partial name="_StatusMessage" />
<p>SSH services are used by the maintenance operations.</p>
<div class="row">
<div class="col-md-8">
@if (!ViewContext.ModelState.IsValid)
{
<div asp-validation-summary="All"></div>
}
<div class="form-group">
<div class="form-group">
<label asp-for="CommandLine" class="form-label"></label>
<input asp-for="CommandLine" class="form-control" readonly />
</div>
@if (!string.IsNullOrEmpty(Model.Password))
{
<div class="form-group">
<label asp-for="Password" class="form-label"></label>
<input asp-for="Password" class="form-control" readonly />
</div>
}
@if (!string.IsNullOrEmpty(Model.KeyFilePassword))
{
<div class="form-group">
<label asp-for="KeyFilePassword" class="form-label"></label>
<input asp-for="KeyFilePassword" class="form-control" readonly />
</div>
}
</div>
</div>
</div>
@if (Model.SSHKeyFileContent != null)
{
<h4>Authorized keys</h4>
<p>You can enter here SSH public keys authorized to connect to your server.</p>
<div class="row">
<div class="col-md-8">
<form method="post">
<div class="form-group">
<textarea asp-for="SSHKeyFileContent" rows="20" cols="80" class="form-control"></textarea>
<span asp-validation-for="SSHKeyFileContent" class="text-danger"></span>
</div>
<button name="command" id="submit" type="submit" class="btn btn-primary" value="Save">Save</button>
</form>
</div>
</div>
}
<h4 class="mt-5 mb-3">Other actions</h4>
<p>Increase the security of your instance by disabling the ability to change the SSH settings in this BTCPay Server instance's user interface.</p>
<div class="row">
<div class="col-md-8">
<form method="post">
<button name="command" id="disable" type="submit" class="btn btn-outline-danger mb-5" value="disable" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-confirm-input="DISABLE">Disable</button>
</form>
</div>
</div>
<partial name="_Confirm" model="@(new ConfirmModel("Disable modification of SSH settings", "This action is permanent and will remove the ability to change the SSH settings via the BTCPay Server user interface.", "Disable"))"/>
@section PageFootContent {
<script>
const disableButton = document.getElementById('disable')
disableButton.dataset.action = window.location.href + '/disable'
disableButton.addEventListener('click', event => {
event.preventDefault()
})
</script>
}