Merge pull request 'feat(ui): hide current-host sign-in row in profile' (#179) from feature/hide-current-host-signin-row into development
CI / changes (push) Successful in 2s
CI / unit (push) Has been skipped
CI / integration (push) Has been skipped
CI / ui (push) Successful in 1m4s
CI / conformance (push) Successful in 9s
CI / gate (push) Successful in 0s
CI / deploy (push) Successful in 2m33s
CI / changes (push) Successful in 2s
CI / unit (push) Has been skipped
CI / integration (push) Has been skipped
CI / ui (push) Successful in 1m4s
CI / conformance (push) Successful in 9s
CI / gate (push) Successful in 0s
CI / deploy (push) Successful in 2m33s
This commit was merged in pull request #179.
This commit is contained in:
+3
-1
@@ -109,7 +109,9 @@ two accounts share a game still in progress.
|
|||||||
|
|
||||||
The profile lists the account's **sign-in methods**. On the web a player can add
|
The profile lists the account's **sign-in methods**. On the web a player can add
|
||||||
Telegram (a login-widget popup) or VK (VK ID web login — a redirect to VK's sign-in and
|
Telegram (a login-widget popup) or VK (VK ID web login — a redirect to VK's sign-in and
|
||||||
back); inside a Mini App the host platform is already linked. Linking a provider that
|
back); inside a Mini App the host platform is already linked, and its own sign-in-method
|
||||||
|
row is hidden — the platform the player is currently signed in through cannot be unlinked
|
||||||
|
from there, only the other provider's row is shown. Linking a provider that
|
||||||
already belongs to another account offers the same irreversible **merge** as email
|
already belongs to another account offers the same irreversible **merge** as email
|
||||||
linking. A linked provider can be **unlinked** — except the last
|
linking. A linked provider can be **unlinked** — except the last
|
||||||
remaining sign-in method, which is refused so the account stays reachable. **Email is
|
remaining sign-in method, which is refused so the account stays reachable. **Email is
|
||||||
|
|||||||
@@ -113,7 +113,9 @@ Telegram держит **единого бота**: все игроки поль
|
|||||||
|
|
||||||
В профиле перечислены **способы входа** аккаунта. В вебе игрок может добавить
|
В профиле перечислены **способы входа** аккаунта. В вебе игрок может добавить
|
||||||
Telegram (попап логин-виджета) или VK (веб-вход VK ID — редирект на страницу входа VK и
|
Telegram (попап логин-виджета) или VK (веб-вход VK ID — редирект на страницу входа VK и
|
||||||
обратно); внутри Mini App платформа-хозяин уже привязана. Привязка провайдера, уже
|
обратно); внутри Mini App платформа-хозяин уже привязана, и её собственная плашка способа
|
||||||
|
входа скрыта — платформу, через которую игрок сейчас вошёл, отсюда отвязать нельзя,
|
||||||
|
показывается только плашка другого провайдера. Привязка провайдера, уже
|
||||||
принадлежащего другому аккаунту, предлагает то же необратимое **слияние**, что и привязка
|
принадлежащего другому аккаунту, предлагает то же необратимое **слияние**, что и привязка
|
||||||
email. Привязанного провайдера можно **отвязать** — кроме последнего
|
email. Привязанного провайдера можно **отвязать** — кроме последнего
|
||||||
оставшегося способа входа: он не отвязывается, чтобы аккаунт оставался достижимым.
|
оставшегося способа входа: он не отвязывается, чтобы аккаунт оставался достижимым.
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
import { GatewayError } from '../lib/client';
|
import { GatewayError } from '../lib/client';
|
||||||
import { connection } from '../lib/connection.svelte';
|
import { connection } from '../lib/connection.svelte';
|
||||||
import { gateway } from '../lib/gateway';
|
import { gateway } from '../lib/gateway';
|
||||||
import { loginWidgetAvailable, requestTelegramLogin } from '../lib/telegram';
|
import { insideTelegram, loginWidgetAvailable, requestTelegramLogin } from '../lib/telegram';
|
||||||
|
import { insideVK } from '../lib/vk';
|
||||||
import { startVKLink, vkWebLinkAvailable } from '../lib/vkid';
|
import { startVKLink, vkWebLinkAvailable } from '../lib/vkid';
|
||||||
import { t } from '../lib/i18n/index.svelte';
|
import { t } from '../lib/i18n/index.svelte';
|
||||||
import {
|
import {
|
||||||
@@ -58,6 +59,11 @@
|
|||||||
let deletePhrase = $state('');
|
let deletePhrase = $state('');
|
||||||
const telegramLinkable = loginWidgetAvailable();
|
const telegramLinkable = loginWidgetAvailable();
|
||||||
const vkLinkable = vkWebLinkAvailable();
|
const vkLinkable = vkWebLinkAvailable();
|
||||||
|
// Inside a host Mini App the current platform's own identity must not be managed from the
|
||||||
|
// profile — unlinking the very platform you are signed in through is meaningless — so that
|
||||||
|
// provider's linked-account row is hidden here (the web / native builds still show both).
|
||||||
|
const hostTelegram = insideTelegram();
|
||||||
|
const hostVK = insideVK();
|
||||||
|
|
||||||
function defaultTz(): string {
|
function defaultTz(): string {
|
||||||
const b = browserOffset();
|
const b = browserOffset();
|
||||||
@@ -392,8 +398,10 @@
|
|||||||
<!-- Sign-in methods: bind/change an email and link/unlink providers. A returning email
|
<!-- Sign-in methods: bind/change an email and link/unlink providers. A returning email
|
||||||
(add) triggers the merge dialog below. On the web an account can add Telegram via the
|
(add) triggers the merge dialog below. On the web an account can add Telegram via the
|
||||||
login widget or VK via VK ID web login (a full-page redirect); inside a Mini App the
|
login widget or VK via VK ID web login (a full-page redirect); inside a Mini App the
|
||||||
host provider is already linked. Email is never unlinked — it is changed. Unlink is
|
host provider is already linked, so its own row is hidden — the platform you are signed
|
||||||
offered only when another identity remains (the backend also refuses the last one). -->
|
in through cannot be unlinked from here (the other provider's row still shows). Email is
|
||||||
|
never unlinked — it is changed. Unlink is offered only when another identity remains
|
||||||
|
(the backend also refuses the last one). -->
|
||||||
<section class="accounts">
|
<section class="accounts">
|
||||||
<h3>{t('profile.accountsTitle')}</h3>
|
<h3>{t('profile.accountsTitle')}</h3>
|
||||||
|
|
||||||
@@ -440,7 +448,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if p.telegramLinked}
|
{#if p.telegramLinked && !hostTelegram}
|
||||||
<div class="acctrow">
|
<div class="acctrow">
|
||||||
<span class="prov"><img src="telegram-logo.svg" alt="" width="18" height="18" />Telegram</span>
|
<span class="prov"><img src="telegram-logo.svg" alt="" width="18" height="18" />Telegram</span>
|
||||||
{#if canUnlink}
|
{#if canUnlink}
|
||||||
@@ -453,7 +461,7 @@
|
|||||||
</button>
|
</button>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if p.vkLinked}
|
{#if p.vkLinked && !hostVK}
|
||||||
<div class="acctrow">
|
<div class="acctrow">
|
||||||
<span class="prov"><img src="vk-logo.svg" alt="" width="18" height="18" />VK</span>
|
<span class="prov"><img src="vk-logo.svg" alt="" width="18" height="18" />VK</span>
|
||||||
{#if canUnlink}
|
{#if canUnlink}
|
||||||
|
|||||||
Reference in New Issue
Block a user