Offer a guest to signup if there are no workspaces

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
This commit is contained in:
Anton Alexeyev 2025-06-02 11:36:31 +07:00
parent c179890a4d
commit 2659544bbc
12 changed files with 32 additions and 14 deletions

View File

@ -73,6 +73,7 @@
"Proceed": "Pokračovat",
"SetPasswordLater": "Nastavím heslo později",
"SetPasswordNow": "Nastavím heslo nyní",
"LoginAsGuest": "Pokračovat jako host"
"LoginAsGuest": "Pokračovat jako host",
"SignUpToCreateWorkspace": "Neexistují žádné pracovní prostory s přístupem pro hosty. Prosím, zaregistrujte se a vytvořte si vlastní."
}
}

View File

@ -73,6 +73,7 @@
"Proceed": "Fortfahren",
"SetPasswordLater": "Ich werde später ein Passwort festlegen",
"SetPasswordNow": "Ich werde jetzt ein Passwort festlegen",
"LoginAsGuest": "Als Gast fortfahren"
"LoginAsGuest": "Als Gast fortfahren",
"SignUpToCreateWorkspace": "Keine Arbeitsbereiche mit Gastzugang. Bitte registrieren Sie sich, um Ihren eigenen zu erstellen."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Proceed",
"SetPasswordLater": "I'll set a password later",
"SetPasswordNow": "I'll set a password now",
"LoginAsGuest": "Continue as a guest"
"LoginAsGuest": "Continue as a guest",
"SignUpToCreateWorkspace": "There are no workspaces with guest access. Please sign up to create your own."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Continuar",
"SetPasswordLater": "Estableceré una contraseña más tarde",
"SetPasswordNow": "Estableceré una contraseña ahora",
"LoginAsGuest": "Continuar como invitado"
"LoginAsGuest": "Continuar como invitado",
"SignUpToCreateWorkspace": "No hay espacios de trabajo con acceso de invitado. Por favor, regístrese para crear el suyo."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Continuer",
"SetPasswordLater": "Je définirai un mot de passe plus tard",
"SetPasswordNow": "Je définirai un mot de passe maintenant",
"LoginAsGuest": "Continuer en tant qu'invité"
"LoginAsGuest": "Continuer en tant qu'invité",
"SignUpToCreateWorkspace": "Aucun espace de travail avec accès invité. Veuillez vous inscrire pour créer le vôtre."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Procedere",
"SetPasswordLater": "Imposterò una password più tardi",
"SetPasswordNow": "Imposterò una password ora",
"LoginAsGuest": "Continua come ospite"
"LoginAsGuest": "Continua come ospite",
"SignUpToCreateWorkspace": "Nessuna area di lavoro con accesso ospite. Per favore, registrati per crearne una tua."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "続行",
"SetPasswordLater": "後でパスワードを設定します",
"SetPasswordNow": "今すぐパスワードを設定します",
"LoginAsGuest": "ゲストとして続行"
"LoginAsGuest": "ゲストとして続行",
"SignUpToCreateWorkspace": "ゲストアクセス可能なワークスペースはありません。登録して独自のワークスペースを作成してください。"
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Continuar",
"SetPasswordLater": "Vou definir uma senha mais tarde",
"SetPasswordNow": "Vou definir uma senha agora",
"LoginAsGuest": "Continuar como convidado"
"LoginAsGuest": "Continuar como convidado",
"SignUpToCreateWorkspace": "Não há espaços de trabalho com acesso de convidado. Por favor, cadastre-se para criar o seu."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "Продолжить",
"SetPasswordLater": "Я установлю пароль позже",
"SetPasswordNow": "Я установлю пароль сейчас",
"LoginAsGuest": "Продолжить как гость"
"LoginAsGuest": "Продолжить как гость",
"SignUpToCreateWorkspace": "Нет рабочих пространств с гостевым доступом. Пожалуйста, зарегистрируйтесь, чтобы создать своё."
}
}

View File

@ -72,6 +72,7 @@
"Proceed": "继续",
"SetPasswordLater": "稍后设置密码",
"SetPasswordNow": "现在设置密码",
"LoginAsGuest": "以访客身份继续"
"LoginAsGuest": "以访客身份继续",
"SignUpToCreateWorkspace": "没有支持访客访问的工作区。请注册以创建您自己的工作区。"
}
}

View File

@ -162,6 +162,9 @@
</div>
{:then}
<Scroller padding={'.125rem 0'} maxHeight={35}>
{#if workspaces.length === 0 && account?.token != null && isReadOnlyGuest}
<span class="readonly-warning"><Label label={login.string.SignUpToCreateWorkspace} /></span>
{/if}
<div class="form">
{#each workspaces
.filter((it) => search === '' || (it.name?.includes(search) ?? false) || it.url.includes(search))
@ -196,14 +199,14 @@
</div>
{/each}
{#if workspaces.length === 0 && account?.token != null && !isReadOnlyGuest}
{#if workspaces.length === 0 && account?.token != null}
<div class="form-row send">
<Button
label={login.string.CreateWorkspace}
label={isReadOnlyGuest ? login.string.SignUp : login.string.CreateWorkspace}
kind={'primary'}
width="100%"
on:click={() => {
goTo('createWorkspace')
goTo(isReadOnlyGuest ? 'signup' : 'createWorkspace')
}}
/>
</div>
@ -281,6 +284,10 @@
border-radius: 1rem;
}
}
.readonly-warning {
margin-bottom: 1.5rem;
color: var(--theme-caption-color);
}
.grow-separator {
flex-grow: 1;
}

View File

@ -76,6 +76,7 @@ export default mergeIds(loginId, login, {
SignToProceed: '' as IntlString,
Proceed: '' as IntlString,
SetPasswordLater: '' as IntlString,
SetPasswordNow: '' as IntlString
SetPasswordNow: '' as IntlString,
SignUpToCreateWorkspace: '' as IntlString
}
})