MCPcopy Create free account

hub / github.com/brendansudol/punchlines-ai / functions

Functions110 in github.com/brendansudol/punchlines-ai

↓ 59 callersFunctioncn
(...inputs: ClassValue[])
lib/utils.ts:4
↓ 8 callersFunctiontoDateTime
(secs: number)
lib/supabase-admin.ts:18
↓ 7 callersFunctionerrorResponse
(reason: SuggestResponse.Error['reason'], status = 500)
app/api/generate-punchlines/route.ts:111
↓ 6 callersFunctionerrorResponse
(reason: string, status = 500)
app/api/save-punchline/route.ts:58
↓ 5 callersFunctionfetchPost
(url: string, data?: { [key: string]: any })
lib/utils.ts:8
↓ 5 callersFunctiongetURL
()
lib/utils.ts:18
↓ 3 callersFunctionerrorResponse
(reason: string, status = 500)
app/api/create-portal-session/route.ts:30
↓ 3 callersFunctionerrorResponse
(reason: string, status = 500)
app/api/create-checkout-session/route.ts:29
↓ 3 callersFunctiongetSubscription
()
lib/supabase-server.ts:33
↓ 3 callersFunctiongetUser
()
lib/supabase-server.ts:22
↓ 3 callersFunctionisLoaded
(value: AsyncValue<any>)
lib/async.ts:36
↓ 3 callersFunctionusePay
(hasSubscription: boolean = false)
hooks/usePay.ts:6
↓ 2 callersFunctionasyncLoaded
(value: V)
lib/async.ts:20
↓ 2 callersFunctionasyncNotStarted
()
lib/async.ts:12
↓ 2 callersFunctioncreateOrRetrieveCustomer
({ uuid, email }: { uuid: string; email?: string; })
lib/supabase-admin.ts:80
↓ 2 callersFunctiongetFonts
()
app/p/[id]/components/share.tsx:175
↓ 2 callersFunctiongetIp
(req: NextRequest)
lib/rate-limit.ts:15
↓ 2 callersFunctiongetRandomExamples
(count: number = 4)
lib/data.ts:46
↓ 2 callersFunctionmanageSubscriptionStatusChange
( subscriptionId: string, customerId: string, createAction = false )
lib/supabase-admin.ts:136
↓ 2 callersFunctiontoFullJoke
(prompt: string | undefined, punchline: string)
app/(home)/components/ResultsSuccess.tsx:199
↓ 2 callersFunctionuseSupabase
()
components/SupabaseProvider.tsx:53
↓ 1 callersFunctionaddPunchlinesToDb
({ userId, setup, results }: { userId: string | undefined; setup: string; results: string[]; })
lib/supabase-admin.ts:24
↓ 1 callersFunctionasyncLoading
()
lib/async.ts:16
↓ 1 callersFunctioncopyBillingDetailsToCustomer
( uuid: string, payment_method: Stripe.PaymentMethod )
lib/supabase-admin.ts:116
↓ 1 callersFunctionformatDate
(dateString: string | undefined)
app/account/page.tsx:55
↓ 1 callersFunctionformatPrompt
(prompt: string)
app/api/generate-punchlines/route.ts:138
↓ 1 callersFunctiongetErrorMessage
(reason: SuggestResponse.Error['reason'])
app/(home)/components/ResultsError.tsx:38
↓ 1 callersFunctiongetLookupKey
(identifier: string)
lib/rate-limit.ts:7
↓ 1 callersFunctiongetSession
()
lib/supabase-server.ts:11
↓ 1 callersFunctiongetSessionCreateParams
( customer: string, priceId: string = process.env.STRIPE_PRICE_ID ?? '', mode: 'payment' | 'subscription
app/api/create-checkout-session/route.ts:33
↓ 1 callersFunctiongetStripe
()
lib/stripe.ts:5
↓ 1 callersFunctiongetUserDetails
()
app/api/generate-punchlines/route.ts:115
↓ 1 callersFunctiongetUserJokes
()
lib/supabase-server.ts:49
↓ 1 callersFunctionhandleCheckRemaining
()
app/(home)/components/MainContent.tsx:84
↓ 1 callersFunctionhandleCopy
(joke: string)
app/(home)/components/ResultsSuccess.tsx:80
↓ 1 callersFunctionhandleSave
(idx: number)
app/(home)/components/ResultsSuccess.tsx:36
↓ 1 callersFunctionisLoading
(value: AsyncValue<any>)
lib/async.ts:32
↓ 1 callersFunctionisNotStarted
(value: AsyncValue<any>)
lib/async.ts:28
↓ 1 callersFunctionmakeTweetUrl
(joke: string)
app/(home)/components/ResultsSuccess.tsx:203
↓ 1 callersFunctionmaybeAddPeriod
(str: string)
app/api/generate-punchlines/route.ts:142
↓ 1 callersFunctionsleep
(ms: number)
app/api/generate-punchlines/route.ts:148
↓ 1 callersFunctionupsertPriceRecord
(price: Stripe.Price)
lib/supabase-admin.ts:60
↓ 1 callersFunctionupsertProductRecord
(product: Stripe.Product)
lib/supabase-admin.ts:45
↓ 1 callersFunctionuseCustomerPortal
()
hooks/useCustomerPortal.ts:5
↓ 1 callersFunctionuseSignOut
()
hooks/useSignOut.ts:5
FunctionAccountPage
()
app/account/page.tsx:9
FunctionAlertDialogFooter
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>)
components/ui/alert-dialog.tsx:62
FunctionAlertDialogHeader
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>)
components/ui/alert-dialog.tsx:48
FunctionAuthNav
()
components/AuthNav.tsx:7
FunctionBadge
({ className, variant, ...props }: BadgeProps)
components/ui/badge.tsx:30
FunctionContainer
({ children }: PropsWithChildren)
components/Container.tsx:3
FunctionDialogFooter
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>)
components/ui/dialog.tsx:69
FunctionDialogHeader
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>)
components/ui/dialog.tsx:55
FunctionDropdownMenuShortcut
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>)
components/ui/dropdown-menu.tsx:171
FunctionFooter
()
components/Footer.tsx:10
FunctionGET
(request: NextRequest)
app/auth/callback/route.ts:7
FunctionGlobalError
({ reset }: { error: Error & { digest?: string }; reset: () => void; })
app/global-error.tsx:6
FunctionHeader
({ showDescription = false }: Props)
components/Header.tsx:8
FunctionHomePage
()
app/(home)/page.tsx:8
FunctionImage
({ params: { id } }: { params: { id: string }; })
app/p/[id]/twitter-image.tsx:11
FunctionImage
({ params: { id } }: { params: { id: string }; })
app/p/[id]/opengraph-image.tsx:11
FunctionLoading
()
app/loading.tsx:3
FunctionLoading
()
app/(home)/components/Loading.tsx:3
FunctionLogo
()
components/Logo.tsx:4
FunctionMagicLinkForm
()
app/sign-in/components/MagicLinkForm.tsx:21
FunctionMainContent
({ examples: initialExamples, isSignedIn, hasSubscription }: { examples: string[]; isSignedIn: boole
app/(home)/components/MainContent.tsx:25
FunctionNotFound
()
app/not-found.tsx:4
FunctionPOST
(req: NextRequest)
app/api/generate-punchlines/route.ts:24
FunctionPOST
(req: Request)
app/api/create-portal-session/route.ts:9
FunctionPOST
(req: NextRequest)
app/api/save-punchline/route.ts:6
FunctionPOST
(req: Request)
app/api/create-checkout-session/route.ts:10
FunctionPOST
(req: NextRequest)
app/api/check-remaining/route.ts:10
FunctionPOST
(req: Request)
app/api/webhooks/route.ts:21
FunctionPagination
({ className, ...props }: React.ComponentProps<"nav">)
components/ui/pagination.tsx:7
FunctionPaginationEllipsis
({ className, ...props }: React.ComponentProps<"span">)
components/ui/pagination.tsx:94
FunctionPaginationLink
({ className, isActive, size = "icon", ...props }: PaginationLinkProps)
components/ui/pagination.tsx:41
FunctionPaginationNext
({ className, ...props }: React.ComponentProps<typeof PaginationLink>)
components/ui/pagination.tsx:79
FunctionPaginationPrevious
({ className, ...props }: React.ComponentProps<typeof PaginationLink>)
components/ui/pagination.tsx:63
FunctionPromptInput
({ value, onChange, onSubmit }: { value: string; onChange: (value: string) => void; onSubmit: () =
app/(home)/components/PromptInput.tsx:5
FunctionPunchlinePage
({ params: { id } }: Props)
app/p/[id]/page.tsx:27
FunctionRemainingInfo
({ remaining, isSignedIn, hasSubscription, onPay }: { remaining: number | null | undefined; isSign
app/(home)/components/RemainingInfo.tsx:6
FunctionResultsError
({ value, onUpgrade }: { value: SuggestResponse.Error; onUpgrade: () => void; })
app/(home)/components/ResultsError.tsx:6
FunctionResultsSuccess
({ value, isSignedIn, showTyping, onTypingDone, onClear, onResubmit }: { value: SuggestResponse.
app/(home)/components/ResultsSuccess.tsx:18
FunctionRootLayout
({ children }: PropsWithChildren)
app/layout.tsx:30
FunctionSavedJokesPage
()
app/saved/page.tsx:9
FunctionShareFallback
()
app/p/[id]/components/share.tsx:141
FunctionShareImage
({ joke }: { joke: Joke | null })
app/p/[id]/components/share.tsx:6
FunctionShareJoke
({ setup, punchline }: { setup: string; punchline: string })
app/p/[id]/components/share.tsx:16
FunctionSignInPage
()
app/sign-in/page.tsx:6
FunctionSkeleton
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>)
components/ui/skeleton.tsx:3
FunctionSubscribeButton
()
app/account/components/SubscribeButton.tsx:6
FunctionSupabaseProvider
({ children }: PropsWithChildren)
components/SupabaseProvider.tsx:23
FunctionToaster
({ ...props }: ToasterProps)
components/ui/sonner.tsx:8
FunctionUpdateSubscriptionButton
()
app/account/components/UpdateSubscriptionButton.tsx:6
FunctionUserDropdown
({ user, hasSubscription }: { user: User; hasSubscription: boolean; })
components/UserDropdown.tsx:19
FunctionZeroState
({ examples, onClickExample, onRefreshExamples }: { examples: string[]; onClickExample: (text: strin
app/(home)/components/ZeroState.tsx:6
FunctionasyncFailedLoading
(error: Error)
lib/async.ts:24
FunctiongenerateMetadata
( { params: { id } }: Props, parent: ResolvingMetadata )
app/p/[id]/page.tsx:15
FunctiongetAsyncLoadedValue
(value: AsyncValue<V>)
lib/async.ts:46
FunctionhandleClearResults
()
app/(home)/components/MainContent.tsx:71
next →1–100 of 110, ranked by callers