1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7246],{97:(e,t,r)=>{"use strict";r.d(t,{g:()=>a});var a=function(e){return e.MONTHLY_REFRESH="MONTHLY_REFRESH",e.REGISTER_GIFT="REGISTER_GIFT",e.PURCHASE_PACKAGE="PURCHASE_PACKAGE",e.SUBSCRIPTION_RENEWAL="SUBSCRIPTION_RENEWAL",e.LIFETIME_MONTHLY="LIFETIME_MONTHLY",e.USAGE="USAGE",e.EXPIRE="EXPIRE",e.UTM_BONUS="UTM_BONUS",e.GEOGRAPHIC_BONUS="GEOGRAPHIC_BONUS",e.DAILY_CHECK_IN="DAILY_CHECK_IN",e.IP_LIMIT_EXCEEDED="IP_LIMIT_EXCEEDED",e.GUEST_BONUS="GUEST_BONUS",e.REFERRAL_REFERRER_SIGNUP_BONUS="REFERRAL_REFERRER_SIGNUP_BONUS",e.REFERRAL_REFERRED_SIGNUP_BONUS="REFERRAL_REFERRED_SIGNUP_BONUS",e.REFERRAL_REFERRER_BONUS="REFERRAL_REFERRER_BONUS",e.REFERRAL_SECOND_LEVEL_BONUS="REFERRAL_SECOND_LEVEL_BONUS",e.REFERRAL_REFERRED_BONUS="REFERRAL_REFERRED_BONUS",e}({})},14123:()=>{},15348:(e,t,r)=>{"use strict";r.d(t,{w:()=>s});var a=r(76583);let s=()=>{let{data:e,error:t}=a.y.useSession();return t?(console.error("useSession, error:",t),null):e}},18329:()=>{},45760:()=>{},48704:(e,t,r)=>{"use strict";r.d(t,{E:()=>o});var a=r(86990);r(75294);var s=r(42622),n=r(82274),i=r(95644);let d=(0,n.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:r,asChild:n=!1,...o}=e,l=n?s.DX:"span";return(0,a.jsx)(l,{"data-slot":"badge",className:(0,i.cn)(d({variant:r}),t),...o})}},72327:(e,t,r)=>{"use strict";r.d(t,{CheckInHero:()=>z});var a=r(86990),s=r(48704),n=r(13215),i=r(23565),d=r(13815),o=r(60339),l=r(15348);function u(){return d.u.credits.guestCredits.enable}r(65274),r(90748),r(17881);var c=r(71921),_=r(92633),m=r(66950),p=r(24947),f=r(35148),x=r(24428),v=r(8680),h=r(56354),I=r(72751),y=r(60492),N=r(21722);function g(){let e=(0,c._)(["gen_random_uuid()"]);return g=function(){return e},e}(0,_.rL)("pricing_plan_interval",["day","week","month","year"]),(0,_.rL)("pricing_type",["one_time","recurring"]),(0,_.rL)("subscription_status",["trialing","active","canceled","incomplete","incomplete_expired","past_due","unpaid","paused"]);let E=(0,m.cJ)("user",{id:(0,p.Qq)("id").primaryKey(),name:(0,p.Qq)("name").notNull(),email:(0,p.Qq)("email").notNull().unique(),emailVerified:(0,f.zM)("email_verified").notNull(),image:(0,p.Qq)("image"),createdAt:(0,x.vE)("created_at").notNull(),updatedAt:(0,x.vE)("updated_at").notNull(),role:(0,p.Qq)("role"),banned:(0,f.zM)("banned"),banReason:(0,p.Qq)("ban_reason"),banExpires:(0,x.vE)("ban_expires"),customerId:(0,p.Qq)("customer_id"),isAnonymous:(0,f.zM)("is_anonymous").default(!1).notNull()},e=>({userIdIdx:(0,v.Pe)("user_id_idx").on(e.id),userCustomerIdIdx:(0,v.Pe)("user_customer_id_idx").on(e.customerId),userRoleIdx:(0,v.Pe)("user_role_idx").on(e.role),userIsAnonymousIdx:(0,v.Pe)("user_is_anonymous_idx").on(e.isAnonymous)}));(0,m.cJ)("session",{id:(0,p.Qq)("id").primaryKey(),expiresAt:(0,x.vE)("expires_at").notNull(),token:(0,p.Qq)("token").notNull().unique(),createdAt:(0,x.vE)("created_at").notNull(),updatedAt:(0,x.vE)("updated_at").notNull(),ipAddress:(0,p.Qq)("ip_address"),userAgent:(0,p.Qq)("user_agent"),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),impersonatedBy:(0,p.Qq)("impersonated_by")},e=>({sessionTokenIdx:(0,v.Pe)("session_token_idx").on(e.token),sessionUserIdIdx:(0,v.Pe)("session_user_id_idx").on(e.userId)})),(0,m.cJ)("account",{id:(0,p.Qq)("id").primaryKey(),accountId:(0,p.Qq)("account_id").notNull(),providerId:(0,p.Qq)("provider_id").notNull(),userId:(0,p.Qq)("user_id").notNull().references(()=>
1E.id,{onDelete:"cascade"}),accessToken:(0,p.Qq)("access_token"),refreshToken:(0,p.Qq)("refresh_token"),idToken:(0,p.Qq)("id_token"),accessTokenExpiresAt:(0,x.vE)("access_token_expires_at"),refreshTokenExpiresAt:(0,x.vE)("refresh_token_expires_at"),scope:(0,p.Qq)("scope"),password:(0,p.Qq)("password"),createdAt:(0,x.vE)("created_at").notNull(),updatedAt:(0,x.vE)("updated_at").notNull()},e=>({accountUserIdIdx:(0,v.Pe)("account_user_id_idx").on(e.userId),accountAccountIdIdx:(0,v.Pe)("account_account_id_idx").on(e.accountId),accountProviderIdIdx:(0,v.Pe)("account_provider_id_idx").on(e.providerId)})),(0,m.cJ)("verification",{id:(0,p.Qq)("id").primaryKey(),identifier:(0,p.Qq)("identifier").notNull(),value:(0,p.Qq)("value").notNull(),expiresAt:(0,x.vE)("expires_at").notNull(),createdAt:(0,x.vE)("created_at"),updatedAt:(0,x.vE)("updated_at")});let k=(0,m.cJ)("payment",{id:(0,p.Qq)("id").primaryKey(),priceId:(0,p.Qq)("price_id").notNull(),type:(0,p.Qq)("type").notNull(),interval:(0,p.Qq)("interval"),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),customerId:(0,p.Qq)("customer_id").notNull(),subscriptionId:(0,p.Qq)("subscription_id"),sessionId:(0,p.Qq)("session_id"),status:(0,p.Qq)("status").notNull(),provider:(0,p.Qq)("provider").notNull().default("stripe"),periodStart:(0,x.vE)("period_start"),periodEnd:(0,x.vE)("period_end"),cancelAtPeriodEnd:(0,f.zM)("cancel_at_period_end"),trialStart:(0,x.vE)("trial_start"),trialEnd:(0,x.vE)("trial_end"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({paymentTypeIdx:(0,v.Pe)("payment_type_idx").on(e.type),paymentPriceIdIdx:(0,v.Pe)("payment_price_id_idx").on(e.priceId),paymentUserIdIdx:(0,v.Pe)("payment_user_id_idx").on(e.userId),paymentCustomerIdIdx:(0,v.Pe)("payment_customer_id_idx").on(e.customerId),paymentStatusIdx:(0,v.Pe)("payment_status_idx").on(e.status),paymentProviderIdx:(0,v.Pe)("payment_provider_idx").on(e.provider),paymentSubscriptionIdIdx:(0,v.Pe)("payment_subscription_id_idx").on(e.subscriptionId),paymentSessionIdIdx:(0,v.Pe)("payment_session_id_idx").on(e.sessionId),paymentUserIntervalStatusIdx:(0,v.Pe)("payment_user_interval_status_idx").on(e.userId,e.interval,e.status)}));(0,m.cJ)("user_credit",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),currentCredits:(0,h.nd)("current_credits").notNull().default(0),lastRefreshAt:(0,x.vE)("last_refresh_at"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({userCreditUserIdIdx:(0,v.Pe)("user_credit_user_id_idx").on(e.userId)}));let q=(0,m.cJ)("credit_transaction",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),type:(0,p.Qq)("type").notNull(),description:(0,p.Qq)("description"),amount:(0,h.nd)("amount").notNull(),remainingAmount:(0,h.nd)("remaining_amount"),paymentId:(0,p.Qq)("payment_id"),expirationDate:(0,x.vE)("expiration_date"),expirationDateProcessedAt:(0,x.vE)("expiration_date_processed_at"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({creditTransactionUserIdIdx:(0,v.Pe)("credit_transaction_user_id_idx").on(e.userId),creditTransactionTypeIdx:(0,v.Pe)("credit_transaction_type_idx").on(e.type),creditExpirationActiveIdx:(0,v.Pe)("credit_expiration_active_idx").on(e.userId,e.expirationDate,e.remainingAmount),creditTransactionDailyCheckInIdx:(0,v.Pe)("credit_transaction_daily_checkin_idx").on(e.userId,e.type,e.createdAt),creditTransactionFifoIdx:(0,v.Pe)("credit_transaction_fifo_idx").on(e.userId,e.remainingAmount,e.expirationDate,e.createdAt)}));(0,m.cJ)("referral_profile",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().unique().references(()=>E.id,{onDelete:"cascade"}),referralCode:(0,p.Qq)("referral_code").notNull().unique(),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()}),(0,m.cJ)("referral",{id:(0,p.Qq)("id").primaryKey(),referrerUserId:(0,p.Qq)("referrer_user_id").notNull().references(()=>
1E.id,{onDelete:"cascade"}),referredUserId:(0,p.Qq)("referred_user_id").notNull().unique().references(()=>E.id,{onDelete:"cascade"}),referralCode:(0,p.Qq)("referral_code").notNull(),status:(0,p.Qq)("status").$type().notNull().default("pending"),conversionPaymentId:(0,p.Qq)("conversion_payment_id").references(()=>k.id,{onDelete:"set null"}),referrerRewardTransactionId:(0,p.Qq)("referrer_reward_transaction_id").references(()=>q.id,{onDelete:"set null"}),secondLevelRewardTransactionId:(0,p.Qq)("second_level_reward_transaction_id").references(()=>q.id,{onDelete:"set null"}),referredRewardTransactionId:(0,p.Qq)("referred_reward_transaction_id").references(()=>q.id,{onDelete:"set null"}),convertedAt:(0,x.vE)("converted_at"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({referralReferrerUserIdIdx:(0,v.Pe)("referral_referrer_user_id_idx").on(e.referrerUserId),referralReferredUserIdIdx:(0,v.Pe)("referral_referred_user_id_idx").on(e.referredUserId),referralStatusIdx:(0,v.Pe)("referral_status_idx").on(e.status),referralCodeIdx:(0,v.Pe)("referral_code_idx").on(e.referralCode)}));let A=(0,_.rL)("status",["pending","processing","done","failed"]);(0,m.cJ)("video_generation_task",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),taskId:(0,p.Qq)("task_id").notNull().unique(),provider:(0,p.Qq)("provider").notNull(),model:(0,p.Qq)("model").notNull(),prompt:(0,p.Qq)("prompt").notNull(),imageUrls:(0,p.Qq)("image_urls"),status:(0,h.nd)("status").notNull().default(0),videoUrl:(0,p.Qq)("video_url"),thumbnailUrl:(0,p.Qq)("thumbnail_url"),duration:(0,h.nd)("duration"),aspectRatio:(0,p.Qq)("aspect_ratio"),creditsUsed:(0,h.nd)("credits_used").notNull(),creditTransactionId:(0,p.Qq)("credit_transaction_id"),error:(0,p.Qq)("error"),output:(0,p.Qq)("output"),completedAt:(0,x.vE)("completed_at"),metadata:(0,p.Qq)("metadata"),refundStatus:(0,h.nd)("refund_status").notNull().default(0),refundAmount:(0,h.nd)("refund_amount").notNull().default(0),refundTransactionId:(0,p.Qq)("refund_transaction_id"),refundReason:(0,p.Qq)("refund_reason"),refundedAt:(0,x.vE)("refunded_at"),watermarkStatus:(0,h.nd)("watermark_status").notNull().default(0),r2OriginalVideoUrl:(0,p.Qq)("r2_original_video_url"),r2WatermarkedVideoUrl:(0,p.Qq)("r2_watermarked_video_url"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({videoGenerationTaskUserIdIdx:(0,v.Pe)("video_generation_task_user_id_idx").on(e.userId),videoGenerationTaskProviderIdx:(0,v.Pe)("video_generation_task_provider_idx").on(e.provider),videoGenerationTaskStatusIdx:(0,v.Pe)("video_generation_task_status_idx").on(e.status),videoGenerationTaskTaskIdIdx:(0,v.Pe)("video_generation_task_task_id_idx").on(e.taskId)})),(0,m.cJ)("image_generation_task",{id:(0,p.Qq)("id").primaryKey().default((0,N.ll)(g())),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),taskId:(0,p.Qq)("task_id").notNull().unique(),provider:(0,p.Qq)("provider").notNull(),model:(0,p.Qq)("model").notNull(),prompt:(0,p.Qq)("prompt").notNull(),status:(0,h.nd)("status").notNull().default(0),creditsUsed:(0,h.nd)("credits_used").notNull(),creditTransactionId:(0,p.Qq)("credit_transaction_id"),error:(0,p.Qq)("error"),output:(0,p.Qq)("output"),completedAt:(0,x.vE)("completed_at"),metadata:(0,p.Qq)("metadata"),refundStatus:(0,h.nd)("refund_status").notNull().default(0),refundAmount:(0,h.nd)("refund_amount").notNull().default(0),refundTransactionId:(0,p.Qq)("refund_transaction_id"),refundReason:(0,p.Qq)("refund_reason"),refundedAt:(0,x.vE)("refunded_at"),watermarkStatus:(0,h.nd)("watermark_status").notNull().default(0),r2OriginalImageUrls:(0,p.Qq)("r2_original_image_urls"),r2WatermarkedImageUrls:(0,p.Qq)("r2_watermarked_image_urls"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({imageGenerationTaskUserIdIdx:(0,v.Pe)("image_generation_task_user_id_idx").on(e.userId),imageGenerationTaskProviderIdx:(0,v.Pe)("image_generation_task_provider_idx").on(e.provider),imageGenerationTaskStatusIdx:(0,v.Pe)("image_generation_task_status_idx").on(e.status),imageGenerationTaskTaskIdIdx:(0,v.Pe)("image_generation_task_task_id_idx").on(e.taskId),imageGenerationTaskHistoryIdx:(0,v.Pe)("image_generation_task_history_idx").on(e.userId,e.createdAt)})),(0,m.cJ)("custom_model",{id:(0,p.Qq)("id").primaryKey(),name:(0,p.Qq)("name").notNull(),height:(0,p.Qq)("height").notNull(),weight:(0,p.Qq)("weight").notNull(),bodyType:(0,p.Qq)("body_type").notNull(),style:(0,p.Qq)("style").notNull(),imageUrl:(0,p.Qq)("image_url").notNull(),ossKey:(0,p.Qq)("oss_key").notNull(),userId:(0,p.Qq)("user_id").notNull().references(()=>
1E.id,{onDelete:"cascade"}),isActive:(0,f.zM)("is_active").notNull().default(!0),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({customModelUserIdIdx:(0,v.Pe)("custom_model_user_id_idx").on(e.userId),customModelActiveIdx:(0,v.Pe)("custom_model_active_idx").on(e.isActive)})),(0,m.cJ)("try_on_history",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),modelName:(0,p.Qq)("model_name").notNull(),modelImageUrl:(0,p.Qq)("model_image_url").notNull(),clothingType:(0,p.Qq)("clothing_type").notNull(),topGarmentUrl:(0,p.Qq)("top_garment_url"),bottomGarmentUrl:(0,p.Qq)("bottom_garment_url"),resultImageUrl:(0,p.Qq)("result_image_url").notNull(),taskId:(0,p.Qq)("task_id"),outfitId:(0,p.Qq)("outfit_id"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({tryOnHistoryUserIdIdx:(0,v.Pe)("try_on_history_user_id_idx").on(e.userId),tryOnHistoryCreatedAtIdx:(0,v.Pe)("try_on_history_created_at_idx").on(e.createdAt)})),(0,m.cJ)("user_analytics",{id:(0,p.Qq)("id").primaryKey(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),email:(0,p.Qq)("email").notNull(),country:(0,p.Qq)("country"),userIp:(0,p.Qq)("user_ip"),device:(0,p.Qq)("device"),referer:(0,p.Qq)("referer"),utm:(0,p.Qq)("utm"),hasPurchased:(0,f.zM)("has_purchased").default(!1),isSubscriber:(0,f.zM)("is_subscriber").default(!1),subscriptionType:(0,p.Qq)("subscription_type"),firstPurchaseAt:(0,x.vE)("first_purchase_at"),lastPurchaseAt:(0,x.vE)("last_purchase_at"),totalPurchaseCount:(0,h.nd)("total_purchase_count").default(0),renewalCount:(0,h.nd)("renewal_count").default(0),totalCreditsPurchased:(0,h.nd)("total_credits_purchased").default(0),totalCreditsUsed:(0,h.nd)("total_credits_used").default(0),totalAmountSpent:(0,h.nd)("total_amount_spent").default(0),lastPurchaseAmount:(0,h.nd)("last_purchase_amount").default(0),currency:(0,p.Qq)("currency").default("USD"),userSegment:(0,p.Qq)("user_segment"),isAnonymous:(0,f.zM)("is_anonymous").default(!1),lastActiveAt:(0,x.vE)("last_active_at"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow()},e=>({userAnalyticsUserIdIdx:(0,v.Pe)("user_analytics_user_id_idx").on(e.userId),userAnalyticsEmailIdx:(0,v.Pe)("user_analytics_email_idx").on(e.email),userAnalyticsCountryIdx:(0,v.Pe)("user_analytics_country_idx").on(e.country),userAnalyticsHasPurchasedIdx:(0,v.Pe)("user_analytics_has_purchased_idx").on(e.hasPurchased),userAnalyticsSubscriptionTypeIdx:(0,v.Pe)("user_analytics_subscription_type_idx").on(e.subscriptionType),userAnalyticsUserSegmentIdx:(0,v.Pe)("user_analytics_user_segment_idx").on(e.userSegment),userAnalyticsIsAnonymousIdx:(0,v.Pe)("user_analytics_is_anonymous_idx").on(e.isAnonymous),userAnalyticsIpAnonymousIdx:(0,v.Pe)("user_analytics_ip_anonymous_idx").on(e.userIp,e.isAnonymous)})),(0,m.cJ)("media_task",{id:(0,I.uR)("id").primaryKey().defaultRandom(),userId:(0,p.Qq)("user_id").notNull().references(()=>E.id,{onDelete:"cascade"}),taskId:(0,p.Qq)("task_id").notNull().unique(),type:(0,p.Qq)("type").notNull(),provider:(0,p.Qq)("provider").notNull(),model:(0,p.Qq)("model").notNull(),prompt:(0,p.Qq)("prompt").notNull(),metadata:(0,y.Fx)("metadata").notNull(),error:(0,y.Fx)("error"),output:(0,y.Fx)("output").notNull().default("{}"),status:A("status").notNull().default("pending"),isPrivate:(0,f.zM)("is_private").notNull().default(!1),isVipTask:(0,f.zM)("is_vip_task").notNull().default(!1),isDeleted:(0,f.zM)("is_deleted").notNull().default(!1),creditTransactionId:(0,p.Qq)("credit_transaction_id").notNull().references(()=>q.id,{onDelete:"restrict"}),refundTransactionId:(0,p.Qq)("refund_transaction_id").references(()=>q.id,{onDelete:"restrict"}),creditsUsed:(0,h.nd)("credits_used").notNull().default(0),completedAt:(0,x.vE)("completed_at"),createdAt:(0,x.vE)("created_at").notNull().defaultNow(),updatedAt:(0,x.vE)("updated_at").notNull().defaultNow().$onUpdate(()=>new Date)},e=>({mediaTaskUserIdIdx:(0,v.Pe)("media_task_user_id_idx").on(e.userId),mediaTaskTaskIdIdx:(0,v.Pe)("media_task_task_id_idx").on(e.taskId),mediaTaskTypeIdx:(0,v.Pe)("media_task_type_idx").on(e.type),mediaTaskProviderIdx:(0,v.Pe)("media_task_provider_idx").on(e.provider),mediaTaskModelIdx:(0,v.Pe)("media_task_model_idx").on(e.model),mediaTaskStatusIdx:(0,v.Pe)("media_task_status_idx").on(e.status),mediaTaskIsPrivateIdx:(0,v.Pe)("media_task_is_private_idx").on(e.isPrivate),mediaTaskIsDeletedIdx:(0,v.Pe)("media_task_is_deleted_idx").on(e.isDeleted)})),r(55036);async function b(e){var t;let r=await getDb();return(null===(t=(await r.select().from(userCredit).where(eq(userCredit.userId,e)).limit(1))[0])||void 0===t?void 0:t.currentCredits)||0}async function w(e,t){let r=await getDb();await r.update(userCredit).set({lastRefreshAt:t,updatedAt:new Date}).where(eq(userCredit.userId,e))}async function Q(e){let{userId:t,type:r,amount:a,description:s,paymentId:n,expirationDate:i,db:d}=e;if(!t||!r||!s)throw console.error("saveCreditTransaction, invalid params",t,r,s),Error("saveCreditTransaction, invalid params");if(!Number.isFinite(a)||0===a)throw console.error("saveCreditTransaction, invalid amount",t,a),Error("saveCreditTransaction, invalid amount");let o=null!=d?d:await getDb();return(await o.insert(creditTransaction).values({id:randomUUID(),userId:t,type:r,amount:a,remainingAmou
1nt:a>0?a:null,description:s,paymentId:n,expirationDate:i,createdAt:new Date,updatedAt:new Date}).returning())[0]}async function C(e){let{userId:t,amount:r,type:a,description:s,paymentId:n,expireDays:i,db:d}=e;if(!t||!a||!s)throw console.error("addCredits, invalid params",t,a,s),Error("Invalid params");if(!Number.isFinite(r)||r<=0)throw console.error("addCredits, invalid amount",t,r),Error("Invalid amount");if(void 0!==i&&(!Number.isFinite(i)||i<=0))throw console.error("addCredits, invalid expire days",t,i),Error("Invalid expire days");let o=null!=d?d:await getDb(),l=await o.select().from(userCredit).where(eq(userCredit.userId,t)).limit(1);if(l.length>0){var u;let e=((null===(u=l[0])||void 0===u?void 0:u.currentCredits)||0)+r;console.log("addCredits, update user credit",t,e),await o.update(userCredit).set({currentCredits:e,updatedAt:new Date}).where(eq(userCredit.userId,t))}else console.log("addCredits, insert user credit",t,r),await o.insert(userCredit).values({id:randomUUID(),userId:t,currentCredits:r,createdAt:new Date,updatedAt:new Date});return await Q({userId:t,type:a,amount:r,description:s,paymentId:n,expirationDate:i?addDays(new Date,i):void 0,db:o})}r(90828),r(97);function P(e){let t=d.u.credits.guestCredits;return e.startsWith("guest-")&&e.endsWith("@".concat(t.anonymousEmailDomain))}var R=r(18110),T=r(20302);let j=(0,T.createServerReference)("7fc8b39f9f6ccd1ffe1ae1def73c195de7f9443982",T.callServer,void 0,T.findSourceMapURL,"getCreditBalanceWithGuestAction"),S=(0,r(10039).v)((e,t)=>({balance:0,isLoading:!1,error:null,lastFetchTime:null,fetchCredits:async function(r){let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t().isLoading)return;if(!a){let{lastFetchTime:e}=t(),r=Date.now();if(e&&r-e<12e4)return}let s="string"==typeof r&&P(r),n="string"==typeof r&&!P(r),i=!r;console.log("fetchCredits with guest support, ".concat(a?"force fetch":"fetch"," credits"),{userType:i?"unlogged":s?"guest":n?"direct-userId":"registered",identifier:"string"==typeof r?r:null==r?void 0:r.id}),e({isLoading:!0,error:null,lastFetchTime:a?null:t().lastFetchTime});try{var d,o;let t;if("string"==typeof r)t=await j({userId:r});else if(r)t=await j({});else{if(!u()){console.log("fetchCredits: Guest system disabled, returning 0 credits for unlogged user"),e({balance:0,isLoading:!1,error:null,lastFetchTime:Date.now()});return}t=await j({})}if(null==t?void 0:null===(d=t.data)||void 0===d?void 0:d.success){let r=t.data.credits||0;console.log("fetchCredits with guest support, set new balance",r),e({balance:r,isLoading:!1,error:null,lastFetchTime:Date.now()})}else console.warn("fetchCredits with guest support, failed to fetch credit balance",t),e({error:(null==t?void 0:null===(o=t.data)||void 0===o?void 0:o.error)||"Failed to fetch credit balance",isLoading:!1})}catch(t){console.error("fetchCredits with guest support, error:",t),e({error:"Failed to fetch credit balance",isLoading:!1})}},consumeCredits:async(r,a)=>{let s=t();e({balance:Math.max(0,s.balance-r)});try{var n,i;let t=await (0,R.d)({amount:r,description:a});if(null==t?void 0:null===(n=t.data)||void 0===n?void 0:n.success)return e({lastFetchTime:Date.now()}),!0;return e({balance:s.balance}),console.error("Failed to consume credits:",null==t?void 0:null===(i=t.data)||void 0===i?void 0:i.error),!1}catch(t){return e({balance:s.balance}),console.error("Error consuming credits:",t),!1}}}));var U=r(75294),D=r(76583),F=r(95644),H=r(38215),L=r(39295),O=r(90898),M=r(76790),G=r(20111),B=r(97896),K=r(85287);function z(){let{onCheckInSuccess:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=(0,U.useState)(null),[c,_]=(0,U.useState)(!1),[m,p]=(0,U.useState)(0),[f,x]=(0,U.useState)(!1),[v,h]=(0,U.useState)(0),[I,y]=(0,U.useState)(!1),{data:N}=D.y.useSession(),{refreshCredits:g}=function(){let e=(0,o.i)(),t=(0,l.w)(),{balance:r,isLoading:a,fetchCredits:s}=S(),n=u(),i=(0,U.useMemo)(()=>!!e&&P(e.email),[e]),d=!e&&!t,c=(0,U.useMemo)(()=>e?{id:e.id,name:e.name,email:e.email,isGuest:i,isAuthenticated:!0,displayName:i?"Guest User":e.name||e.email||"User",avatar:e.image||void 0}:null,[e,i]),_=(0,U.useCallback)(async()=>{c?await s(i?c.id:null==t?void 0:t.user,!0):n&&await s(null,!0)},[c,i,null==t?void 0:t.user,n,s]);return(0,U.useEffect)(()=>{!a&&(c?s(i?c.id:null==t?void 0:t.user,!1):n&&s(null,!1))},[null==c?void 0:c.id,i,null==t?void 0:t.user,n,s,a]),{user:c,isLoading:!1,isAuthenticated:!!c,isGuest:i,isUnloggedUser:d,credits:r,creditsLoading:a,guestSystemEnabled:n,refreshCredits:_}}(),E=(0,B.c3)("Dashboard.dailyCheckIn"),k=d.u.credits.dailyCheckInCredits.credits,q=async()=>{v<3?(console.log("CheckInHero: Retrying status check (attempt ".concat(v+1,")")),h(e=>e+1),y(!1),await A()):(console.error("CheckInHero: Max retry attempts reached"),K.o.error((0,a.jsx)("span",{children:"å·²è¾¾å°æå¤§éè¯æ¬¡æ°ï¼è¯·å·æ°é¡µé¢éè¯"})))},A=async()=>
1{if(!(null==N?void 0:N.user)){console.log("CheckInHero: No session user found"),x(!0);return}try{console.log("CheckInHero: Starting status check for user:",N.user.id),y(!1);let e=new AbortController,t=setTimeout(()=>e.abort(),1e4),[a,s]=await Promise.all([fetch("/api/credits/daily-checkin",{headers:{"Content-Type":"application/json"},signal:e.signal}),fetch("/api/credits/daily-checkin/history?limit=30",{headers:{"Content-Type":"application/json"},signal:e.signal})]);if(clearTimeout(t),console.log("CheckInHero: Status response:",a.status,a.ok),console.log("CheckInHero: History response:",s.status,s.ok),a.ok){let e=await a.json();console.log("CheckInHero: Status data:",e),r(e),h(0)}else{let e=await a.text();if(console.error("CheckInHero: Status request failed:",a.status,e),401===a.status)console.error("CheckInHero: Unauthorized - session may be invalid"),r({canCheckIn:!1}),y(!0);else if(a.status>=500&&v<2){console.log("CheckInHero: Server error, will retry"),y(!0),setTimeout(q,2e3);return}else r({canCheckIn:!1}),y(!0)}if(s.ok){let e=await s.json();console.log("CheckInHero: History data:",e);let t=0,r=new Date;for(let a of(r.setHours(0,0,0,0),e.records||[])){let e=new Date(a.createdAt);e.setHours(0,0,0,0);let s=r.getTime()-e.getTime();if(Math.floor(s/864e5)===t)t++;else break}p(t)}else{let e=await s.text();console.error("CheckInHero: History request failed:",s.status,e),p(0)}}catch(e){if(console.error("CheckInHero: Error checking status:",e),y(!0),e instanceof Error){if("AbortError"===e.name){if(console.error("CheckInHero: Request timed out"),v<2){console.log("CheckInHero: Will retry after timeout"),setTimeout(q,3e3);return}K.o.error((0,a.jsx)("span",{children:"ç½ç»è¯·æ±è¶
æ¶ï¼è¯·æ£æ¥ç½ç»è¿æ¥"}))}else if(e.message.includes("fetch")){if(console.error("CheckInHero: Network error"),v<2){console.log("CheckInHero: Will retry after network error"),setTimeout(q,3e3);return}K.o.error((0,a.jsx)("span",{children:"ç½ç»è¿æ¥å¤±è´¥ï¼è¯·ç¨åéè¯"}))}}r({canCheckIn:!1})}finally{x(!0)}},b=async()=>{if((null==N?void 0:N.user)&&!c){_(!0);try{let t=await fetch("/api/credits/daily-checkin",{method:"POST"}),r=await t.json();t.ok&&r.success?(K.o.success((0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(H.A,{className:"h-4 w-4 text-green-500"}),(0,a.jsx)("span",{children:(0,a.jsxs)("span",{children:["Check-in successful! Earned ",r.creditsAwarded," credits"]})})]}),{duration:3e3,className:"border-green-200 bg-green-50 text-green-800"}),await Promise.all([g(),A()]),null==e||e()):K.o.error(r.message||E("buttons.checkInFailed"))}catch(e){console.error("Error during check-in:",e),K.o.error(E("buttons.checkInError"))}finally{_(!1)}}};return((0,U.useEffect)(()=>{if(null==N?void 0:N.user){console.log("CheckInHero: Session found, checking status"),A();let e=setInterval(A,6e4);return()=>clearInterval(e)}console.log("CheckInHero: No session, setting initialized"),x(!0)},[N]),null==N?void 0:N.user)?f?(0,a.jsxs)(i.Zp,{className:"relative overflow-hidden border border-primary/20",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/5 to-accent/5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(i.aR,{className:"text-center pb-4",children:[(0,a.jsxs)("div",{className:"flex justify-center items-center gap-2 mb-2",children:[(0,a.jsx)(L.A,{className:"h-8 w-8 text-primary"}),(0,a.jsx)(i.ZB,{className:"text-3xl font-bold text-primary",children:E("hero.title")})]}),(0,a.jsx)(i.BT,{className:"text-lg",children:E("hero.description")})]}),(0,a.jsxs)(i.Wu,{className:"space-y-6",children:[(0,a.jsx)("div",{className:"flex flex-col items-center space-y-4",children:null===t?(0,a.jsxs)("div",{className:"text-center space-y-2",children:[(0,a.jsxs)(n.$,{disabled:!0,size:"lg",className:"h-16 px-8 text-lg",children:[(0,a.jsx)(O.A,{className:"mr-2 h-5 w-5"}),E("buttons.checking")]}),I&&v<3&&(0,a.jsx)(n.$,{onClick:q,variant:"outline",size:"sm",children:(0,a.jsx)("span",{children:"Retry"})})]}):t.canCheckIn?(0,a.jsx)(n.$,{onClick:b,disabled:c,size:"lg",className:(0,F.cn)("h-16 px-8 text-lg font-semibold","bg-primary hover:bg-primary/90","shadow-lg hover:shadow-xl transition-all duration-300"),children:c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O.A,{className:"mr-2 h-5 w-5 animate-spin"}),E("buttons.loading")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M.A,{className:"mr-2 h-5 w-5"}),E("buttons.checkInCredits",{credits:k})]})}):(0,a.jsxs)("div",{className:"text-center space-y-2",children:[(0,a.jsxs)(n.$,{disabled:!0,size:"lg",className:"h-16 px-8 text-lg",variant:"outline",children:[(0,a.jsx)(L.A,{className:"mr-2 h-5 w-5 text-primary"}),E("buttons.checked")]}),t.nextCheckInAt&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:(0,a.jsx)("span",{children:E("buttons.nextCheckIn",{time:(e=>{let t=new Date(e),r=new Date,a=t.getTime()-r.getTime();if(a<=0)return E("buttons.checkInAvailable");let s=Math.floor(a/36e5),n=Math.floor(a%36e5/6e4);return s>0?"".concat(s,"h ").concat(n,"m later"):"".concat(n,"m later")})(t.nextCheckInAt)})})})]})}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-center space-x-3 p-4 bg-primary/10 rounded-lg border border-primary/20",children:[(0,a.jsx)(M.A,{className:"h-6 w-6 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-primary",children:(0,a.jsx)("span",{children:E("hero.todayRew
1ard")})}),(0,a.jsx)("p",{className:"text-2xl font-bold text-primary",children:(0,a.jsxs)("span",{children:[k," ",E("hero.credits")]})})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-center space-x-3 p-4 bg-accent/30 rounded-lg border border-accent/40",children:[(0,a.jsx)(G.A,{className:"h-6 w-6 text-accent-foreground"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-semibold text-accent-foreground",children:(0,a.jsx)("span",{children:E("hero.consecutiveDays")})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("p",{className:"text-2xl font-bold text-accent-foreground",children:(0,a.jsx)("span",{children:m})}),(0,a.jsx)("span",{className:"text-accent-foreground",children:(0,a.jsx)("span",{children:E("hero.days")})}),m>=7&&(0,a.jsxs)(s.E,{variant:"secondary",className:"bg-accent/50 text-accent-foreground",children:[(0,a.jsx)(G.A,{className:"h-3 w-3 mr-1"}),E("hero.streakMaster")]})]})]})]})]})]})]})]}):(0,a.jsxs)(i.Zp,{className:"relative overflow-hidden border border-primary/20",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/5 to-accent/5"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(i.aR,{className:"text-center pb-4",children:[(0,a.jsxs)("div",{className:"flex justify-center items-center gap-2 mb-2",children:[(0,a.jsx)(L.A,{className:"h-8 w-8 text-primary"}),(0,a.jsx)(i.ZB,{className:"text-3xl font-bold text-primary",children:E("hero.title")})]}),(0,a.jsx)(i.BT,{className:"text-lg",children:E("hero.description")})]}),(0,a.jsx)(i.Wu,{className:"space-y-6",children:(0,a.jsx)("div",{className:"flex flex-col items-center space-y-4",children:(0,a.jsxs)(n.$,{disabled:!0,size:"lg",className:"h-16 px-8 text-lg",children:[(0,a.jsx)(O.A,{className:"mr-2 h-5 w-5 animate-spin"}),E("buttons.checking")]})})})]})]}):null}},90828:(e,t,r)=>{"use strict";r.d(t,{$l:()=>n,_w:()=>d,kW:()=>i});var a=r(90748),s=r(13815);let n=()=>{var e;let t=[];return t.push(...Object.values(s.u.price.plans)),(null===(e=s.u.price.regionalPlans)||void 0===e?void 0:e.developingCountries)&&t.push(...Object.values(s.u.price.regionalPlans.developingCountries)),t},i=e=>n().find(t=>t.id===e),d=e=>{for(let t of n())if(t.prices.find(t=>Object.values(t.priceIds||{}).includes(e)))return t;(0,a.Ob)(e)}},92865:()=>{}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.