diff --git a/apps/nextjs-app/src/features/app/components/SpaceSettingContainer.tsx b/apps/nextjs-app/src/features/app/components/SpaceSettingContainer.tsx index 26febd171c..b6d853eed4 100644 --- a/apps/nextjs-app/src/features/app/components/SpaceSettingContainer.tsx +++ b/apps/nextjs-app/src/features/app/components/SpaceSettingContainer.tsx @@ -21,7 +21,7 @@ export const SpaceSettingContainer = ({ }: SpaceSettingContainerProps) => { return (
-
+

{title}

{description &&
{description}
} diff --git a/apps/nextjs-app/src/features/app/components/billing/UpgradeWrapper.tsx b/apps/nextjs-app/src/features/app/components/billing/UpgradeWrapper.tsx index a24a3e1029..eb21328f42 100644 --- a/apps/nextjs-app/src/features/app/components/billing/UpgradeWrapper.tsx +++ b/apps/nextjs-app/src/features/app/components/billing/UpgradeWrapper.tsx @@ -1,9 +1,9 @@ import { Role } from '@teable/core'; import { BillingProductLevel } from '@teable/openapi'; +import { UsageLimitModalType, useUsageLimitModalStore } from '@teable/sdk/components/billing/store'; import { useBase } from '@teable/sdk/hooks'; import type { Base } from '@teable/sdk/model'; import { toast } from '@teable/ui-lib/shadcn/ui/sonner'; -import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; import { useMemo, useCallback, type ReactElement, cloneElement } from 'react'; import { useBillingLevel } from '../../hooks/useBillingLevel'; @@ -51,12 +51,12 @@ export const UpgradeWrapper: React.FC = ({ targetBillingLevel, onUpgradeClick, }) => { - const router = useRouter(); const isCloud = useIsCloud(); const isCommunity = useIsCommunity(); const isEE = useIsEE(); const base = useBase() as Base | undefined; const { t } = useTranslation('common'); + const { openModal } = useUsageLimitModalStore(); spaceId = base?.spaceId ?? spaceId; const baseId = base?.id; // EE starts from pro level @@ -95,15 +95,14 @@ export const UpgradeWrapper: React.FC = ({ return; } - router.push(`/space/${spaceId}/setting/plan`); + openModal(UsageLimitModalType.Upgrade); } else { window.open('https://app.teable.ai/public/pricing?host=self-hosted', '_blank'); } - }, [onUpgradeClick, isCloud, spaceId, isSpaceOwner, t, router]); + }, [isCloud, spaceId, isSpaceOwner, t, openModal, onUpgradeClick]); const billingConfig = useBillingLevelConfig(targetBillingLevel); - // 创建badge组件 const badge = useMemo(() => { if (!needsUpgrade) { return null; diff --git a/apps/nextjs-app/src/features/app/hooks/useBillingLevelConfig.ts b/apps/nextjs-app/src/features/app/hooks/useBillingLevelConfig.ts index a0946480a8..50aa321b36 100644 --- a/apps/nextjs-app/src/features/app/hooks/useBillingLevelConfig.ts +++ b/apps/nextjs-app/src/features/app/hooks/useBillingLevelConfig.ts @@ -11,21 +11,20 @@ export const useBillingLevelConfig = (productLevel?: BillingProductLevel) => { [BillingProductLevel.Free]: { name: t('level.free'), description: t('billing.levelTips', { level: t('level.free') }), - tagCls: 'bg-slate-200 dark:bg-slate-700 text-slate-600 dark:text-white', - upgradeTagCls: - 'border border-slate-200 dark:border-slate-700 text-slate-600 dark:text-white', + tagCls: 'bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-white', + upgradeTagCls: 'border border-gray-200 dark:border-gray-700 text-gray-600 dark:text-white', }, [BillingProductLevel.Plus]: { name: t('level.plus'), description: t('billing.levelTips', { level: t('level.plus') }), - tagCls: 'bg-violet-200 dark:bg-violet-700 text-violet-600 dark:text-white', - upgradeTagCls: 'border border-violet-200 dark:border-violet-700 text-violet-600', + tagCls: 'bg-emerald-200 dark:bg-emerald-700 text-emerald-600 dark:text-white', + upgradeTagCls: 'border border-emerald-200 dark:border-emerald-700 text-emerald-600', }, [BillingProductLevel.Pro]: { name: t('level.pro'), description: t('billing.levelTips', { level: t('level.pro') }), - tagCls: 'bg-amber-200 dark:bg-amber-700 text-amber-600 dark:text-white', - upgradeTagCls: 'border border-amber-200 dark:border-amber-700 text-amber-600', + tagCls: 'bg-blue-200 dark:bg-blue-700 text-blue-600 dark:text-white', + upgradeTagCls: 'border border-blue-200 dark:border-blue-700 text-blue-600', }, [BillingProductLevel.Enterprise]: { name: t('level.enterprise'), diff --git a/packages/common-i18n/src/locales/de/common.json b/packages/common-i18n/src/locales/de/common.json index 10da254865..48a0acc813 100644 --- a/packages/common-i18n/src/locales/de/common.json +++ b/packages/common-i18n/src/locales/de/common.json @@ -45,7 +45,9 @@ "more": "Mehr", "move": "Verschieben nach", "turnOn": "Einschalten", - "exit": "Ausloggen" + "exit": "Ausloggen", + "next": "Nächste", + "previous": "Vorherige" }, "quickAction": { "title": "Schnelle Aktionen...", diff --git a/packages/common-i18n/src/locales/en/common.json b/packages/common-i18n/src/locales/en/common.json index 5f2cd9095d..3be5b08956 100644 --- a/packages/common-i18n/src/locales/en/common.json +++ b/packages/common-i18n/src/locales/en/common.json @@ -49,7 +49,9 @@ "deleteTip": "Are you sure you want to delete \"{{name}}\"?", "move": "Move to", "turnOn": "Turn on", - "exit": "Exit" + "exit": "Exit", + "next": "Next", + "previous": "Previous" }, "quickAction": { "title": "Quick Actions...", diff --git a/packages/common-i18n/src/locales/es/common.json b/packages/common-i18n/src/locales/es/common.json index 2c08fb4437..8bb2baacbb 100644 --- a/packages/common-i18n/src/locales/es/common.json +++ b/packages/common-i18n/src/locales/es/common.json @@ -45,7 +45,9 @@ "more": "Más", "move": "Mover a", "turnOn": "Activar", - "exit": "Cerrar sesión" + "exit": "Cerrar sesión", + "next": "Siguiente", + "previous": "Anterior" }, "quickAction": { "title": "Acciones Rápidas...", diff --git a/packages/common-i18n/src/locales/fr/common.json b/packages/common-i18n/src/locales/fr/common.json index 36688f7d67..dbf91fa1d8 100644 --- a/packages/common-i18n/src/locales/fr/common.json +++ b/packages/common-i18n/src/locales/fr/common.json @@ -38,7 +38,9 @@ "more": "Plus", "move": "Déplacer vers", "turnOn": "Activer", - "exit": "Déconnexion" + "exit": "Déconnexion", + "next": "Suivant", + "previous": "Précédent" }, "quickAction": { "title": "Actions rapides...", diff --git a/packages/common-i18n/src/locales/it/common.json b/packages/common-i18n/src/locales/it/common.json index 7e61029eeb..2ea50eeb01 100644 --- a/packages/common-i18n/src/locales/it/common.json +++ b/packages/common-i18n/src/locales/it/common.json @@ -45,7 +45,9 @@ "more": "Altro", "move": "Sposta in", "turnOn": "Attiva", - "exit": "Esci" + "exit": "Esci", + "next": "Successivo", + "previous": "Precedente" }, "quickAction": { "title": "Azioni rapide...", diff --git a/packages/common-i18n/src/locales/ja/common.json b/packages/common-i18n/src/locales/ja/common.json index 4d4fd34e58..1f8d141430 100644 --- a/packages/common-i18n/src/locales/ja/common.json +++ b/packages/common-i18n/src/locales/ja/common.json @@ -37,7 +37,9 @@ "more": "もっと", "move": "移動先", "turnOn": "有効にする", - "exit": "ログアウト" + "exit": "ログアウト", + "next": "次へ", + "previous": "前へ" }, "quickAction": { "title": "クイックアクション...", diff --git a/packages/common-i18n/src/locales/ru/common.json b/packages/common-i18n/src/locales/ru/common.json index 41832ad6c3..66db4ec2f6 100644 --- a/packages/common-i18n/src/locales/ru/common.json +++ b/packages/common-i18n/src/locales/ru/common.json @@ -38,7 +38,9 @@ "more": "Больше", "move": "Переместить в", "turnOn": "Включить", - "exit": "Выйти" + "exit": "Выйти", + "next": "Следующая", + "previous": "Предыдущая" }, "quickAction": { "title": "Быстрые действия...", diff --git a/packages/common-i18n/src/locales/tr/common.json b/packages/common-i18n/src/locales/tr/common.json index 06055fa119..06aca11829 100644 --- a/packages/common-i18n/src/locales/tr/common.json +++ b/packages/common-i18n/src/locales/tr/common.json @@ -41,7 +41,9 @@ "hideNotMatchRow": "Eşleşmeyen satırları gizle", "move": "Taşı", "turnOn": "Aç", - "exit": "Çıkış" + "exit": "Çıkış", + "next": "Sonraki", + "previous": "Önceki" }, "quickAction": { "title": "Hızlı İşlemler...", diff --git a/packages/common-i18n/src/locales/uk/common.json b/packages/common-i18n/src/locales/uk/common.json index 3ff92fe2b3..1515e5b6ff 100644 --- a/packages/common-i18n/src/locales/uk/common.json +++ b/packages/common-i18n/src/locales/uk/common.json @@ -38,7 +38,9 @@ "more": "Більше", "move": "Перемістити в", "turnOn": "Увімкнути", - "exit": "Вийти" + "exit": "Вийти", + "next": "Наступна", + "previous": "Попередня" }, "quickAction": { "title": "Швидкі дії...", diff --git a/packages/common-i18n/src/locales/zh/common.json b/packages/common-i18n/src/locales/zh/common.json index 511e9b77b1..c69d4d168a 100644 --- a/packages/common-i18n/src/locales/zh/common.json +++ b/packages/common-i18n/src/locales/zh/common.json @@ -49,7 +49,9 @@ "deleteTip": "确定要删除 \"{{name}}\" 吗?", "move": "移动至", "turnOn": "开启", - "exit": "退出" + "exit": "退出", + "next": "下一页", + "previous": "上一页" }, "quickAction": { "title": "快捷搜索...",