From f0dadf55eb6909e2bb4acb8f03fe91d50eb15ad0 Mon Sep 17 00:00:00 2001 From: Eli Mallon Date: Fri, 10 Jul 2026 16:29:50 -0700 Subject: [PATCH] login: tooltip-ify + localize the Bluesky permissions checkbox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The description under "Show when I'm live on Bluesky" overflowed the login page on mobile with the keyboard open; move it into a hover Tooltip like the live-dashboard checkboxes. The row's zIndex: -32 (cargo-culted from the buttons row) would have painted the tooltip behind the handle input, so drop it — the typeahead overlays it guarded against carry their own higher zIndexes anyway. Localize the label and description into all seven supported locales; it's the text that decides what users grant us, so it shouldn't be English-only. Co-Authored-By: Claude Fable 5 --- js/app/components/login/login-form.tsx | 21 ++++++++++++++------- js/components/locales/en-US/common.ftl | 4 ++++ js/components/locales/es-ES/common.ftl | 4 ++++ js/components/locales/fr-FR/common.ftl | 4 ++++ js/components/locales/pt-BR/common.ftl | 4 ++++ js/components/locales/ro-RO/common.ftl | 4 ++++ js/components/locales/zh-Hans/common.ftl | 4 ++++ js/components/locales/zh-Hant/common.ftl | 4 ++++ 8 files changed, 42 insertions(+), 7 deletions(-) diff --git a/js/app/components/login/login-form.tsx b/js/app/components/login/login-form.tsx index 57a8b17f..6fd85559 100644 --- a/js/app/components/login/login-form.tsx +++ b/js/app/components/login/login-form.tsx @@ -4,7 +4,9 @@ import { Input, Loader, Text, + Tooltip, useTheme, + useTranslation, zero, } from "@streamplace/components"; import { Image } from "expo-image"; @@ -32,6 +34,7 @@ export default function LoginForm({ onOpenPdsModal, }: LoginFormProps) { const { theme } = useTheme(); + const { t } = useTranslation("common"); const loginAction = useStore((state) => state.login); const openLoginLink = useStore((state) => state.openLoginLink); const authStatus = useStore((state) => state.authStatus); @@ -290,7 +293,7 @@ export default function LoginForm({ zero.layout.flex.row, zero.gap.all[3], zero.mb[4], - { alignItems: "center", zIndex: -32 }, + { alignItems: "center" }, ]} > {/* preview of the Bluesky LIVE ring the user gets while streaming */} @@ -349,13 +352,17 @@ export default function LoginForm({ - + > + + Terms of Service and Privacy Policy before continuing. pds-selector-handle-policy-checkbox = I have read and agree to the handle policy + +## Login +login-show-live-on-bluesky = Show when I'm live on Bluesky +login-show-live-on-bluesky-description = Gives your Bluesky avatar the red LIVE ring while you stream and lets Streamplace post announcements for you. Uncheck to sign in without granting any access to your Bluesky account. diff --git a/js/components/locales/es-ES/common.ftl b/js/components/locales/es-ES/common.ftl index 33f6c40d..56e24036 100644 --- a/js/components/locales/es-ES/common.ftl +++ b/js/components/locales/es-ES/common.ftl @@ -72,3 +72,7 @@ pds-selector-learn-more = Más información sobre el autoalojamiento pds-selector-info = Cada servidor tiene sus propias políticas y estándares de fiabilidad. Tus datos ATProto viven en el servidor que elijas y puedes migrar más tarde. Nota: Streamplace tiene sus propias reglas de moderación; puedes ser expulsado de Streamplace independientemente del servidor que elijas. pds-selector-read-policies = Lee los Términos de Servicio y la Política de Privacidad de { $label } antes de continuar. pds-selector-handle-policy-checkbox = He leído y acepto la política de identificadores + +## Login +login-show-live-on-bluesky = Mostrar cuando estoy en directo en Bluesky +login-show-live-on-bluesky-description = Añade el anillo rojo LIVE a tu avatar de Bluesky mientras transmites y permite que Streamplace publique anuncios por ti. Desmárcalo para iniciar sesión sin conceder ningún acceso a tu cuenta de Bluesky. diff --git a/js/components/locales/fr-FR/common.ftl b/js/components/locales/fr-FR/common.ftl index 2f375fd2..5b851b48 100644 --- a/js/components/locales/fr-FR/common.ftl +++ b/js/components/locales/fr-FR/common.ftl @@ -72,3 +72,7 @@ pds-selector-learn-more = En savoir plus sur l'auto-hébergement pds-selector-info = Chaque hôte a ses propres politiques et normes de fiabilité. Vos données ATProto se trouvent sur l'hôte que vous choisissez et vous pouvez migrer ultérieurement. Remarque : Streamplace a ses propres règles de modération — vous pouvez être banni de Streamplace quel que soit l'hôte choisi. pds-selector-read-policies = Lisez les Conditions d'utilisation et la Politique de confidentialité de { $label } avant de continuer. pds-selector-handle-policy-checkbox = J'ai lu et j'accepte la politique des identifiants + +## Login +login-show-live-on-bluesky = Afficher quand je suis en direct sur Bluesky +login-show-live-on-bluesky-description = Ajoute l'anneau rouge LIVE à votre avatar Bluesky pendant vos streams et permet à Streamplace de publier des annonces pour vous. Décochez la case pour vous connecter sans accorder aucun accès à votre compte Bluesky. diff --git a/js/components/locales/pt-BR/common.ftl b/js/components/locales/pt-BR/common.ftl index 096313b4..2809d469 100644 --- a/js/components/locales/pt-BR/common.ftl +++ b/js/components/locales/pt-BR/common.ftl @@ -72,3 +72,7 @@ pds-selector-learn-more = Saiba mais sobre auto-hospedagem pds-selector-info = Cada host tem suas próprias políticas e padrões de confiabilidade. Seus dados ATProto ficam no host que você escolher e você pode migrar depois. Nota: O Streamplace tem suas próprias regras de moderação — você pode ser banido do Streamplace independentemente do host escolhido. pds-selector-read-policies = Leia os Termos de Serviço e a Política de Privacidade de { $label } antes de continuar. pds-selector-handle-policy-checkbox = Li e concordo com a política de identificadores + +## Login +login-show-live-on-bluesky = Mostrar quando estou ao vivo no Bluesky +login-show-live-on-bluesky-description = Adiciona o anel vermelho LIVE ao seu avatar do Bluesky enquanto você transmite e permite que o Streamplace publique anúncios por você. Desmarque para entrar sem conceder nenhum acesso à sua conta do Bluesky. diff --git a/js/components/locales/ro-RO/common.ftl b/js/components/locales/ro-RO/common.ftl index 9feffe53..13b04bc3 100644 --- a/js/components/locales/ro-RO/common.ftl +++ b/js/components/locales/ro-RO/common.ftl @@ -72,3 +72,7 @@ pds-selector-learn-more = Aflați mai multe despre găzduirea proprie pds-selector-info = Fiecare gazdă are propriile politici și standarde de fiabilitate. Datele dvs. ATProto se află pe gazda pe care o alegeți și le puteți migra ulterior. Notă: Streamplace are propriile reguli de moderare - accesul dvs. poate fi interzis pe Streamplace indiferent de gazda pe care o alegeți. pds-selector-read-policies = Citiți Termenii și condițiile și Politica de confidențialitate ale { $label } înainte de a continua. pds-selector-handle-policy-checkbox = Am citit și sunt de acord cu politica de gestionare + +## Login +login-show-live-on-bluesky = Arată când sunt live pe Bluesky +login-show-live-on-bluesky-description = Adaugă inelul roșu LIVE avatarului dvs. de Bluesky în timp ce transmiteți și permite Streamplace să publice anunțuri în numele dvs. Debifați pentru a vă conecta fără a acorda niciun acces la contul dvs. de Bluesky. diff --git a/js/components/locales/zh-Hans/common.ftl b/js/components/locales/zh-Hans/common.ftl index 00c20229..abf41d91 100644 --- a/js/components/locales/zh-Hans/common.ftl +++ b/js/components/locales/zh-Hans/common.ftl @@ -67,3 +67,7 @@ pds-selector-learn-more = 了解有关自组主机的更多信息 pds-selector-info = 每个主机都有自己的政策和可靠性标准。您的 ATProto 数据存储在您选择的主机上,您可以以后进行迁移。注意:Streamplace 有自己的审核规则——无论您选择哪个主机,都可能会被 Streamplace 禁止使用。 pds-selector-read-policies = 在继续之前,请阅读 { $label } 的服务条款和隐私政策。 pds-selector-handle-policy-checkbox = 我已阅读并同意处理政策 + +## Login +login-show-live-on-bluesky = 在 Bluesky 上显示我的直播状态 +login-show-live-on-bluesky-description = 直播时为您的 Bluesky 头像加上红色 LIVE 圆环,并允许 Streamplace 代您发布直播公告。取消勾选即可在不授予任何 Bluesky 账号访问权限的情况下登录。 diff --git a/js/components/locales/zh-Hant/common.ftl b/js/components/locales/zh-Hant/common.ftl index c92043e9..42d720c6 100644 --- a/js/components/locales/zh-Hant/common.ftl +++ b/js/components/locales/zh-Hant/common.ftl @@ -72,3 +72,7 @@ pds-selector-learn-more = 了解更多關於自行架設的資訊 pds-selector-info = 每個主機都有自己的政策和可靠性標準。您的 ATProto 資料存放在您選擇的主機上,您可以之後進行遷移。注意:Streamplace 有自己的審核規則——無論您選擇哪個主機,都可能被 Streamplace 封禁。 pds-selector-read-policies = 在繼續之前,請閱讀 { $label } 的服務條款和隱私政策。 pds-selector-handle-policy-checkbox = 我已閱讀並同意識別碼政策 + +## Login +login-show-live-on-bluesky = 在 Bluesky 上顯示我的直播狀態 +login-show-live-on-bluesky-description = 直播時為您的 Bluesky 頭像加上紅色 LIVE 圓環,並允許 Streamplace 代您發布直播公告。取消勾選即可在不授予任何 Bluesky 帳號存取權限的情況下登入。 -- 2.51.2