This commit is contained in:
sdarbinyan
2026-05-08 23:35:20 +04:00
parent 539d0b7b2e
commit 76e994e757
4 changed files with 20 additions and 10 deletions

View File

@@ -3,14 +3,8 @@
export const routes: Routes = [
{
path: '',
loadComponent: () => {
// Branch: ?id=<orderId> means legacy SBP merchant flow.
const hasLegacyId = typeof window !== 'undefined'
&& new URLSearchParams(window.location.search).has('id');
return hasLegacyId
? import('./pages/legacy-pay-page/legacy-pay-page').then((m) => m.LegacyPayPage)
: import('./pages/fastcheck-page/fastcheck-page').then((m) => m.FastcheckPage);
}
loadComponent: () =>
import('./pages/fastcheck-page/fastcheck-page').then((m) => m.FastcheckPage)
},
{
path: 'about',

View File

@@ -28,7 +28,7 @@
autocomplete="off"
maxlength="20"
/>
<a class="btn btn--ghost" href="https://qr.vitanova.network/" target="_blank" rel="noopener" aria-label="Создать новый fastCHECK">{{ 'fastcheck.number_new' | translate }}</a>
<a class="btn btn--ghost" [href]="newQrUrl()" target="_blank" rel="noopener" aria-label="Создать новый fastCHECK">{{ 'fastcheck.number_new' | translate }}</a>
</div>
</div>

View File

@@ -64,6 +64,7 @@
font-family: inherit;
white-space: nowrap;
transition: opacity .15s, transform .1s, background .15s;
appearance: none;
-webkit-appearance: none;
&--ghost {
@@ -159,6 +160,7 @@
cursor: pointer;
font-family: inherit;
transition: background .15s;
appearance: none;
-webkit-appearance: none;
&:hover { background: #e2e8f0; }

View File

@@ -51,6 +51,15 @@ export class FastcheckPage {
error = signal<string>('');
amountLoading = signal<boolean>(false);
// Pass-through partner id from ?id= used by the "New" button link.
partnerId = signal<string>('');
newQrUrl = computed(() => {
const id = this.partnerId();
return id
? `https://qr.vitanova.network/?id=${encodeURIComponent(id)}`
: 'https://qr.vitanova.network/';
});
popupOpen = signal<boolean>(false);
popupLoading = signal<boolean>(false);
popupError = signal<string>('');
@@ -98,8 +107,13 @@ export class FastcheckPage {
this.codeEnabled.set(true);
}
const params = new URLSearchParams(window.location.search);
// ?id=<partnerId> — just propagated to the "New" button URL.
this.partnerId.set(params.get('id') ?? '');
// ?iid=xxxxxx-xxxxxx-xxxxxx — auto-fill and trigger lookup
const iidParam = new URLSearchParams(window.location.search).get('iid') ?? '';
const iidParam = params.get('iid') ?? '';
if (iidParam && !created) {
const digits = iidParam.replace(/\D/g, '').slice(0, 18);
const groups: string[] = [];