0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-10 22:22:45 -05:00

chore: add paywall banner to SAML app footer (#7011)

This commit is contained in:
Darcy Ye 2025-02-08 16:31:30 +08:00 committed by GitHub
parent 0b785ee0d8
commit c0ecebd81b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 53 additions and 17 deletions

View file

@ -6,7 +6,7 @@ import AddOnNoticeFooter from '@/components/AddOnNoticeFooter';
import ContactUsPhraseLink from '@/components/ContactUsPhraseLink';
import QuotaGuardFooter from '@/components/QuotaGuardFooter';
import SkuName from '@/components/SkuName';
import { contactEmailLink } from '@/consts';
import { officialWebsiteContactPageLink } from '@/consts';
import { addOnPricingExplanationLink } from '@/consts/external-links';
import { machineToMachineAddOnUnitPrice } from '@/consts/subscriptions';
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
@ -16,6 +16,8 @@ import useApplicationsUsage from '@/hooks/use-applications-usage';
import useUserPreferences from '@/hooks/use-user-preferences';
import { isPaidPlan } from '@/utils/subscription';
import createFormStyles from '../index.module.scss';
import styles from './index.module.scss';
type Props = {
@ -96,12 +98,16 @@ function Footer({ selectedType, isLoading, onClickCreate, isThirdParty }: Props)
if (selectedType === ApplicationType.SAML && hasSamlAppsReachedLimit) {
return (
<LinkButton
size="large"
type="primary"
title="general.contact_us_action"
href={contactEmailLink}
/>
<div className={createFormStyles.container}>
<div className={createFormStyles.description}>{t('paywall.saml_applications')}</div>
<LinkButton
targetBlank
size="large"
type="primary"
title="general.contact_us_action"
href={officialWebsiteContactPageLink}
/>
</div>
);
}

View file

@ -8,6 +8,7 @@ export const contactEmailLink = `mailto:${contactEmail}`;
export const reservationLink = 'https://cal.com/logto/30min';
export const trustAndSecurityLink = 'https://logto.io/trust-and-security';
export const pricingLink = 'https://logto.io/pricing';
export const officialWebsiteContactPageLink = 'https://logto.io/contact';
/** Docs link */
export const envTagsFeatureLink = '/docs/references/tenants/#tenant-type';

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'التطبيق الإضافي لـ SAML متاح مع خطة Logto المؤسسية. اتصل بنا إذا كنت بحاجة إلى مساعدة.',
logto_pricing_button_text: 'تسعير Logto Cloud',
saml_applications:
'التطبيق الإضافي لـ SAML متاح مع خطة Logto المؤسسية. اتصل بنا إذا كنت بحاجة إلى مساعدة.',
hooks:
'تم الوصول إلى الحد الأقصى لعدد الويب هوك ({{count, number}}) في الخطة <planName/>. قم بترقية الخطة لإنشاء المزيد من الويب هوك. لأي مساعدة، لا تتردد في <a>الاتصال بنا</a>.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'Die zusätzliche SAML-App ist mit dem Logto-Enterprise-Plan verfügbar. Kontaktieren Sie uns, wenn Sie Hilfe benötigen.',
logto_pricing_button_text: 'Logto Cloud-Preise',
saml_applications:
'Die zusätzliche SAML-App ist mit dem Logto-Enterprise-Plan verfügbar. Kontaktieren Sie uns, wenn Sie Hilfe benötigen.',
hooks:
'Sie haben das Limit von {{count, number}} <planName/>-Webhooks erreicht. Upgraden Sie Ihren Plan, um mehr Webhooks zu erstellen. Zögern Sie nicht, <a>Kontaktieren Sie uns</a>, wenn Sie Hilfe benötigen.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'The additional SAML app is available with the Logto Enterprise plan. Contact us if you need assistance.',
logto_pricing_button_text: 'Logto Cloud Pricing',
saml_applications:
'The additional SAML app is available with the Logto Enterprise plan. Contact us if you need assistance.',
hooks:
'{{count, number}} webhook of <planName/> limit reached. Upgrade plan to create more webhooks. Feel free to <a>contact us</a> if you need any assistance.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'La aplicación SAML adicional está disponible con el plan Logto Enterprise. Contáctanos si necesitas asistencia.',
logto_pricing_button_text: 'Precios de Logto Cloud',
saml_applications:
'La aplicación SAML adicional está disponible con el plan Logto Enterprise. Contáctanos si necesitas asistencia.',
hooks:
'Has alcanzado el límite de {{count, number}} webhooks de <planName/>. Actualiza el plan para crear más webhooks. Si necesitas ayuda, no dudes en <a>contactarnos</a>.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
"L'application SAML supplémentaire est disponible avec le plan Logto Enterprise. Contactez-nous si vous avez besoin d'assistance.",
logto_pricing_button_text: 'Tarification Logto Cloud',
saml_applications:
"L'application SAML supplémentaire est disponible avec le plan Logto Enterprise. Contactez-nous si vous avez besoin d'assistance.",
hooks:
"Vous avez atteint la limite de {{count, number}} webhook de <planName/>. Mettez à niveau votre plan pour créer plus de webhooks. Nhésitez pas à <a>nous contacter</a> si vous avez besoin d'aide.",
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
"L'app SAML aggiuntiva è disponibile con il piano Logto Enterprise. Contattaci se hai bisogno di assistenza.",
logto_pricing_button_text: 'Prezzi del Logto Cloud',
saml_applications:
"L'app SAML aggiuntiva è disponibile con il piano Logto Enterprise. Contattaci se hai bisogno di assistenza.",
hooks:
'Hai raggiunto il limite di {{count, number}} webhook di <planName/>. Aggiorna il piano per creare altri webhook. Non esitare a <a>contattarci</a> se hai bisogno di assistenza.',
hooks_other:

View file

@ -38,9 +38,9 @@ const paywall = {
roles_other:
'{{count, number}}個の<planName/>制限のロールに達しました。追加のロールおよび権限を追加するにはプランをアップグレードしてください。サポートが必要な場合は、お気軽に<a>お問い合わせ</a>ください。',
machine_to_machine_roles:
'{{count, number}} machine-to-machine role of <planName/> limit reached. Upgrade plan to add additional roles and permissions. Feel free to <a>contact us</a> if you need any assistance.',
'{{count, number}}個の<planName/>マシン間ロール制限に達しました。追加のロールと権限を追加するにはプランをアップグレードしてください。サポートが必要な場合は、お気軽に<a>お問い合わせ</a>ください。',
machine_to_machine_roles_other:
'{{count, number}} machine-to-machine roles of <planName/> limit reached. Upgrade plan to add additional roles and permissions. Feel free to <a>contact us</a> if you need any assistance.',
'{{count, number}}個の<planName/>マシン間ロール制限に達しました。追加のロールと権限を追加するにはプランをアップグレードしてください。サポートが必要な場合は、お気軽に<a>お問い合わせ</a>ください。',
scopes_per_role:
'{{count, number}}の<planName/>ロールあたりの許可制限に達しました。追加のロールと権限を追加するにはプランをアップグレードしてください。<a>お問い合わせ</a>は何かお手伝いが必要な場合はお気軽にどうぞ.',
scopes_per_role_other:
@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'追加の SAML アプリは Logto エンタープライズプランで利用可能です。サポートが必要な場合は、お問い合わせください。',
logto_pricing_button_text: 'Logto クラウド価格設定',
saml_applications:
'追加の SAML アプリは Logto エンタープライズプランで利用可能です。サポートが必要な場合は、お問い合わせください。',
hooks:
'{{count, number}}の<planName/>ウェブフック制限に達しました。追加のウェブフックを作成するにはプランをアップグレードしてください。<a>お問い合わせ</a>は何かお手伝いが必要な場合はお気軽にどうぞ。',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'추가 SAML 앱은 Logto 엔터프라이즈 플랜에서 사용할 수 있습니다. 도움이 필요하면 문의하세요.',
logto_pricing_button_text: 'Logto 클라우드 가격',
saml_applications:
'추가 SAML 앱은 Logto 엔터프라이즈 플랜에서 사용할 수 있습니다. 도움이 필요하면 <a>문의하세요</a>.',
hooks:
'<planName/>의 {{count, number}}개 웹훅 한도에 도달했습니다. 더 많은 웹훅을 생성하려면 플랜을 업그레이드하세요. 도움이 필요하면 <a>문의하기</a>로 연락 주세요.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'Dodatkowa aplikacja SAML jest dostępna w planie Logto Enterprise. Skontaktuj się z nami, jeśli potrzebujesz pomocy.',
logto_pricing_button_text: 'Cennik Logto Cloud',
saml_applications:
'Dodatkowa aplikacja SAML jest dostępna w planie Logto Enterprise. Skontaktuj się z nami, jeśli potrzebujesz pomocy.',
hooks:
'Osiągnięto limit {{count, number}} webhooków w planie <planName/>. Ulepsz plan, aby tworzyć więcej webhooków. Jeśli potrzebujesz pomocy, nie wahaj się <a>skontaktować z nami</a>.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'O aplicativo SAML adicional está disponível com o plano Logto Enterprise. Entre em contato conosco se precisar de assistência.',
logto_pricing_button_text: 'Preços do Logto Cloud',
saml_applications:
'O aplicativo SAML adicional está disponível com o plano Logto Enterprise. Entre em contato conosco se precisar de assistência.',
hooks:
'Atingiu o limite de {{count, number}} webhooks de <planName/>. Atualize o plano para criar mais webhooks. Não hesite em <a>Entre em contato conosco</a> se precisar de ajuda.',
hooks_other:

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'A aplicação SAML adicional está disponível com o plano Logto Empresarial. Contacte-nos se precisar de assistência.',
logto_pricing_button_text: 'Preços do Logto Cloud',
saml_applications:
'A aplicação SAML adicional está disponível com o plano Logto Empresarial. Contacte-nos se precisar de assistência.',
hooks:
'Atingiu o limite de {{count, number}} webhooks do plano <planName/>. Atualize o plano para criar mais webhooks. Não hesite em <a>Contacte-nos</a> se precisar de ajuda.',
hooks_other:

View file

@ -8,7 +8,7 @@ const paywall = {
machine_to_machine:
'Достигнут лимит {{count, number}} машинных приложений для <planName/>. Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь <a>связаться с нами</a>.',
machine_to_machine_other:
'Достигнут лимит {{count, number}} машинных приложений для <planName/>. Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь <a>связаться с нами</a>.',
'Достигнут лимит {{count, number}} машинных приложений для <planName/>. Обновите план, чтобы удовлетворить потребности вашей команды. При необходимости помощи, не стесняйтесь <a>связаться с нами</а>.',
resources:
'Достигнут лимит {{count, number}} ресурсов API в плане <planName/>. Повысьте план, чтобы удовлетворить потребности вашей команды. <a>Свяжитесь с нами</a> для получения помощи.',
resources_other:
@ -18,7 +18,7 @@ const paywall = {
scopes_per_resource_other:
'Достигнут лимит {{count, number}} разрешений на ресурс API в плане <planName/>. Повысьте план, чтобы увеличить количество разрешений. <a>Свяжитесь с нами</a> для получения помощи.',
custom_domain:
'Разблокируйте функцию настраиваемого домена, обновив план до <strong>Hobby</strong> или <strong>Pro</strong>. Не стесняйтесь <a>связаться с нами</а>, если вам нужна помощь.',
'Разблокируйте функцию настраиваемого домена, обновив план до <strong>Hobby</strong> или <strong>Pro</strong>. Не стесняйтесь <a>связаться с нами</a>, если вам нужна помощь.',
social_connectors:
'Достигнут лимит {{count, number}} социальных коннекторов в плане <planName/>. Для удовлетворения потребностей вашей команды повысьте план, чтобы получить дополнительные социальные коннекторы и возможность создания собственных коннекторов с использованием протоколов OIDC, OAuth 2.0 и SAML. Если вам нужна помощь, не стесняйтесь <a>связаться с нами</a>.',
social_connectors_other:
@ -40,18 +40,20 @@ const paywall = {
machine_to_machine_roles:
'{{count, number}} роль для машинного приложения в пределах <planName/> достигла лимита. Повысьте план, чтобы добавить дополнительные роли и разрешения. Не стесняйтесь <a>связаться с нами</a>, если вам нужна помощь.',
machine_to_machine_roles_other:
'{{count, number}} ролей для машинного приложения в пределах <planName/> достигли лимита. Повысьте план, чтобы добавить дополнительные роли и разрешения. Не стесняйтесь <a>связаться с нами</a>, если вам нужна помощь.',
'{{count, number}} ролей для машинного приложения в пределах <planName/> достигли лимита. Повысьте план, чтобы добавить дополнительные роли и разрешения. Не стесняйтесь <a>связаться с нами</а>, если вам нужна помощь.',
scopes_per_role:
'Достигнут лимит {{count, number}} разрешений на роль в плане <planName/>. Повысьте план, чтобы добавить дополнительные роли и разрешения. Если вам нужна помощь, не стесняйтесь <a>связаться с нами</a>.',
scopes_per_role_other:
'Достигнут лимит {{count, number}} разрешений на роль в плане <planName/>. Повысьте план, чтобы добавить дополнительные роли и разрешения. Если вам нужна помощь, не стесняйтесь <a>связаться с нами</a>.',
'Достигнут лимит {{count, number}} разрешений на роль в плане <planName/>. Повысьте план, чтобы добавить дополнительные роли и разрешения. Если вам нужна помощь, не стесняйтесь <a>связаться с нами</а>.',
saml_applications_oss:
'Дополнительное SAML-приложение доступно в рамках корпоративного плана Logto. Свяжитесь с нами, если вам нужна помощь.',
logto_pricing_button_text: 'Цены Logto Cloud',
saml_applications:
'Дополнительное SAML-приложение доступно с планом Logto Enterprise. Свяжитесь с нами, если вам нужна помощь.',
hooks:
'Достигнут лимит {{count, number}} вебхуков в плане <planName/>. Повысьте план, чтобы создать больше вебхуков. Если вам нужна помощь, не стесняйтесь <a>связаться с нами</а>.',
hooks_other:
'Достигнут лимит {{count, number}} вебхуков в плане <planName/>. Повысьте план, чтобы создать больше вебхуков. Если вам нужна помощь, не стесняйтесь <а>связаться с нами</a>.',
'Достигнут лимит {{count, number}} вебхуков в плане <planName/>. Повысьте план, чтобы создать больше вебхуков. Если вам нужна помощь, не стесняйтесь <а>связаться с нами</а>.',
mfa: 'Разблокируйте MFA для повышения безопасности с помощью перехода на платный план. Не стесняйтесь <a>связаться с нами</a>, если вам нужна помощь.',
organizations:
'Разблокируйте организации, перейдя на платный план. Не стесняйтесь <a>связаться с нами</а>, если вам нужна помощь.',
@ -60,13 +62,13 @@ const paywall = {
sso_connectors:
'Разблокируйте единые серверы аутентификации для предприятия, перейдя на платный план. Для получения помощи не стесняйтесь <a>связаться с нами</a>.',
tenant_members:
'Разблокируйте функцию сотрудничества, перейдя на платный план. Для получения помощи не стесняйтесь <a>связаться с нами</a>.',
'Разблокируйте функцию сотрудничества, перейдя на платный план. Для получения помощи не стесняйтесь <a>связаться с нами</а>.',
tenant_members_dev_plan:
'Вы достигли лимита {{limit}} участников. Освободите место для новых участников или отмените ожидающее приглашение. Нужны дополнительные места? Не стесняйтесь <a>связаться с нами</a>.',
'Вы достигли лимита {{limit}} участников. Освободите место для новых участников или отмените ожидающее приглашение. Нужны дополнительные места? Не стесняйтесь <a>связаться с нами</а>.',
custom_jwt: {
title: 'Добавить пользовательские претензии',
description:
'Обновите платный план для функциональности пользовательского JWT и дополнительных премиальных возможностей. Если у вас есть вопросы, не стесняйтесь <a>связаться с нами</a>.',
'Обновите платный план для функциональности пользовательского JWT и дополнительных премиальных возможностей. Если у вас есть вопросы, не стесняйтесь <a>связаться с нами</а>.',
},
bring_your_ui:
'Обновите план до платного, чтобы использовать собственный интерфейс и получать премиальные преимущества.',

View file

@ -48,6 +48,8 @@ const paywall = {
saml_applications_oss:
'Ek SAML uygulaması, Logto Enterprise planı ile mevcuttur. Yardıma ihtiyacınız olursa, bizimle iletişime geçin.',
logto_pricing_button_text: 'Logto Bulut Fiyatlandırması',
saml_applications:
'Ek SAML uygulaması, Logto Enterprise planı ile mevcuttur. Yardım için bize ulaşın.',
hooks:
'{{count, number}} <planName/> webhook sınırına ulaşıldı. Daha fazla webhook oluşturmak için planı yükseltin. Yardım için ihtiyacınız olursa, <a>iletişime geçin</a>.',
hooks_other:

View file

@ -47,6 +47,7 @@ const paywall = {
'已达到 <planName/> 的{{count, number}}个角色每个权限限制。升级计划以添加额外的角色和权限。如需任何帮助,请 <a>联系我们</a>。',
saml_applications_oss: '额外的 SAML 应用可用于 Logto Enterprise 计划。如需帮助,请联系我们。',
logto_pricing_button_text: 'Logto 云定价',
saml_applications: '额外的 SAML 应用可在 Logto Enterprise 计划中使用。如果需要帮助,请联系我们。',
hooks:
'已达到 <planName/> 的{{count, number}}个 Webhook 限制。升级计划以创建更多 Webhook。如需任何帮助请 <a>联系我们</a>。',
hooks_other:

View file

@ -47,6 +47,7 @@ const paywall = {
'已達到 <planName/> 的{{count, number}}個角色每個權限限制。升級計劃以添加額外的角色和權限。如需任何協助,歡迎<a>聯繫我們</a>。',
saml_applications_oss: '額外的 SAML 應用程式可在 Logto 企業版計劃中使用。如需協助,請聯絡我們。',
logto_pricing_button_text: 'Logto Cloud 定價',
saml_applications: '額外的 SAML 應用程式可在 Logto 企業版計劃中使用。如需要協助,請聯絡我們。',
hooks:
'已達到 <planName/> 的{{count, number}}個 Webhook 限制。升級計劃以創建更多 Webhook。如需任何協助歡迎<a>聯絡我們</a>。',
hooks_other:

View file

@ -48,6 +48,7 @@ const paywall = {
saml_applications_oss:
'額外的 SAML 應用程式可在 Logto 企業版計劃中使用。如需協助,請與我們聯絡。',
logto_pricing_button_text: 'Logto 雲端定價',
saml_applications: '額外的 SAML 應用程式可在 Logto 企業版計劃中使用。如需協助,請聯絡我們。',
hooks:
'已達到 <planName/> 的{{count, number}}個 Webhook 限制。升級計劃以創建更多 Webhook。如需任何幫助請<a>聯繫我們</a>。',
hooks_other: