refactor(chat): simplify paid message lock state
This commit is contained in:
@@ -119,7 +119,6 @@ export const clearUpgradePromptAction = chatAssign(() => ({
|
||||
upgradePromptVisible: false,
|
||||
upgradeReason: null,
|
||||
canSendMessage: true,
|
||||
cannotSendReason: null,
|
||||
requiredCredits: 0,
|
||||
shortfallCredits: 0,
|
||||
}));
|
||||
@@ -173,7 +172,6 @@ async function sendMessageViaHttp(content: string): Promise<{
|
||||
void chatRepo.prefetchMediaForSendResponse(result.data);
|
||||
const isInsufficientCredits =
|
||||
result.data.canSendMessage === false &&
|
||||
result.data.cannotSendReason === "insufficient_credits" &&
|
||||
!hasRenderableSendResponse(result.data);
|
||||
return {
|
||||
response: result.data,
|
||||
@@ -183,12 +181,17 @@ async function sendMessageViaHttp(content: string): Promise<{
|
||||
}
|
||||
|
||||
function hasRenderableSendResponse(response: ChatSendResponse): boolean {
|
||||
const isLockedPaidMessage =
|
||||
response.lockDetail.locked &&
|
||||
(response.lockDetail.reason === "private_message" ||
|
||||
response.lockDetail.reason === "voice_message" ||
|
||||
response.lockDetail.reason === "image_paywall" ||
|
||||
response.lockDetail.reason === "image");
|
||||
|
||||
return (
|
||||
response.reply.trim().length > 0 ||
|
||||
response.audioUrl.trim().length > 0 ||
|
||||
Boolean(response.image.url) ||
|
||||
response.lockDetail.reason === "private_message" ||
|
||||
response.lockDetail.reason === "voice_message" ||
|
||||
response.lockDetail.reason === "image_paywall"
|
||||
isLockedPaidMessage
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user