From c71ce473d2dcc18e110866495ba518f15fbde130 Mon Sep 17 00:00:00 2001
From: Zaza <181195712+Zazawowow@users.noreply.github.com>
Date: Sun, 13 Sep 2026 23:09:30 +0200
Subject: [PATCH 1/4] Align web payment flow with Hub styling and payment plan
controls
---
.../Angor.Client/Pages/InvestView.razor | 628 ++++++++++--------
.../Angor.Client/Shared/EmptyLayout.razor | 22 +-
.../Shared/HubPaymentHeader.razor | 75 +++
.../Shared/PasswordComponent.razor | 2 +-
.../assets/css/hub-invest-controls.css | 613 +++++++++++++++++
.../wwwroot/assets/css/invest.css | 395 ++++++++++-
.../fonts/proxima-nova/proximanova_bold.otf | Bin 0 -> 96640 bytes
.../fonts/proxima-nova/proximanova_light.otf | Bin 0 -> 62492 bytes
.../wwwroot/assets/img/app-icon.png | Bin 0 -> 68147 bytes
.../wwwroot/assets/img/favicon.png | Bin 839 -> 64657 bytes
.../wwwroot/assets/img/hero-bg-pattern.svg | 8 +
.../wwwroot/assets/js/hub-payment.js | 19 +
src/webapp/Angor.Client/wwwroot/index.html | 22 +-
13 files changed, 1480 insertions(+), 304 deletions(-)
create mode 100644 src/webapp/Angor.Client/Shared/HubPaymentHeader.razor
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/css/hub-invest-controls.css
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/fonts/proxima-nova/proximanova_bold.otf
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/fonts/proxima-nova/proximanova_light.otf
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/img/app-icon.png
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/img/hero-bg-pattern.svg
create mode 100644 src/webapp/Angor.Client/wwwroot/assets/js/hub-payment.js
diff --git a/src/webapp/Angor.Client/Pages/InvestView.razor b/src/webapp/Angor.Client/Pages/InvestView.razor
index 712ffc549..bd1a400b1 100644
--- a/src/webapp/Angor.Client/Pages/InvestView.razor
+++ b/src/webapp/Angor.Client/Pages/InvestView.razor
@@ -49,28 +49,87 @@
- Angor Invest
-
-
- @network.Name
-
-
The indexer used to look up projects and broadcast transactions.
+ @foreach (var indexer in connectionSettings.Indexers) + { +Relays used to fetch project data and exchange messages with the founder.
+ @foreach (var relay in connectionSettings.Relays) + { +Loading project...
+Preparing your payment details...
- Taking too long? Check your relay and indexer settings. + Taking too long? Check your .
@TruncateAbout(project.Metadata.About)
- } - - View full project details on angor.io -Your investment was published to the Bitcoin network. To manage or recover your funds later, import your recovery phrase into the Angor desktop app. @@ -243,41 +266,50 @@ } else { -
Minimum investment: 0.001 @network.CoinTicker
The selected plan is not offered by this project. Choose an available installment count and frequency below.
+ } +Choose a funding pattern for your investment:
-@SelectedPattern.Name — @SelectedPattern.Description
+ }Your investment will be released in stages:
- @if (StagesBreakdown?.Any() == true) +Your @(project.ProjectInfo.AllowDynamicStages ? "payments" : "investment will be released in stages"):
+Enter an amount to see the stage breakdown.
+Enter an amount to see the stage breakdown.
+ }@ProjectId@@ -533,47 +589,26 @@ @if (showPaymentMethodModal) { -
Choose Bitcoin to send from an external wallet, or Lightning to pay an invoice.
The indexer used to look up projects and broadcast transactions.
- @foreach (var indexer in connectionSettings.Indexers) - { -Relays used to fetch project data and exchange messages with the founder.
- @foreach (var relay in connectionSettings.Relays) - { -G(!oA&qZpV&XQe`9a9|3XV>2ik-7
zq?^z!X )35lR=Pam=q uy)-J9EaVzr#s~%MN!Oes%cW;U7nPN2OzZ$5xJkj-ie*jz-4<$H|T>94j5a
zcf90y&+&!hN5{`Hdzpu7H6ge=1L0
z>Q~}YZK_BbRGhTBq&$tjekMK#tm<;zgGpe*R97)V1SUd)P3e%q+t;sMdL4=k8|)d}
zifMMHAv@WWl*x-V(Y%4n(xd+?G
zH^fG!AvQ7%v5{$rjh=jjycP$K6O4^Z$dmMq!^bE1YLP-bU)y+)x8VOsZwdWYI6~mJ
znE0@sP{Da*Hclh|&5OfVV5wJKRS-N$K1HuOnfCfut?2cQF6#VFA)ignuy~+C_`m8y
zh>b2n1YPtJ#w<3jDWB8UKji}iCshFJEXLMd72>#7o|AE3p_S)A!H4BT1xMBb)_Lbb
zKpnB*-SR<^by5<%T_N;eqKW)QG?8^O{KhvHvf2nLvaUSAVHQ%
=x+zQ*mJ>EJ>~`26-L>5_yC3Oc*JFB*TRqi1=l49)
z^KmcdUcSA0^qSo3NbjD#GkP!UeYN+WeN=tA_Q~(_zOQRv-@aS>-VJXM9ub}wz9jri
z_{RukME{625oaTQjTA@vMh=Y}9l0j*T;!{Ml72q@BKwu~JKL|Ozfb=${de^LF-jcO
zCn`T`ebn{ndePz0h0&X%Pse!2M8=GX*&1^tRukJlc4X}C*k1-n2LujC9B_ER+kveH
zCJbCT@W;4%af9MY
z`^6O5
mi*|%2wCv*ec$z>Qxps~?h0Psq=jFF
zkQQ}Xg&nwr4MtTZ>^L8U%)w?t97=xbEKE$v`c&AbraPLZ+o+;={U@cx6nEWj
zWP{x1%e|=<-$#c}q@C!0Am}TntnOX7Bld*fxvnS6IK;_}C}az!9Zzkd@?ENI+Po}s
z)UdJR2cz026l4?SZ&G>FhNa_2jTt{~7@Q+*R2qrmo2gM$6WM5dCF?R=4QG)2KHOy<
zFJtcRLvMn!!
eIHP5
z