diff --git a/app/profile/page.tsx b/app/profile/page.tsx index 0f3fe3a..9fb2523 100644 --- a/app/profile/page.tsx +++ b/app/profile/page.tsx @@ -177,6 +177,33 @@ export default function ProfilePage() { const usageCardsLoading = usageLoading || creditsLoading + const activeLimitNotice = (() => { + if (!usageSummary || !creditUsage) return null + + if (creditUsage.remaining <= 0) { + return { + title: 'Monthly credits reached', + message: 'Tera blocks new prompts when monthly credits are exhausted. This is the main limit for AI usage.', + } + } + + if (!usageSummary.webSearch.isUnlimited && usageSummary.webSearch.remaining === 0) { + return { + title: 'Web search limit reached', + message: 'Tera can still chat, but web-backed answers are blocked until your web search allowance resets or you upgrade.', + } + } + + if (!usageSummary.uploads.isUnlimited && usageSummary.uploads.remaining === 0) { + return { + title: 'File upload limit reached', + message: 'Tera can still chat, but new file uploads are blocked until your upload allowance resets or you upgrade.', + } + } + + return null + })() + return (
Balance
A live view of the counters Tera updates when you send messages, upload files, run web search, or spend monthly credits.
+A live view of the counters Tera updates when you upload files, run web search, or spend monthly credits. AI conversations themselves are not capped by message count.
{activeLimitNotice.title}
+{activeLimitNotice.message}
+AI conversations
+Unlimited
+Tera does not block you based on a message-count quota. If prompts stop, the active blocker is usually monthly credits, web search, or file uploads.
+