diff --git a/src/components/chat/MessagesList.tsx b/src/components/chat/MessagesList.tsx index 994b22f..9bd13c5 100644 --- a/src/components/chat/MessagesList.tsx +++ b/src/components/chat/MessagesList.tsx @@ -16,6 +16,8 @@ import { IpcClient } from "@/ipc/ipc_client"; import { chatMessagesAtom } from "@/atoms/chatAtoms"; import { useLanguageModelProviders } from "@/hooks/useLanguageModelProviders"; import { useSettings } from "@/hooks/useSettings"; +import { useUserBudgetInfo } from "@/hooks/useUserBudgetInfo"; + interface MessagesListProps { messages: Message[]; messagesEndRef: React.RefObject; @@ -32,6 +34,7 @@ export const MessagesList = forwardRef( const [isUndoLoading, setIsUndoLoading] = useState(false); const [isRetryLoading, setIsRetryLoading] = useState(false); const selectedChatId = useAtomValue(selectedChatIdAtom); + const { userBudget } = useUserBudgetInfo(); return (
(
)} - {isStreaming && !settings?.enableDyadPro && messages.length > 0 && ( -
-

- Tired of waiting on AI? - - IpcClient.getInstance().openExternalUrl( - "https://dyad.sh/pro#ai", - ) - } - className=" text-blue-600 hover:text-blue-800 underline ml-1 cursor-pointer" - > - Get Dyad Pro - {" "} - for faster edits with Turbo Edits. -

-
- )} + {isStreaming && + !settings?.enableDyadPro && + !userBudget && + messages.length > 0 && ( +
+

+ Tired of waiting on AI? + + IpcClient.getInstance().openExternalUrl( + "https://dyad.sh/pro#ai", + ) + } + className=" text-blue-600 hover:text-blue-800 underline ml-1 cursor-pointer" + > + Get Dyad Pro + {" "} + for faster edits with Turbo Edits. +

+
+ )}
); diff --git a/src/ipc/handlers/pro_handlers.ts b/src/ipc/handlers/pro_handlers.ts index 0294127..c9bf5e7 100644 --- a/src/ipc/handlers/pro_handlers.ts +++ b/src/ipc/handlers/pro_handlers.ts @@ -2,7 +2,7 @@ import fetch from "node-fetch"; // Electron main process might need node-fetch import log from "electron-log"; import { createLoggedHandler } from "./safe_handle"; import { readSettings } from "../../main/settings"; // Assuming settings are read this way -import { UserBudgetInfoSchema } from "../ipc_types"; +import { UserBudgetInfo, UserBudgetInfoSchema } from "../ipc_types"; const logger = log.scope("pro_handlers"); const handle = createLoggedHandler(logger);