Files
btcpayserver/BTCPayServer/Views/UIWallets/WalletSendVault.cshtml
Nicolas Dorier 2f26979ed7 Refactor vault (#6678)
* Use Blazor for the Vault code

* Put elements in different file

* Controller abstraction

* Break into VaultElement
2025-04-21 17:09:46 +09:00

57 lines
1.9 KiB
Plaintext

@using BTCPayServer.Abstractions.TagHelpers
@using BTCPayServer.Blazor.VaultBridge
@using BTCPayServer.TagHelpers
@using Microsoft.AspNetCore.Mvc.TagHelpers
@model WalletSendVaultModel
@{
var walletId = Context.GetRouteValue("walletId")?.ToString() ?? "";
Model.ReturnUrl ??= Url.WalletTransactions(walletId);
Layout = "_LayoutWizard";
ViewData.SetActivePage(WalletsNavPages.Send, StringLocalizer["Sign the transaction"], walletId);
this.ViewData.SetBlazorAllowed(true);
}
@section Navbar {
<partial name="_BackAndReturn" model="Model" />
}
<header class="text-center">
<h1>@ViewData["Title"]</h1>
<p class="lead text-secondary mt-3" text-translate="true">Using BTCPay Server Vault</p>
</header>
<div class="row mt-5 mb-4">
<div class="col-md-8 mx-auto">
<component type="typeof(VaultBridgeUI)"
param-Controller="@(new SignHWIController()
{
StoreId = WalletId.Parse(walletId).StoreId,
CryptoCode = WalletId.Parse(walletId).CryptoCode,
PSBT = Model.SigningContext.PSBT
})"
render-mode="Server"/>
</div>
</div>
<div id="body" class="my-4">
<form id="broadcastForm" asp-action="WalletSendVault" asp-route-walletId="@walletId" method="post" style="display:none;">
<input type="hidden" id="WalletId" asp-for="WalletId" />
<input type="hidden" asp-for="ReturnUrl" />
<input type="hidden" asp-for="BackUrl" />
<partial name="SigningContext" for="SigningContext" />
</form>
</div>
@section PageFootContent
{
<script src="~/js/vaultbridge.js" asp-append-version="true"></script>
<script>
vault.setSignedPSBT = function (data)
{
$("#SigningContext_PSBT").val(data.psbt);
$("#broadcastForm").submit();
}
</script>
}