SYMBOL INDEX (5941 symbols across 3089 files) FILE: apps/web/app/(ee)/admin.dub.co/(auth)/layout.tsx function AdminAuthLayout (line 3) | function AdminAuthLayout({ FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/analytics/page.tsx function AdminAnalytics (line 5) | function AdminAnalytics() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/commissions/client.tsx function CommissionsPageClient (line 28) | function CommissionsPageClient() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/commissions/page.tsx function CommissionsPage (line 4) | async function CommissionsPage() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/ban-link.tsx function BanLink (line 8) | function BanLink() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/delete-partner-account.tsx function DeletePartnerAccount (line 8) | function DeletePartnerAccount() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/impersonate-user.tsx function ImpersonateUser (line 10) | function ImpersonateUser() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/impersonate-workspace.tsx function ImpersonateWorkspace (line 10) | function ImpersonateWorkspace() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/refresh-domain.tsx function RefreshDomain (line 8) | function RefreshDomain() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/reset-login-attempts.tsx function ResetLoginAttempts (line 8) | function ResetLoginAttempts() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/components/user-info.tsx type UserInfoProps (line 7) | interface UserInfoProps { function UserInfo (line 51) | function UserInfo({ data }: { data: UserInfoProps }) { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/events/page.tsx function AdminEvents (line 7) | function AdminEvents() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/layout-nav-client.tsx function AdminNav (line 37) | function AdminNav() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/layout.tsx function AdminLayout (line 7) | function AdminLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/links/page.tsx function AdminLinks (line 4) | function AdminLinks() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/page.tsx function AdminPage (line 14) | function AdminPage() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/payouts/client.tsx type TimeseriesData (line 32) | interface TimeseriesData { type InvoiceData (line 39) | interface InvoiceData { type Tab (line 50) | type Tab = { function PayoutsPageClient (line 56) | function PayoutsPageClient() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/payouts/page.tsx function PayoutsPage (line 4) | async function PayoutsPage() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/payouts/paypal/client.tsx function PaypalPayoutsPageClient (line 30) | function PaypalPayoutsPageClient() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/payouts/paypal/page.tsx function PaypalPayoutsPage (line 4) | async function PaypalPayoutsPage() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/revenue/client.tsx function RevenuePageClient (line 16) | function RevenuePageClient() { FILE: apps/web/app/(ee)/admin.dub.co/(dashboard)/revenue/page.tsx function RevenuePage (line 4) | async function RevenuePage() { FILE: apps/web/app/(ee)/admin.dub.co/layout.tsx function AdminLayout (line 6) | function AdminLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/(ee)/api/admin/analytics/route.ts constant GET (line 7) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/ban/route.ts constant POST (line 11) | const POST = withAdmin(async ({ req }) => { FILE: apps/web/app/(ee)/api/admin/commissions/get-commissions-timeseries.ts type Commission (line 8) | interface Commission { function getCommissionsTimeseries (line 13) | async function getCommissionsTimeseries({ FILE: apps/web/app/(ee)/api/admin/commissions/get-top-program-by-commissions.ts function getTopProgramsByCommissions (line 4) | async function getTopProgramsByCommissions({ FILE: apps/web/app/(ee)/api/admin/commissions/route.ts constant GET (line 20) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/delete-partner-account/route.ts constant POST (line 10) | const POST = withAdmin(async ({ req }) => { FILE: apps/web/app/(ee)/api/admin/events/route.ts constant GET (line 7) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/impersonate/route.ts constant POST (line 8) | const POST = withAdmin(async ({ req }) => { function getImpersonateUrl (line 104) | async function getImpersonateUrl(email: string) { FILE: apps/web/app/(ee)/api/admin/links/[linkId]/route.ts constant GET (line 7) | const GET = withAdmin(async ({ params }) => { FILE: apps/web/app/(ee)/api/admin/links/ban/route.ts constant DELETE (line 14) | const DELETE = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/links/count/route.ts constant GET (line 7) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/links/route.ts constant GET (line 8) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/payouts/paypal/route.ts constant GET (line 5) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/payouts/route.ts type TimeseriesPoint (line 12) | interface TimeseriesPoint { type FormattedTimeseriesPoint (line 18) | interface FormattedTimeseriesPoint extends TimeseriesPoint { constant GET (line 31) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/admin/refresh-domain/route.ts constant POST (line 6) | const POST = withAdmin(async ({ req }) => { FILE: apps/web/app/(ee)/api/admin/reset-login-attempts/route.ts constant POST (line 6) | const POST = withAdmin(async ({ req }) => { FILE: apps/web/app/(ee)/api/admin/revenue/get-top-programs-by-sales.ts function getTopProgramsBySales (line 7) | async function getTopProgramsBySales({ FILE: apps/web/app/(ee)/api/admin/revenue/route.ts constant GET (line 8) | const GET = withAdmin(async ({ searchParams }) => { FILE: apps/web/app/(ee)/api/audit-logs/export/route.ts constant POST (line 16) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/auth/saml/callback/route.ts function POST (line 4) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/auth/saml/token/route.ts function POST (line 6) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/auth/saml/userinfo/route.ts function GET (line 4) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/auth/saml/verify/route.tsx function POST (line 5) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/bounties/[bountyId]/route.ts constant GET (line 26) | const GET = withWorkspace( constant PATCH (line 54) | const PATCH = withWorkspace( constant DELETE (line 293) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/[bountyId]/submissions/[submissionId]/approve/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/[bountyId]/submissions/[submissionId]/reject/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/[bountyId]/submissions/route.ts constant GET (line 12) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/[bountyId]/sync-social-metrics/route.ts constant POST (line 27) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/count/submissions/route.ts constant GET (line 17) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/bounties/route.ts constant GET (line 32) | const GET = withWorkspace( constant POST (line 155) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/duplicate/route.ts constant POST (line 12) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/events/count/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/events/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/preview/route.ts constant POST (line 28) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/route.ts constant GET (line 25) | const GET = withWorkspace( constant PATCH (line 52) | const PATCH = withWorkspace( constant DELETE (line 180) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/[campaignId]/summary/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/count/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/campaigns/route.ts constant GET (line 21) | const GET = withWorkspace( constant POST (line 80) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/commissions/[commissionId]/route.ts constant GET (line 22) | const GET = withWorkspace(async ({ workspace, params }) => { constant PATCH (line 100) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/commissions/count/route.ts constant GET (line 8) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/commissions/export/route.ts constant MAX_COMMISSIONS_TO_EXPORT (line 12) | const MAX_COMMISSIONS_TO_EXPORT = 1000; constant GET (line 15) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/commissions/route.ts constant GET (line 15) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/commissions/timeseries/route.ts type Commission (line 18) | interface Commission { constant GET (line 24) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/cron/aggregate-clicks/resolve-click-reward-amount.ts function resolveClickRewardAmount (line 8) | function resolveClickRewardAmount({ FILE: apps/web/app/(ee)/api/cron/aggregate-clicks/route.ts constant BATCH_SIZE (line 22) | const BATCH_SIZE = 200; function handler (line 32) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/bounties/create-draft-submissions/route.ts constant MAX_PAGE_SIZE (line 23) | const MAX_PAGE_SIZE = 100; function POST (line 27) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/bounties/notify-partners/route.ts constant EMAIL_BATCH_SIZE (line 27) | const EMAIL_BATCH_SIZE = 100; constant BATCH_DELAY_SECONDS (line 28) | const BATCH_DELAY_SECONDS = 2; constant EXTENDED_DELAY_SECONDS (line 29) | const EXTENDED_DELAY_SECONDS = 30; constant EXTENDED_DELAY_INTERVAL (line 30) | const EXTENDED_DELAY_INTERVAL = 25; function POST (line 34) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/bounties/queue-sync-social-metrics/route.ts constant GET (line 11) | const GET = withCron(async () => { FILE: apps/web/app/(ee)/api/cron/bounties/sync-social-metrics/route.ts constant SUBMISSION_BATCH_SIZE (line 23) | const SUBMISSION_BATCH_SIZE = 50; constant POST (line 26) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/campaigns/broadcast/route.ts constant EMAIL_BATCH_SIZE (line 31) | const EMAIL_BATCH_SIZE = 100; constant BATCH_DELAY_SECONDS (line 32) | const BATCH_DELAY_SECONDS = 2; constant EXTENDED_DELAY_SECONDS (line 33) | const EXTENDED_DELAY_SECONDS = 30; constant EXTENDED_DELAY_INTERVAL (line 34) | const EXTENDED_DELAY_INTERVAL = 25; function POST (line 38) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/cleanup/demo-embed-partners/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/cleanup/e2e-tests/route.ts constant E2E_USER_ID (line 14) | const E2E_USER_ID = "clxz1q7c7000hbqx5ckv4r82h"; constant E2E_WORKSPACE_ID (line 15) | const E2E_WORKSPACE_ID = "clrei1gld0002vs9mzn93p8ik"; function POST (line 19) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/cleanup/expired-tokens/route.ts function POST (line 15) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/cleanup/link-retention/route.ts function POST (line 16) | async function POST(req: Request) { constant LINKS_PER_BATCH (line 56) | const LINKS_PER_BATCH = 100; constant MAX_LINK_BATCHES (line 57) | const MAX_LINK_BATCHES = 10; function deleteOldLinks (line 59) | async function deleteOldLinks( FILE: apps/web/app/(ee)/api/cron/cleanup/rejected-applications/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/cleanup/unenrolled-partners/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/discount-codes/create/queue-batches/route.ts constant POST (line 18) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/discount-codes/create/route.ts constant POST (line 16) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/discount-codes/delete/route.ts constant POST (line 15) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/disposable-emails/route.ts function POST (line 11) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/delete/route.ts function POST (line 21) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/renewal-payments/route.ts type GroupedWorkspace (line 20) | interface GroupedWorkspace { function GET (line 26) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/renewal-reminders/route.ts constant REMINDER_WINDOWS (line 27) | const REMINDER_WINDOWS = [30, 23, 16]; function GET (line 30) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/transfer/route.ts function POST (line 20) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/update/route.ts constant LINK_BATCH_SIZE (line 18) | const LINK_BATCH_SIZE = 100; function POST (line 21) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/domains/verify/route.ts function GET (line 21) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/email-domains/update/route.ts constant POST (line 15) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/email-domains/verify/route.ts constant GET (line 14) | const GET = withCron(async () => { function verifyEmailDomain (line 47) | async function verifyEmailDomain(domain: EmailDomain) { FILE: apps/web/app/(ee)/api/cron/export/commissions/fetch-commissions-batch.ts type CommissionFilters (line 5) | type CommissionFilters = Omit< FILE: apps/web/app/(ee)/api/cron/export/commissions/route.ts function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/export/customers/route.ts constant MAX_CUSTOMERS_EXPORT_LIMIT (line 14) | const MAX_CUSTOMERS_EXPORT_LIMIT = 100_000; constant POST (line 19) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/export/events/partner/route.ts function POST (line 39) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/export/events/workspace/route.ts function POST (line 30) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/export/links/route.ts function POST (line 28) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/export/partners/fetch-partners-batch.ts type PartnerFilters (line 5) | type PartnerFilters = Omit< FILE: apps/web/app/(ee)/api/cron/export/partners/route.ts function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/folders/delete/route.ts constant MAX_LINKS_PER_BATCH (line 12) | const MAX_LINKS_PER_BATCH = 500; function POST (line 20) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/framer/backfill-leads-batch/route.ts type PayloadItem (line 31) | type PayloadItem = { constant FRAMER_WORKSPACE_ID (line 38) | const FRAMER_WORKSPACE_ID = "clsvopiw0000ejy0grp821me0"; constant CACHE_KEY (line 39) | const CACHE_KEY = "framerMigratedExternalIdEventNames"; constant DOMAIN (line 40) | const DOMAIN = "framer.link"; constant POST (line 56) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/cron/fraud/summary/route.ts constant PROGRAMS_BATCH_SIZE (line 17) | const PROGRAMS_BATCH_SIZE = 10; function handler (line 26) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/fx-rates/route.ts function POST (line 11) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/groups/create-default-links/route.ts constant PAGE_SIZE (line 19) | const PAGE_SIZE = 100; constant MAX_BATCH (line 20) | const MAX_BATCH = 10; function POST (line 39) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/groups/remap-default-links/route.ts function POST (line 43) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/groups/remap-default-links/utils.ts function remapPartnerGroupDefaultLinks (line 5) | function remapPartnerGroupDefaultLinks({ FILE: apps/web/app/(ee)/api/cron/groups/remap-discount-codes/route.ts constant POST (line 20) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/groups/sync-utm/route.ts constant PAGE_SIZE (line 16) | const PAGE_SIZE = 50; function POST (line 34) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/groups/update-default-links/route.ts constant PAGE_SIZE (line 16) | const PAGE_SIZE = 100; constant MAX_BATCH (line 17) | const MAX_BATCH = 10; function POST (line 35) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/bitly/fetch-utils.ts type FetchBitlyLinksResult (line 7) | interface FetchBitlyLinksResult { FILE: apps/web/app/(ee)/api/cron/import/bitly/route.ts function POST (line 14) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/bitly/sanitize-json.ts function sanitizeBitlyJson (line 1) | function sanitizeBitlyJson(body: string): string { FILE: apps/web/app/(ee)/api/cron/import/csv/route.ts type MapperResult (line 37) | interface MapperResult { type ErrorLink (line 51) | interface ErrorLink { function POST (line 58) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/csv/utils.ts function sendCsvImportEmails (line 6) | async function sendCsvImportEmails({ FILE: apps/web/app/(ee)/api/cron/import/firstpromoter/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/partnerstack/route.ts function POST (line 14) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/rebrandly/route.ts function POST (line 11) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/rewardful/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/short/route.ts function POST (line 11) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/import/tolt/route.ts function POST (line 14) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/invoices/retry-failed/route.ts function POST (line 14) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/links/[linkId]/complete-tests/route.ts function POST (line 8) | async function POST( FILE: apps/web/app/(ee)/api/cron/links/delete/route.ts function POST (line 12) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/links/invalidate-for-discounts/route.ts function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/links/invalidate-for-partners/route.ts function POST (line 15) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/messages/notify-partner/route.ts function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/messages/notify-program/route.ts function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/network/calculate-program-similarities/calculate-category-similarity.ts function calculateCategorySimilarity (line 4) | async function calculateCategorySimilarity( FILE: apps/web/app/(ee)/api/cron/network/calculate-program-similarities/calculate-partner-similarity.ts type PartnerSimilarityResult (line 3) | interface PartnerSimilarityResult { function calculatePartnerSimilarity (line 10) | async function calculatePartnerSimilarity( FILE: apps/web/app/(ee)/api/cron/network/calculate-program-similarities/calculate-performance-similarity.ts constant METRIC_KEYS (line 3) | const METRIC_KEYS = [ function calculatePerformanceSimilarity (line 12) | async function calculatePerformanceSimilarity( FILE: apps/web/app/(ee)/api/cron/network/calculate-program-similarities/route.ts constant PROGRAMS_PER_BATCH (line 25) | const PROGRAMS_PER_BATCH = 10; function POST (line 30) | async function POST(req: Request) { function calculateProgramSimilarity (line 52) | async function calculateProgramSimilarity({ function findNextProgram (line 215) | async function findNextProgram({ FILE: apps/web/app/(ee)/api/cron/network/update-partner-discoverability/route.ts function POST (line 13) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/partner-platforms/route.ts constant BATCH_SIZE (line 15) | const BATCH_SIZE = 50; constant POST (line 26) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partner-platforms/youtube/route.ts constant POST (line 16) | const POST = withCron(async () => { FILE: apps/web/app/(ee)/api/cron/partner-program-summary/process/route.ts constant PARTNER_BATCH_SIZE (line 15) | const PARTNER_BATCH_SIZE = 100; type AnalyticsResponse (line 27) | interface AnalyticsResponse { constant POST (line 38) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partner-program-summary/route.ts constant PROGRAM_BATCH_SIZE (line 10) | const PROGRAM_BATCH_SIZE = 50; constant GET (line 15) | const GET = withCron(async () => { FILE: apps/web/app/(ee)/api/cron/partners/auto-approve/route.ts constant POST (line 19) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partners/auto-reject/route.ts constant POST (line 20) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partners/ban/cancel-commissions.ts function cancelCommissions (line 4) | async function cancelCommissions({ FILE: apps/web/app/(ee)/api/cron/partners/ban/route.ts constant POST (line 23) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partners/deactivate/route.ts constant POST (line 17) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/partners/merge-accounts/route.ts constant CACHE_KEY_PREFIX (line 26) | const CACHE_KEY_PREFIX = "merge-partner-accounts"; function POST (line 30) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/aggregate-due-commissions/route.ts constant BATCH_SIZE (line 13) | const BATCH_SIZE = 1000; function handler (line 21) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/balance-available/route.ts function POST (line 27) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/charge-succeeded/queue-external-payouts.ts function queueExternalPayouts (line 9) | async function queueExternalPayouts( FILE: apps/web/app/(ee)/api/cron/payouts/charge-succeeded/queue-stripe-payouts.ts function queueStripePayouts (line 15) | async function queueStripePayouts( FILE: apps/web/app/(ee)/api/cron/payouts/charge-succeeded/route.ts function POST (line 24) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/charge-succeeded/send-paypal-payouts.ts function sendPaypalPayouts (line 8) | async function sendPaypalPayouts(invoice: Pick) { FILE: apps/web/app/(ee)/api/cron/payouts/charge-succeeded/utils.ts type StablecoinScheduleResult (line 10) | interface StablecoinScheduleResult { function scheduleDelayedStablecoinPayouts (line 17) | async function scheduleDelayedStablecoinPayouts(invoice: { FILE: apps/web/app/(ee)/api/cron/payouts/force-withdrawals/route.ts constant BATCH_SIZE (line 14) | const BATCH_SIZE = 20; function handler (line 22) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/payout-failed/route.ts function POST (line 22) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/payout-paid/route.ts function POST (line 22) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/process/process-payouts.ts type ProcessPayoutsProps (line 34) | interface ProcessPayoutsProps { function processPayouts (line 63) | async function processPayouts({ FILE: apps/web/app/(ee)/api/cron/payouts/process/route.ts function POST (line 27) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/process/split-payouts.ts function splitPayouts (line 11) | async function splitPayouts({ FILE: apps/web/app/(ee)/api/cron/payouts/process/updates/route.ts constant BATCH_SIZE (line 19) | const BATCH_SIZE = 100; function POST (line 23) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/reminders/partners/route.ts constant BATCH_SIZE (line 14) | const BATCH_SIZE = 1000; function handler (line 20) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/reminders/program-owners/route.ts function GET (line 16) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/payouts/send-stripe-payout/route.ts function POST (line 19) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/pending-applications-summary/route.ts constant PROGRAMS_BATCH_SIZE (line 19) | const PROGRAMS_BATCH_SIZE = 50; constant GET (line 28) | const GET = withCron(async ({ rawBody }) => { constant POST (line 281) | const POST = GET; FILE: apps/web/app/(ee)/api/cron/program-application-reminder/route.ts function POST (line 11) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/programs/deactivate/route.ts constant POST (line 17) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/send-batch-email/route.ts type BatchError (line 31) | interface BatchError { function POST (line 38) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/shopify/order-paid/route.ts function POST (line 15) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/streams/update-partner-stats/route.ts constant BATCH_SIZE (line 16) | const BATCH_SIZE = 6000; type ProgramEnrollmentStats (line 18) | type ProgramEnrollmentStats = Partial< function GET (line 349) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/streams/update-workspace-clicks/route.ts constant BATCH_SIZE (line 13) | const BATCH_SIZE = 10000; type WorkspaceAggregateUsage (line 15) | type WorkspaceAggregateUsage = { function GET (line 182) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/trigger-withdrawal/route.ts function GET (line 12) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/cron/usage/route.ts function handler (line 14) | async function handler(req: Request) { FILE: apps/web/app/(ee)/api/cron/utils.ts function logAndRespond (line 1) | function logAndRespond( FILE: apps/web/app/(ee)/api/cron/welcome-user/route.ts function POST (line 17) | async function POST(req: Request) { FILE: apps/web/app/(ee)/api/cron/workflows/[workflowId]/route.ts function POST (line 13) | async function POST( FILE: apps/web/app/(ee)/api/cron/workspaces/delete/delete-workspace-customers.ts constant MAX_CUSTOMERS_PER_BATCH (line 9) | const MAX_CUSTOMERS_PER_BATCH = 100; function deleteWorkspaceCustomers (line 11) | async function deleteWorkspaceCustomers( FILE: apps/web/app/(ee)/api/cron/workspaces/delete/delete-workspace-domains.ts constant MAX_DOMAINS_PER_BATCH (line 8) | const MAX_DOMAINS_PER_BATCH = 10; function deleteWorkspaceDomains (line 10) | async function deleteWorkspaceDomains(payload: DeleteWorkspacePayload) { FILE: apps/web/app/(ee)/api/cron/workspaces/delete/delete-workspace-folders.ts constant MAX_FOLDERS_PER_BATCH (line 7) | const MAX_FOLDERS_PER_BATCH = 100; function deleteWorkspaceFolders (line 9) | async function deleteWorkspaceFolders(payload: DeleteWorkspacePayload) { FILE: apps/web/app/(ee)/api/cron/workspaces/delete/delete-workspace-links.ts constant MAX_LINKS_PER_BATCH (line 8) | const MAX_LINKS_PER_BATCH = 100; function deleteWorkspaceLinks (line 10) | async function deleteWorkspaceLinks(payload: DeleteWorkspacePayload) { FILE: apps/web/app/(ee)/api/cron/workspaces/delete/delete-workspace.ts function deleteWorkspace (line 5) | async function deleteWorkspace(payload: DeleteWorkspacePayload) { FILE: apps/web/app/(ee)/api/cron/workspaces/delete/route.ts constant POST (line 13) | const POST = withCron(async ({ rawBody }) => { FILE: apps/web/app/(ee)/api/cron/workspaces/delete/utils.ts type DeleteWorkspacePayload (line 21) | type DeleteWorkspacePayload = z.infer; function enqueueNextWorkspaceDeleteStep (line 23) | async function enqueueNextWorkspaceDeleteStep({ FILE: apps/web/app/(ee)/api/customers/[id]/activity/route.ts constant GET (line 10) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/customers/[id]/route.ts constant GET (line 19) | const GET = withWorkspace( constant PATCH (line 54) | const PATCH = withWorkspace( constant DELETE (line 166) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/customers/[id]/stripe-invoices/route.ts constant GET (line 8) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/customers/count/route.ts constant GET (line 9) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/customers/export/route.ts constant MAX_CUSTOMERS_TO_EXPORT (line 13) | const MAX_CUSTOMERS_TO_EXPORT = 1000; constant GET (line 16) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/customers/route.ts constant GET (line 23) | const GET = withWorkspace( constant POST (line 64) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/customers/search-stripe/route.ts constant GET (line 13) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/discount-codes/[discountCodeId]/route.ts constant DELETE (line 11) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/discount-codes/route.ts constant GET (line 18) | const GET = withWorkspace( constant POST (line 51) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/domains/register/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/domains/status/route.ts constant GET (line 14) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/e2e/bounties/[bountyId]/route.ts constant DELETE (line 8) | const DELETE = withWorkspace(async ({ params, workspace }) => { FILE: apps/web/app/(ee)/api/e2e/enrollments/route.ts constant PATCH (line 8) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/e2e/guard.ts function assertE2EWorkspace (line 5) | function assertE2EWorkspace( FILE: apps/web/app/(ee)/api/e2e/notification-emails/route.ts constant GET (line 9) | const GET = withWorkspace(async ({ workspace, searchParams }) => { constant POST (line 26) | const POST = withWorkspace( constant DELETE (line 53) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/e2e/trigger-workflow/[workflowId]/route.ts constant POST (line 13) | const POST = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/e2e/workflows/[workflowId]/route.ts constant PATCH (line 8) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/e2e/workflows/route.ts constant GET (line 8) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/email-domains/[domain]/route.ts constant PATCH (line 20) | const PATCH = withWorkspace( constant DELETE (line 153) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/email-domains/[domain]/verify/route.ts constant GET (line 10) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/email-domains/route.ts constant GET (line 20) | const GET = withWorkspace( constant POST (line 39) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/embed/referrals/analytics/route.ts constant GET (line 7) | const GET = withReferralsEmbedToken(async ({ links, program }) => { FILE: apps/web/app/(ee)/api/embed/referrals/earnings/route.ts constant GET (line 11) | const GET = withReferralsEmbedToken( FILE: apps/web/app/(ee)/api/embed/referrals/leaderboard/route.ts constant GET (line 10) | const GET = withReferralsEmbedToken(async ({ program }) => { FILE: apps/web/app/(ee)/api/embed/referrals/links/[linkId]/route.ts constant PATCH (line 19) | const PATCH = withReferralsEmbedToken( FILE: apps/web/app/(ee)/api/embed/referrals/links/route.ts constant GET (line 17) | const GET = withReferralsEmbedToken(async ({ links }) => { constant POST (line 24) | const POST = withReferralsEmbedToken( FILE: apps/web/app/(ee)/api/embed/referrals/token/route.ts constant GET (line 5) | const GET = withReferralsEmbedToken(async ({ embedToken }) => { FILE: apps/web/app/(ee)/api/events/export/route.ts constant MAX_EVENTS_TO_EXPORT (line 20) | const MAX_EVENTS_TO_EXPORT = 1000; constant GET (line 32) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/events/route.ts constant GET (line 12) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/fraud/events/count/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/fraud/events/route.ts constant GET (line 14) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/fraud/groups/count/route.ts constant GET (line 13) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/fraud/groups/route.ts constant GET (line 12) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/fraud/rules/route.ts constant GET (line 32) | const GET = withWorkspace( constant PATCH (line 76) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/groups/[groupIdOrSlug]/default-links/[defaultLinkId]/route.ts constant PATCH (line 18) | const PATCH = withWorkspace( constant DELETE (line 159) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/groups/[groupIdOrSlug]/default-links/route.ts constant GET (line 21) | const GET = withWorkspace( constant POST (line 57) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/groups/[groupIdOrSlug]/default/route.ts constant POST (line 14) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/groups/[groupIdOrSlug]/partners/route.ts constant POST (line 16) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/groups/[groupIdOrSlug]/route.ts constant GET (line 23) | const GET = withWorkspace( constant PATCH (line 50) | const PATCH = withWorkspace( constant DELETE (line 272) | const DELETE = withWorkspace( FILE: apps/web/app/(ee)/api/groups/count/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/groups/route.ts constant GET (line 22) | const GET = withWorkspace( constant POST (line 50) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/groups/rules/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/hubspot/webhook/route.ts constant HUBSPOT_CLIENT_SECRET (line 14) | const HUBSPOT_CLIENT_SECRET = process.env.HUBSPOT_CLIENT_SECRET || ""; constant POST (line 17) | const POST = withAxiom(async (req) => { function processWebhookEvent (line 65) | async function processWebhookEvent(event: any) { FILE: apps/web/app/(ee)/api/messages/count/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/messages/route.ts constant GET (line 11) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/mock/rewardful/affiliates/route.ts function GET (line 3) | async function GET(request: NextRequest) { FILE: apps/web/app/(ee)/api/mock/rewardful/campaigns/[campaignId]/route.ts function GET (line 4) | async function GET( FILE: apps/web/app/(ee)/api/mock/rewardful/campaigns/route.ts function GET (line 4) | async function GET() { FILE: apps/web/app/(ee)/api/mock/rewardful/commissions/route.ts function GET (line 3) | async function GET(request: NextRequest) { FILE: apps/web/app/(ee)/api/mock/rewardful/referrals/route.ts function GET (line 3) | async function GET(request: NextRequest) { FILE: apps/web/app/(ee)/api/network/partners/count/route.ts constant GET (line 10) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/network/partners/invites-usage/route.ts constant GET (line 6) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/network/partners/route.ts constant GET (line 17) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/network/programs/count/route.ts constant GET (line 16) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/network/programs/route.ts constant GET (line 12) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/invites/accept/route.ts constant POST (line 7) | const POST = withSession(async ({ session }) => { FILE: apps/web/app/(ee)/api/partner-profile/invites/route.ts constant GET (line 21) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { constant POST (line 46) | const POST = withPartnerProfile( constant PATCH (line 169) | const PATCH = withPartnerProfile( constant DELETE (line 215) | const DELETE = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/messages/count/route.ts constant GET (line 7) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/messages/route.ts constant GET (line 10) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/notification-preferences/route.ts constant GET (line 6) | const GET = withPartnerProfile(async ({ partner, session }) => { FILE: apps/web/app/(ee)/api/partner-profile/payouts/count/route.ts constant GET (line 8) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/payouts/route.ts constant GET (line 10) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/payouts/settings/route.ts constant GET (line 6) | const GET = withPartnerProfile(async ({ partner }) => { FILE: apps/web/app/(ee)/api/partner-profile/postbacks/[postbackId]/events/route.ts constant GET (line 7) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/postbacks/[postbackId]/rotate-secret/route.ts constant POST (line 12) | const POST = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/postbacks/[postbackId]/route.ts constant GET (line 12) | const GET = withPartnerProfile( constant PATCH (line 30) | const PATCH = withPartnerProfile( constant DELETE (line 66) | const DELETE = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/postbacks/[postbackId]/send-test/route.ts constant POST (line 20) | const POST = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/postbacks/route.ts constant GET (line 22) | const GET = withPartnerProfile( constant POST (line 42) | const POST = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/activity-logs/route.ts constant GET (line 12) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/analytics/export/route.ts constant GET (line 18) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/analytics/route.ts constant GET (line 16) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/bounties/[bountyId]/route.ts constant GET (line 10) | const GET = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/bounties/[bountyId]/social-content-stats/route.ts constant GET (line 16) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/bounties/route.ts constant GET (line 10) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/customers/[customerId]/route.ts constant GET (line 20) | const GET = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/customers/count/route.ts constant GET (line 15) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/customers/route.ts constant GET (line 22) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/earnings/count/route.ts constant GET (line 12) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/earnings/route.ts constant GET (line 15) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/earnings/timeseries/route.ts constant GET (line 7) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/events/export/route.ts constant MAX_EVENTS_TO_EXPORT (line 33) | const MAX_EVENTS_TO_EXPORT = 1000; constant GET (line 36) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/events/route.ts constant GET (line 22) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/groups/[groupIdOrSlug]/route.ts constant GET (line 7) | const GET = withPartnerProfile(async ({ params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/links/[linkId]/route.ts constant PATCH (line 16) | const PATCH = withPartnerProfile( constant DELETE (line 159) | const DELETE = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/links/route.ts constant GET (line 19) | const GET = withPartnerProfile(async ({ partner, params }) => { constant POST (line 47) | const POST = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/referrals/count/route.ts constant GET (line 12) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/referrals/route.ts constant GET (line 12) | const GET = withPartnerProfile( FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/resources/route.ts constant GET (line 7) | const GET = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/[programId]/route.ts constant GET (line 8) | const GET = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/count/route.ts constant GET (line 7) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/programs/route.ts constant GET (line 10) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/(ee)/api/partner-profile/rewind/route.ts constant GET (line 7) | const GET = withPartnerProfile(async ({ partner }) => { FILE: apps/web/app/(ee)/api/partner-profile/route.ts constant GET (line 6) | const GET = withPartnerProfile(async ({ partner, partnerUser }) => { FILE: apps/web/app/(ee)/api/partner-profile/users/route.ts constant GET (line 15) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { constant PATCH (line 63) | const PATCH = withPartnerProfile( constant DELETE (line 140) | const DELETE = withPartnerProfile( FILE: apps/web/app/(ee)/api/partners/[partnerId]/application-risks/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/[partnerId]/comments/count/route.ts constant GET (line 7) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/[partnerId]/comments/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/[partnerId]/cross-program-summary/route.ts constant GET (line 12) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/[partnerId]/route.ts constant GET (line 9) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/analytics/route.ts constant GET (line 18) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/ban/route.ts constant POST (line 12) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/partners/count/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/deactivate/route.ts constant POST (line 13) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/partners/export/route.ts constant MAX_PARTNERS_TO_EXPORT (line 12) | const MAX_PARTNERS_TO_EXPORT = 1000; constant GET (line 15) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/partners/links/route.ts constant GET (line 24) | const GET = withWorkspace( constant POST (line 70) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/partners/links/upsert/route.ts constant PUT (line 26) | const PUT = withWorkspace( FILE: apps/web/app/(ee)/api/partners/platforms/callback/route.ts type State (line 21) | interface State { function GET (line 28) | async function GET(req: Request) { FILE: apps/web/app/(ee)/api/partners/route.ts constant GET (line 19) | const GET = withWorkspace( constant POST (line 103) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/payouts/[payoutId]/route.ts constant GET (line 11) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/payouts/count/route.ts constant GET (line 11) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/payouts/route.ts constant GET (line 16) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/paypal/webhook/payouts-item-failed.ts constant PAYPAL_TO_DUB_STATUS (line 6) | const PAYPAL_TO_DUB_STATUS = { function payoutsItemFailed (line 14) | async function payoutsItemFailed(event: any) { FILE: apps/web/app/(ee)/api/paypal/webhook/payouts-item-succeeded.ts function payoutsItemSucceeded (line 4) | async function payoutsItemSucceeded(event: any) { FILE: apps/web/app/(ee)/api/paypal/webhook/verify-signature.ts constant CERT_CACHE_KEY_PREFIX (line 7) | const CERT_CACHE_KEY_PREFIX = "paypal:cert:"; constant CERT_CACHE_TTL_SECONDS (line 8) | const CERT_CACHE_TTL_SECONDS = 60 * 60 * 24 * 7; function downloadAndCache (line 10) | async function downloadAndCache(url: string) { function verifySignature (line 42) | async function verifySignature({ FILE: apps/web/app/(ee)/api/programs/[programId]/applications/[applicationId]/route.ts constant GET (line 7) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/programs/[programId]/applications/export/route.ts constant GET (line 24) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/programs/[programId]/discounts/route.ts constant GET (line 10) | const GET = withWorkspace(async ({ workspace }) => { FILE: apps/web/app/(ee)/api/programs/[programId]/payouts/eligible/count/route.ts constant GET (line 14) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/programs/[programId]/payouts/eligible/route.ts constant GET (line 19) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/(ee)/api/programs/[programId]/referrals/count/route.ts constant GET (line 12) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/programs/[programId]/referrals/route.ts constant GET (line 13) | const GET = withWorkspace( FILE: apps/web/app/(ee)/api/programs/[programId]/resources/route.ts constant GET (line 8) | const GET = withWorkspace(async ({ workspace }) => { FILE: apps/web/app/(ee)/api/programs/[programId]/route.ts constant GET (line 7) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/programs/rewardful/campaigns/route.ts constant GET (line 7) | const GET = withWorkspace(async ({ workspace }) => { FILE: apps/web/app/(ee)/api/rewards/[rewardId]/route.ts constant GET (line 8) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/(ee)/api/rewards/route.ts constant GET (line 9) | const GET = withWorkspace(async ({ workspace }) => { FILE: apps/web/app/(ee)/api/shopify/integration/callback/route.ts constant PATCH (line 12) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/shopify/integration/webhook/app-uninstalled.ts function appUninstalled (line 3) | async function appUninstalled({ shopDomain }: { shopDomain: string }) { FILE: apps/web/app/(ee)/api/shopify/integration/webhook/customers-data-request.ts function customersDataRequest (line 14) | async function customersDataRequest({ FILE: apps/web/app/(ee)/api/shopify/integration/webhook/customers-redact.ts function customersRedact (line 15) | async function customersRedact({ FILE: apps/web/app/(ee)/api/shopify/integration/webhook/orders-paid.ts function ordersPaid (line 8) | async function ordersPaid({ FILE: apps/web/app/(ee)/api/shopify/integration/webhook/shop-redact.ts function shopRedact (line 10) | async function shopRedact({ FILE: apps/web/app/(ee)/api/singular/webhook/route.ts constant GET (line 40) | const GET = withAxiom(async (req) => { FILE: apps/web/app/(ee)/api/stripe/connect/v2/webhook/outbound-payment-failed.ts function outboundPaymentFailed (line 7) | async function outboundPaymentFailed(event: Stripe.ThinEvent) { FILE: apps/web/app/(ee)/api/stripe/connect/v2/webhook/outbound-payment-posted.ts function outboundPaymentPosted (line 6) | async function outboundPaymentPosted(event: Stripe.ThinEvent) { FILE: apps/web/app/(ee)/api/stripe/connect/v2/webhook/outbound-payment-returned.ts function outboundPaymentReturned (line 7) | async function outboundPaymentReturned(event: Stripe.ThinEvent) { FILE: apps/web/app/(ee)/api/stripe/connect/v2/webhook/recipient-account-closed.ts function recipientAccountClosed (line 6) | async function recipientAccountClosed(event: Stripe.ThinEvent) { FILE: apps/web/app/(ee)/api/stripe/connect/v2/webhook/recipient-configuration-updated.ts function recipientConfigurationUpdated (line 8) | async function recipientConfigurationUpdated(event: Stripe.ThinEvent) { FILE: apps/web/app/(ee)/api/stripe/connect/webhook/account-application-deauthorized.ts function accountApplicationDeauthorized (line 5) | async function accountApplicationDeauthorized(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/connect/webhook/account-updated.ts function accountUpdated (line 20) | async function accountUpdated(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/connect/webhook/balance-available.ts function balanceAvailable (line 9) | async function balanceAvailable(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/connect/webhook/payout-failed.ts function payoutFailed (line 9) | async function payoutFailed(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/connect/webhook/payout-paid.ts function payoutPaid (line 9) | async function payoutPaid(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/route.ts constant CORS_HEADERS (line 11) | const CORS_HEADERS = new Headers({ constant PATCH (line 18) | const PATCH = withWorkspace( FILE: apps/web/app/(ee)/api/stripe/integration/webhook/account-application-deauthorized.ts function accountApplicationDeauthorized (line 7) | async function accountApplicationDeauthorized( FILE: apps/web/app/(ee)/api/stripe/integration/webhook/charge-refunded.ts function chargeRefunded (line 8) | async function chargeRefunded(event: Stripe.Event, mode: StripeMode) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/checkout-session-completed.ts function checkoutSessionCompleted (line 36) | async function checkoutSessionCompleted( function attributeViaPromoCode (line 555) | async function attributeViaPromoCode({ function incrementLinkLeads (line 749) | async function incrementLinkLeads(linkId: string) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/coupon-deleted.ts function couponDeleted (line 12) | async function couponDeleted(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/customer-created.ts function customerCreated (line 6) | async function customerCreated(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/customer-subscription-created.ts function customerSubscriptionCreated (line 13) | async function customerSubscriptionCreated( FILE: apps/web/app/(ee)/api/stripe/integration/webhook/customer-subscription-deleted.ts function customerSubscriptionDeleted (line 5) | async function customerSubscriptionDeleted(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/customer-updated.ts function customerUpdated (line 6) | async function customerUpdated(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/invoice-paid.ts function invoicePaid (line 21) | async function invoicePaid(event: Stripe.Event, mode: StripeMode) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/promotion-code-updated.ts function promotionCodeUpdated (line 5) | async function promotionCodeUpdated(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/route.ts constant POST (line 31) | const POST = withAxiom(async (req: Request) => { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/utils/create-new-customer.ts function createNewCustomer (line 16) | async function createNewCustomer(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/integration/webhook/utils/get-connected-customer.ts function getConnectedCustomer (line 4) | async function getConnectedCustomer({ FILE: apps/web/app/(ee)/api/stripe/integration/webhook/utils/get-promotion-code.ts function getPromotionCode (line 4) | async function getPromotionCode({ FILE: apps/web/app/(ee)/api/stripe/integration/webhook/utils/get-subscription-product-id.ts function getSubscriptionProductId (line 4) | async function getSubscriptionProductId({ FILE: apps/web/app/(ee)/api/stripe/integration/webhook/utils/update-customer-with-stripe-customer-id.ts function updateCustomerWithStripeCustomerId (line 3) | async function updateCustomerWithStripeCustomerId({ FILE: apps/web/app/(ee)/api/stripe/webhook/charge-failed.ts function chargeFailed (line 6) | async function chargeFailed(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/charge-refunded.ts function chargeRefunded (line 6) | async function chargeRefunded(event: Stripe.Event) { function processDomainRenewalInvoice (line 33) | async function processDomainRenewalInvoice({ invoice }: { invoice: Invoi... FILE: apps/web/app/(ee)/api/stripe/webhook/charge-succeeded.ts function chargeSucceeded (line 11) | async function chargeSucceeded(event: Stripe.Event) { function processPayoutInvoice (line 75) | async function processPayoutInvoice({ invoice }: { invoice: Invoice }) { function processDomainRenewalInvoice (line 107) | async function processDomainRenewalInvoice({ invoice }: { invoice: Invoi... FILE: apps/web/app/(ee)/api/stripe/webhook/checkout-session-completed.ts function checkoutSessionCompleted (line 15) | async function checkoutSessionCompleted(event: Stripe.Event) { function completeOnboarding (line 143) | async function completeOnboarding({ FILE: apps/web/app/(ee)/api/stripe/webhook/customer-subscription-deleted.ts function customerSubscriptionDeleted (line 17) | async function customerSubscriptionDeleted(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/customer-subscription-updated.ts function customerSubscriptionUpdated (line 7) | async function customerSubscriptionUpdated(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/invoice-payment-failed.tsx function invoicePaymentFailed (line 6) | async function invoicePaymentFailed(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/payment-intent-requires-action.ts function paymentIntentRequiresAction (line 6) | async function paymentIntentRequiresAction(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/transfer-reversed.ts function transferReversed (line 5) | async function transferReversed(event: Stripe.Event) { FILE: apps/web/app/(ee)/api/stripe/webhook/utils/process-domain-renewal-failure.ts function processDomainRenewalFailure (line 10) | async function processDomainRenewalFailure({ FILE: apps/web/app/(ee)/api/stripe/webhook/utils/process-payout-invoice-failure.ts function processPayoutInvoiceFailure (line 14) | async function processPayoutInvoiceFailure({ FILE: apps/web/app/(ee)/api/stripe/webhook/utils/send-cancellation-feedback.ts function sendCancellationFeedback (line 14) | async function sendCancellationFeedback({ FILE: apps/web/app/(ee)/api/stripe/webhook/utils/update-workspace-plan.ts function updateWorkspacePlan (line 14) | async function updateWorkspacePlan({ FILE: apps/web/app/(ee)/api/track/click/route.ts constant POST (line 58) | const POST = withAxiom(async (req) => { FILE: apps/web/app/(ee)/api/track/lead/client/route.ts constant POST (line 14) | const POST = withPublishableKey( FILE: apps/web/app/(ee)/api/track/lead/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/track/open/route.ts constant POST (line 22) | const POST = withAxiom(async (req) => { FILE: apps/web/app/(ee)/api/track/sale/client/route.ts constant POST (line 14) | const POST = withPublishableKey( FILE: apps/web/app/(ee)/api/track/sale/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/(ee)/api/track/visit/route.ts constant POST (line 18) | const POST = withAxiom(async (req) => { FILE: apps/web/app/(ee)/api/workflows/partner-approved/route.ts type Payload (line 24) | type Payload = z.infer; FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/layout.tsx function NewProgramWorkspaceLayout (line 4) | function NewProgramWorkspaceLayout({ FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/form.tsx function Form (line 15) | function Form() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/overview/page-client.tsx function PageClient (line 17) | function PageClient() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/overview/page.tsx function Page (line 4) | async function Page() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/page.tsx function Page (line 4) | async function Page() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/partners/form.tsx function Form (line 16) | function Form() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/partners/page.tsx function Page (line 4) | async function Page() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/form.tsx constant DEFAULT_REWARD_TYPES (line 17) | const DEFAULT_REWARD_TYPES = [ constant COMMISSION_STRUCTURE_DESCRIPTIONS (line 32) | const COMMISSION_STRUCTURE_DESCRIPTIONS: Record = { constant PAYOUT_MODELS (line 37) | const PAYOUT_MODELS = [ function Form (line 52) | function Form() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/rewards/page.tsx function ProgramOnboardingRewardsPage (line 4) | async function ProgramOnboardingRewardsPage() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/step-page.tsx function StepPage (line 4) | function StepPage({ FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/support/form.tsx function Form (line 13) | function Form() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/[slug]/program/new/support/page.tsx function Page (line 4) | function Page() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/header.tsx function ProgramOnboardingHeader (line 16) | function ProgramOnboardingHeader() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/layout.tsx function Layout (line 8) | function Layout({ children }: { children: React.ReactNode }) { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/sidebar-context.tsx type SidebarContextType (line 8) | interface SidebarContextType { function SidebarProvider (line 15) | function SidebarProvider({ children }: { children: ReactNode }) { function useSidebar (line 42) | function useSidebar() { FILE: apps/web/app/(ee)/app.dub.co/(new-program)/steps.tsx function ProgramOnboardingSteps (line 14) | function ProgramOnboardingSteps() { FILE: apps/web/app/(ee)/app.dub.co/embed/referrals/activity.tsx function ReferralsEmbedActivity (line 9) | function ReferralsEmbedActivity({ function EmptyState (line 102) | function EmptyState() { function EmptyStateBackground (line 126) | function EmptyStateBackground({ className, ...rest }: SVGProps; FILE: apps/web/app/(ee)/app.dub.co/invoices/[invoiceId]/domain-renewal-invoice.tsx function DomainRenewalInvoice (line 25) | async function DomainRenewalInvoice({ FILE: apps/web/app/(ee)/app.dub.co/invoices/[invoiceId]/partner-payout-invoice.tsx function PartnerPayoutInvoice (line 35) | async function PartnerPayoutInvoice({ FILE: apps/web/app/(ee)/app.dub.co/invoices/[invoiceId]/route.tsx constant GET (line 9) | const GET = withSession(async ({ session, params }) => { FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply-button.tsx function ApplyButton (line 7) | function ApplyButton({ FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply/page.tsx function ApplicationPage (line 11) | async function ApplicationPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply/success/cta-buttons.tsx function CTAButtons (line 8) | function CTAButtons() { FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply/success/page.tsx constant FEATURES (line 17) | const FEATURES = [ function SuccessPage (line 44) | async function SuccessPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply/success/pixel-conversion.tsx type Window (line 8) | interface Window { function PixelConversion (line 18) | function PixelConversion() { function PixelConversionHelper (line 28) | function PixelConversionHelper() { FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/apply/success/screenshot.tsx function Screenshot (line 5) | function Screenshot({ FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/header.tsx function ApplyHeader (line 10) | function ApplyHeader({ FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/layout.tsx function generateMetadata (line 13) | async function generateMetadata(props: { function generateStaticParams (line 41) | async function generateStaticParams() { function ApplyLayout (line 50) | async function ApplyLayout( FILE: apps/web/app/(ee)/partners.dub.co/(apply)/[programSlug]/(default)/page.tsx function ApplyPage (line 12) | async function ApplyPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/(generic)/layout.tsx function generateMetadata (line 12) | async function generateMetadata(props: { function generateStaticParams (line 45) | async function generateStaticParams() { function PartnerAuthLayout (line 53) | async function PartnerAuthLayout(props: { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/(generic)/login/page.tsx function LoginPage (line 10) | async function LoginPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/(generic)/register/page-client.tsx type PartialProgram (line 17) | type PartialProgram = Pick; function RegisterPageClient (line 19) | function RegisterPageClient({ function SignUp (line 44) | function SignUp({ program }: { program?: PartialProgram }) { function Verify (line 80) | function Verify() { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/(generic)/register/page.tsx function RegisterPage (line 7) | async function RegisterPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/partner-banner.tsx function PartnerBanner (line 5) | function PartnerBanner({ FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/program-logos.tsx constant LOGO_COUNT (line 4) | const LOGO_COUNT = 13; constant ROW_COUNT (line 5) | const ROW_COUNT = 4; constant ROWS (line 8) | const ROWS = [...Array(ROW_COUNT)].map(() => { constant BLUR_STEPS (line 27) | const BLUR_STEPS = 5; constant BLUR_STEP_SIZE (line 28) | const BLUR_STEP_SIZE = 5; constant BLACK (line 30) | const BLACK = "rgba(0,0,0,1)"; constant TRANSPARENT (line 31) | const TRANSPARENT = "rgba(0,0,0,0)"; function ProgramLogos (line 33) | function ProgramLogos() { FILE: apps/web/app/(ee)/partners.dub.co/(auth-login-register)/side-panel.tsx function SidePanel (line 6) | function SidePanel({ FILE: apps/web/app/(ee)/partners.dub.co/(auth-other)/forgot-password/page.tsx function ForgotPasswordPage (line 4) | function ForgotPasswordPage() { FILE: apps/web/app/(ee)/partners.dub.co/(auth-other)/invite/page.tsx function AcceptPartnerInvitePage (line 12) | function AcceptPartnerInvitePage() { FILE: apps/web/app/(ee)/partners.dub.co/(auth-other)/layout.tsx function PartnerAuthLayout (line 5) | function PartnerAuthLayout({ FILE: apps/web/app/(ee)/partners.dub.co/(auth-other)/logo.tsx function Logo (line 7) | function Logo({ className }: { className?: string }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/auth.tsx constant ERROR_CODES (line 10) | const ERROR_CODES = { function PartnerProfileAuth (line 22) | function PartnerProfileAuth({ children }: { children: ReactNode }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/layout.tsx function PartnerDashboardLayout (line 6) | function PartnerDashboardLayout({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/messages/[programSlug]/page-client.tsx function PartnerMessagesProgramPageClient (line 44) | function PartnerMessagesProgramPageClient() { function ProgramInfoPanel (line 311) | function ProgramInfoPanel({ function ProgramInfoPanelSkeleton (line 477) | function ProgramInfoPanelSkeleton() { function ViewProgramButton (line 547) | function ViewProgramButton({ programSlug }: { programSlug: string }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/messages/[programSlug]/page.tsx function PartnerMessagesProgramPage (line 3) | function PartnerMessagesProgramPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/messages/layout.tsx function MessagesLayout (line 13) | function MessagesLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/messages/page-client.tsx function PartnerMessagesPageClient (line 6) | function PartnerMessagesPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/messages/page.tsx function PartnerMessages (line 3) | function PartnerMessages() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/page.tsx function PartnersPayoutsSettings (line 7) | function PartnersPayoutsSettings() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/partner-payout-details-sheet.tsx type PayoutDetailsSheetProps (line 47) | type PayoutDetailsSheetProps = { function PayoutDetailsSheetContent (line 61) | function PayoutDetailsSheetContent({ payout }: PayoutDetailsSheetProps) { function PayoutDetailsSheet (line 399) | function PayoutDetailsSheet({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/partner-payout-settings-button.tsx function PartnerPayoutSettingsButton (line 10) | function PartnerPayoutSettingsButton() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/partner-payout-settings-sheet.tsx type PartnerPayoutSettingsFormData (line 32) | type PartnerPayoutSettingsFormData = z.infer< function useExternalPayoutEnrollments (line 36) | function useExternalPayoutEnrollments() { function PartnerPayoutSettingsSheet (line 58) | function PartnerPayoutSettingsSheet() { function PartnerPayoutSettingsSheetInner (line 87) | function PartnerPayoutSettingsSheetInner() { function PayoutMethodsSectionSkeleton (line 180) | function PayoutMethodsSectionSkeleton() { function PayoutMethodsSection (line 198) | function PayoutMethodsSection() { function InvoiceDetailsSection (line 284) | function InvoiceDetailsSection({ function ConnectedExternalAccounts (line 347) | function ConnectedExternalAccounts() { function usePartnerPayoutSettingsSheet (line 413) | function usePartnerPayoutSettingsSheet() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-stats.tsx function PayoutStatsCard (line 24) | function PayoutStatsCard({ function PayoutStats (line 115) | function PayoutStats() { function ForceWithdrawalModalDescription (line 270) | function ForceWithdrawalModalDescription({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-table.tsx function PayoutTable (line 40) | function PayoutTable() { function AmountRowItem (line 276) | function AmountRowItem({ payout }: { payout: PartnerPayoutResponse }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/use-payout-filters.tsx function usePayoutFilters (line 10) | function usePayoutFilters() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/about-you-form.tsx type AboutYouFormData (line 22) | type AboutYouFormData = { function AboutYouForm (line 28) | function AboutYouForm({ partner }: { partner?: PartnerProps }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/how-you-work-form.tsx type HowYouWorkFormData (line 19) | type HowYouWorkFormData = { function HowYouWorkForm (line 24) | function HowYouWorkForm({ partner }: { partner?: PartnerProps }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/industry-interests-modal.tsx type IndustryInterestsModalProps (line 8) | type IndustryInterestsModalProps = { function IndustryInterestsModal (line 15) | function IndustryInterestsModal({ function IndustryInterestsModalInner (line 27) | function IndustryInterestsModalInner({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/members/page-client.tsx function ProfileMembersPageClient (line 41) | function ProfileMembersPageClient() { function RoleCell (line 294) | function RoleCell({ function RowMenuButton (line 352) | function RowMenuButton({ function MenuItem (line 420) | function MenuItem({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/members/page.tsx function ProfileMembersPage (line 3) | function ProfileMembersPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/notifications/page-client.tsx type PreferenceType (line 17) | type PreferenceType = z.infer; type Preferences (line 18) | type Preferences = Record; function PartnerSettingsNotificationsPageClient (line 54) | function PartnerSettingsNotificationsPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/notifications/page.tsx function PartnerSettingsNotificationsPage (line 5) | function PartnerSettingsNotificationsPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/page-client.tsx function ProfileSettingsPageClient (line 18) | function ProfileSettingsPageClient() { function Controls (line 47) | function Controls() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/page.tsx function ProfileSettingsPage (line 3) | function ProfileSettingsPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/postbacks/[id]/page-client.tsx type PostbackDetailPageClientProps (line 22) | interface PostbackDetailPageClientProps { function PostbackDetailPageClient (line 26) | function PostbackDetailPageClient({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/postbacks/[id]/page.tsx function PostbackDetailPage (line 3) | async function PostbackDetailPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/postbacks/add-postback-button.tsx function AddPostbackButton (line 5) | function AddPostbackButton({ onClick }: { onClick: () => void }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/postbacks/page-client.tsx function PostbacksPageClient (line 17) | function PostbacksPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/postbacks/page.tsx function PostbacksPage (line 3) | function PostbacksPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/profile-details-form.tsx type BasicInfoFormData (line 36) | type BasicInfoFormData = { function ProfileDetailsForm (line 45) | function ProfileDetailsForm({ partner }: { partner?: PartnerProps }) { function BasicInfoForm (line 147) | function BasicInfoForm({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/profile-discovery-guide.tsx function ProfileDiscoveryGuide (line 15) | function ProfileDiscoveryGuide() { function ConditionalLink (line 119) | function ConditionalLink({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/settings-row.tsx function SettingsRow (line 3) | function SettingsRow({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/profile/use-partner-discovery-requirements.ts function usePartnerDiscoveryRequirements (line 6) | function usePartnerDiscoveryRequirements() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/analytics/page.tsx function PartnerAnalytics (line 4) | function PartnerAnalytics() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/auth.tsx function ProgramEnrollmentAuth (line 8) | function ProgramEnrollmentAuth({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/[bountyId]/bounty-performance-section.tsx type PerformanceAttribute (line 45) | type PerformanceAttribute = keyof typeof PERFORMANCE_BOUNTY_SCOPE_ATTRIB... type PerformanceRow (line 47) | interface PerformanceRow { constant ATTRIBUTE_TO_ANALYTICS_FIELD (line 64) | const ATTRIBUTE_TO_ANALYTICS_FIELD: Partial< constant ATTRIBUTE_TO_CHART_FIELD (line 72) | const ATTRIBUTE_TO_CHART_FIELD: Partial< constant ATTRIBUTE_TO_EVENT_PARAMS (line 80) | const ATTRIBUTE_TO_EVENT_PARAMS: Partial< constant ATTRIBUTE_TO_TABLE_TITLE (line 91) | const ATTRIBUTE_TO_TABLE_TITLE: Record = { function BountyPerformanceSection (line 98) | function BountyPerformanceSection({ function BountyPerformanceChart (line 118) | function BountyPerformanceChart({ bounty }: { bounty: PartnerBountyProps... constant PAGE_SIZE (line 259) | const PAGE_SIZE = 10; function PerformanceTableShell (line 261) | function PerformanceTableShell({ function BountyPerformanceTable (line 291) | function BountyPerformanceTable({ bounty }: { bounty: PartnerBountyProps... function BountyPerformanceEventsTable (line 303) | function BountyPerformanceEventsTable({ function BountyPerformanceCommissionsTable (line 544) | function BountyPerformanceCommissionsTable({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/[bountyId]/bounty-submissions-table.tsx type PartnerBountySubmission (line 16) | type PartnerBountySubmission = PartnerBountyProps["submissions"][number]; function BountySubmissionsTable (line 18) | function BountySubmissionsTable({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/[bountyId]/page-client.tsx function PartnerBountyPageClient (line 24) | function PartnerBountyPageClient() { function BountyDetailsProgressSkeleton (line 99) | function BountyDetailsProgressSkeleton() { function PartnerBountyPageHeader (line 115) | function PartnerBountyPageHeader() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/[bountyId]/page.tsx function PartnerBountyPage (line 7) | function PartnerBountyPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/bounty-card.tsx function PartnerBountyCard (line 21) | function PartnerBountyCard({ function BountyRewardsTable (line 100) | function BountyRewardsTable({ function BountyEndDate (line 176) | function BountyEndDate({ bounty }: { bounty: PartnerBountyProps }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page-client.tsx function BountiesPageClient (line 22) | function BountiesPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page.tsx function BountiesPage (line 4) | function BountiesPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/(index)/layout.tsx function PartnerCustomersLayout (line 18) | function PartnerCustomersLayout({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/(index)/page-client.tsx function ProgramCustomersPageClient (line 34) | function ProgramCustomersPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/(index)/page.tsx function ProgramCustomers (line 3) | function ProgramCustomers() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/(index)/referrals/page.tsx function PartnerCustomersReferralsPage (line 29) | function PartnerCustomersReferralsPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/(index)/use-partner-customer-filters.tsx function usePartnerCustomerFilters (line 7) | function usePartnerCustomerFilters() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/[customerId]/page-client.tsx function ProgramCustomerPageClient (line 22) | function ProgramCustomerPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/customers/[customerId]/page.tsx function ProgramCustomer (line 3) | function ProgramCustomer() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/earnings-composite-chart.tsx constant LINE_COLORS (line 29) | const LINE_COLORS = [ constant EVENT_TYPE_LINE_COLORS (line 38) | const EVENT_TYPE_LINE_COLORS = { constant MAX_LINES (line 44) | const MAX_LINES = LINE_COLORS.length; function EarningsCompositeChart (line 46) | function EarningsCompositeChart() { function EarningsTableControls (line 240) | function EarningsTableControls() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/earnings-table.tsx type ColumnMeta (line 37) | type ColumnMeta = { function EarningsTablePartner (line 43) | function EarningsTablePartner({ limit }: { limit?: number }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/page.tsx function ProgramEarning (line 6) | function ProgramEarning() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/events/page.tsx function ProgramEvents (line 5) | function ProgramEvents() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/hide-program-details-button.tsx function HideProgramDetailsButton (line 8) | function HideProgramDetailsButton() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/layout.tsx function Layout (line 3) | function Layout({ children }: { children: React.ReactNode }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page-client.tsx function usePartnerLinksContext (line 34) | function usePartnerLinksContext() { function ProgramLinksPageClient (line 44) | function ProgramLinksPageClient() { function LinkCardSkeleton (line 199) | function LinkCardSkeleton() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page.tsx function ProgramLinks (line 6) | function ProgramLinks() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/partner-link-card.tsx constant CHARTS (line 45) | const CHARTS = [ function PartnerLinkCard (line 67) | function PartnerLinkCard({ link }: { link: PartnerProfileLinkProps }) { function LinkEventsChart (line 398) | function LinkEventsChart({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/partner-link-controls.tsx function PartnerLinkControls (line 10) | function PartnerLinkControls({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/page-client.tsx function ProgramPageClient (line 70) | function ProgramPageClient() { function EarningsChart (line 287) | function EarningsChart() { function StatCard (line 425) | function StatCard({ function StatCardSimple (line 505) | function StatCardSimple({ function BrandedChart (line 554) | function BrandedChart({ function ViewMoreButton (line 642) | function ViewMoreButton({ href }: { href: string }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/page.tsx function ProgramPage (line 5) | function ProgramPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/payouts-card.tsx function PayoutsCard (line 14) | function PayoutsCard({ programId }: { programId?: string }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/resources/page-client.tsx function ResourcesPageClient (line 19) | function ResourcesPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/resources/page.tsx function ResourcesPage (line 4) | function ResourcesPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/share-earnings-modal.tsx constant BACKGROUND_OPTIONS (line 10) | const BACKGROUND_OPTIONS = [ type BackgroundType (line 21) | type BackgroundType = (typeof BACKGROUND_OPTIONS)[number]["id"]; type ShareEarningsModalProps (line 23) | type ShareEarningsModalProps = { function ShareEarningsModal (line 33) | function ShareEarningsModal({ function ShareEarningsModalInner (line 60) | function ShareEarningsModalInner({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/unapproved-program-page.tsx function UnapprovedProgramPage (line 42) | function UnapprovedProgramPage({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/apply/page.tsx function ProgramDetailsPage (line 14) | async function ProgramDetailsPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/apply/program-sidebar.tsx function ProgramSidebar (line 22) | function ProgramSidebar({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/accept-program-invite-button.tsx function AcceptProgramInviteButton (line 11) | function AcceptProgramInviteButton({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/invite/page.tsx function ProgramInvitePage (line 18) | async function ProgramInvitePage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/invitations/page-client.tsx function ProgramInvitationsPageClient (line 10) | function ProgramInvitationsPageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/invitations/page.tsx function ProgramInvitationsPage (line 4) | function ProgramInvitationsPage() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/[programSlug]/header-controls.tsx function MarketplaceProgramHeaderControls (line 19) | function MarketplaceProgramHeaderControls({ function ApplyButton (line 46) | function ApplyButton({ program }: { program: NetworkProgramProps }) { function AcceptInviteButton (line 130) | function AcceptInviteButton({ program }: { program: NetworkProgramProps ... FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/[programSlug]/loading.tsx function MarketplaceProgramPageLoading (line 4) | function MarketplaceProgramPageLoading() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/[programSlug]/page.tsx function generateStaticParams (line 21) | async function generateStaticParams() { function MarketplaceProgramPage (line 38) | async function MarketplaceProgramPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/featured-program-card.tsx function FeaturedProgramCard (line 9) | function FeaturedProgramCard({ function FeaturedProgramCardSkeleton (line 180) | function FeaturedProgramCardSkeleton() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/featured-programs.tsx function FeaturedPrograms (line 18) | function FeaturedPrograms() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/layout.tsx function MarketplaceLayout (line 5) | function MarketplaceLayout({ children }: PropsWithChildren) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/marketplace-empty-state.tsx function MarketplaceEmptyState (line 4) | function MarketplaceEmptyState({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page-client.tsx function ProgramMarketplacePageClient (line 22) | function ProgramMarketplacePageClient() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page.tsx function PartnersDashboard (line 5) | function PartnersDashboard() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/program-card.tsx function ProgramCard (line 9) | function ProgramCard({ program }: { program: NetworkProgramProps }) { function ProgramCardSkeleton (line 121) | function ProgramCardSkeleton() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/program-sort.tsx function ProgramSort (line 42) | function ProgramSort() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/program-status-badge.tsx function ProgramStatusBadge (line 30) | function ProgramStatusBadge({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/use-program-network-filters.tsx constant REWARD_TYPES (line 10) | const REWARD_TYPES = { function useProgramNetworkFilters (line 29) | function useProgramNetworkFilters() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/page-client.tsx function PartnersDashboardPageClient (line 11) | function PartnersDashboardPageClient() { function EmptyStateChart (line 61) | function EmptyStateChart() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/page.tsx function PartnersDashboard (line 4) | function PartnersDashboard() { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/conclusion.tsx function Conclusion (line 7) | function Conclusion({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/intro.tsx function Intro (line 4) | function Intro({ onStart }: { onStart: () => void }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/page-client.tsx function PartnerRewind2025PageClient (line 11) | function PartnerRewind2025PageClient({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/page.tsx function PartnerRewind2025Page (line 15) | async function PartnerRewind2025Page() { function Gradient (line 68) | function Gradient({ className }: { className?: string }) { FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/rewind.tsx constant STEP_DELAY_MS (line 19) | const STEP_DELAY_MS = 8_000; function Rewind (line 24) | function Rewind({ function StepSlide (line 165) | function StepSlide({ FILE: apps/web/app/(ee)/partners.dub.co/(dashboard)/rewind/2025/share-rewind-modal.tsx type ShareRewindModalInnerProps (line 7) | type ShareRewindModalInnerProps = { type ShareRewindModalProps (line 11) | type ShareRewindModalProps = { function ShareRewindModal (line 16) | function ShareRewindModal(props: ShareRewindModalProps) { function ShareRewindModalInner (line 24) | function ShareRewindModalInner({ step }: ShareRewindModalInnerProps) { function useShareRewindModal (line 114) | function useShareRewindModal(props: ShareRewindModalInnerProps) { FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/layout.tsx function PartnerOnboardingLayout (line 7) | function PartnerOnboardingLayout({ FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/onboarding-form.tsx type FormData (line 29) | type FormData = z.infer; function OnboardingForm (line 31) | function OnboardingForm({ FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/page.tsx function PartnerOnboarding (line 6) | function PartnerOnboarding() { function OnboardingFormRSC (line 21) | async function OnboardingFormRSC() { FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/payouts/page.tsx function OnboardingVerificationPage (line 9) | function OnboardingVerificationPage() { function PayoutSkeleton (line 27) | function PayoutSkeleton() { function PayoutRSC (line 54) | async function PayoutRSC() { FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/payouts/payout-provider.tsx function PayoutProvider (line 8) | function PayoutProvider({ FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/platforms/page-client.tsx function OnboardingPlatformsPageClient (line 9) | function OnboardingPlatformsPageClient({ FILE: apps/web/app/(ee)/partners.dub.co/(onboarding)/onboarding/platforms/page.tsx function OnboardingPlatformsPage (line 12) | function OnboardingPlatformsPage() { function OnboardingPlatformsFormRSC (line 33) | async function OnboardingPlatformsFormRSC() { FILE: apps/web/app/(ee)/partners.dub.co/(redirects)/apply/[programSlug]/[[...slug]]/page.tsx function OldApplyPage (line 3) | async function OldApplyPage(props: { FILE: apps/web/app/(ee)/partners.dub.co/invoices/[payoutId]/route.tsx constant GET (line 36) | const GET = withPartnerProfile(async ({ partner, params }) => { FILE: apps/web/app/(ee)/partners.dub.co/layout.tsx function PartnersLayout (line 6) | function PartnersLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/[domain]/browser-graphic.tsx function BrowserGraphic (line 5) | function BrowserGraphic({ domain }: { domain: string }) { FILE: apps/web/app/[domain]/layout.tsx function CustomDomainLayout (line 3) | function CustomDomainLayout({ FILE: apps/web/app/[domain]/not-found/page.tsx constant UTM_PARAMS (line 19) | const UTM_PARAMS = { function NotFoundLinkPage (line 24) | async function NotFoundLinkPage(props: { FILE: apps/web/app/[domain]/page.tsx function generateMetadata (line 6) | async function generateMetadata(props: { function CustomDomainPage (line 23) | function CustomDomainPage() { FILE: apps/web/app/[domain]/placeholder.tsx constant UTM_PARAMS (line 13) | const UTM_PARAMS = { function PlaceholderContent (line 18) | function PlaceholderContent() { FILE: apps/web/app/[domain]/stats/[key]/page.tsx function OldStatsPage (line 5) | async function OldStatsPage(props: { FILE: apps/web/app/api/activity-logs/route.ts constant GET (line 13) | const GET = withWorkspace(async ({ workspace, searchParams }) => { FILE: apps/web/app/api/ai/completion/route.ts constant POST (line 20) | const POST = withWorkspace(async ({ req, workspace }) => { FILE: apps/web/app/api/ai/support-chat/route.ts constant POST (line 15) | const POST = withSession(async ({ req, session }) => { FILE: apps/web/app/api/ai/support-chat/upload/route.ts constant MAX_UPLOAD_SIZE_BYTES (line 6) | const MAX_UPLOAD_SIZE_BYTES = 10 * 1024 * 1024; constant MAX_FILE_NAME_LENGTH (line 7) | const MAX_FILE_NAME_LENGTH = 255; constant ACCEPTED_EXTENSIONS (line 9) | const ACCEPTED_EXTENSIONS = new Set([ constant POST (line 24) | const POST = withSession(async ({ req, session }) => { FILE: apps/web/app/api/ai/sync-embeddings/fetch-plausible-pageviews.ts function fetchPlausiblePageviews (line 5) | async function fetchPlausiblePageviews(): Promise> { FILE: apps/web/app/api/analytics/export/route.ts constant GET (line 19) | const GET = withWorkspace( FILE: apps/web/app/api/analytics/route.ts constant GET (line 20) | const GET = withWorkspace( FILE: apps/web/app/api/auth/reset-password/route.ts function POST (line 12) | async function POST(req: NextRequest) { FILE: apps/web/app/api/callback/bitly/route.ts function GET (line 10) | async function GET(req: Request) { FILE: apps/web/app/api/callback/plain/partner/route.ts function POST (line 21) | async function POST(req: NextRequest) { FILE: apps/web/app/api/callback/plain/workspace/route.ts function POST (line 18) | async function POST(req: NextRequest) { FILE: apps/web/app/api/dashboards/[id]/route.ts constant PATCH (line 33) | const PATCH = withWorkspace( constant DELETE (line 56) | const DELETE = withWorkspace( FILE: apps/web/app/api/dashboards/route.ts constant GET (line 16) | const GET = withWorkspace( constant POST (line 30) | const POST = withWorkspace( FILE: apps/web/app/api/docs/guides/[guide]/route.ts constant GET (line 5) | const GET = withSession(async ({ params }) => { FILE: apps/web/app/api/domains/[domain]/primary/route.ts constant POST (line 8) | const POST = withWorkspace( FILE: apps/web/app/api/domains/[domain]/route.ts constant GET (line 28) | const GET = withWorkspace( constant PATCH (line 44) | const PATCH = withWorkspace( constant DELETE (line 248) | const DELETE = withWorkspace( FILE: apps/web/app/api/domains/[domain]/transfer/route.ts constant POST (line 13) | const POST = withWorkspace( FILE: apps/web/app/api/domains/[domain]/validate/route.ts constant GET (line 8) | const GET = withSession(async ({ params }) => { function hasSiteConfigured (line 34) | async function hasSiteConfigured(domain: string): Promise { FILE: apps/web/app/api/domains/[domain]/verify/route.ts constant GET (line 13) | const GET = withWorkspace( FILE: apps/web/app/api/domains/client/register/route.ts constant POST (line 16) | const POST = withWorkspace( FILE: apps/web/app/api/domains/client/saved/route.ts constant POST (line 16) | const POST = withWorkspace( FILE: apps/web/app/api/domains/count/route.ts constant GET (line 7) | const GET = withWorkspace( FILE: apps/web/app/api/domains/default/route.ts constant GET (line 10) | const GET = withWorkspace( constant PATCH (line 57) | const PATCH = withWorkspace( FILE: apps/web/app/api/domains/route.ts constant GET (line 22) | const GET = withWorkspace( constant POST (line 96) | const POST = withWorkspace( FILE: apps/web/app/api/domains/search-availability/route.ts constant GET (line 18) | const GET = withWorkspace( FILE: apps/web/app/api/dub/webhook/lead-created.ts constant REFERRAL_SIGNUPS_MAX (line 6) | const REFERRAL_SIGNUPS_MAX = 32; function leadCreated (line 7) | async function leadCreated(data: LeadCreatedEvent["data"]) { FILE: apps/web/app/api/dub/webhook/sale-created.ts function saleCreated (line 3) | async function saleCreated(data: SaleCreatedEvent["data"]) { FILE: apps/web/app/api/folders/[folderId]/dashboard/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/api/folders/[folderId]/route.ts constant GET (line 13) | const GET = withWorkspace( constant PATCH (line 41) | const PATCH = withWorkspace( constant DELETE (line 111) | const DELETE = withWorkspace( FILE: apps/web/app/api/folders/[folderId]/users/route.ts constant GET (line 10) | const GET = withWorkspace( FILE: apps/web/app/api/folders/access-requests/route.ts constant GET (line 6) | const GET = withWorkspace( FILE: apps/web/app/api/folders/count/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/api/folders/permissions/route.ts constant GET (line 11) | const GET = withWorkspace( FILE: apps/web/app/api/folders/route.ts constant GET (line 18) | const GET = withWorkspace( constant POST (line 41) | const POST = withWorkspace( FILE: apps/web/app/api/integrations/route.ts constant GET (line 6) | const GET = withWorkspace( FILE: apps/web/app/api/integrations/uninstall/route.ts constant DELETE (line 12) | const DELETE = withWorkspace( FILE: apps/web/app/api/links/[linkId]/dashboard/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/api/links/[linkId]/route.ts constant GET (line 24) | const GET = withWorkspace( constant PATCH (line 73) | const PATCH = withWorkspace( constant PUT (line 205) | const PUT = PATCH; constant DELETE (line 208) | const DELETE = withWorkspace( FILE: apps/web/app/api/links/[linkId]/transfer/route.ts constant POST (line 22) | const POST = withWorkspace( FILE: apps/web/app/api/links/bulk/route.ts constant POST (line 34) | const POST = withWorkspace( constant PATCH (line 264) | const PATCH = withWorkspace( constant DELETE (line 467) | const DELETE = withWorkspace( FILE: apps/web/app/api/links/count/route.ts constant GET (line 8) | const GET = withWorkspace( FILE: apps/web/app/api/links/export/route.ts constant MAX_LINKS_TO_EXPORT (line 16) | const MAX_LINKS_TO_EXPORT = 1000; constant GET (line 19) | const GET = withWorkspace( FILE: apps/web/app/api/links/iframeable/route.ts function GET (line 12) | async function GET(req: NextRequest) { FILE: apps/web/app/api/links/info/route.ts constant GET (line 11) | const GET = withWorkspace( FILE: apps/web/app/api/links/metatags/route.ts function GET (line 9) | async function GET(req: NextRequest) { FILE: apps/web/app/api/links/route.ts constant GET (line 20) | const GET = withWorkspace( constant POST (line 48) | const POST = withWorkspace( FILE: apps/web/app/api/links/sync/route.ts constant POST (line 10) | const POST = withWorkspace( FILE: apps/web/app/api/links/upsert/route.ts constant PUT (line 23) | const PUT = withWorkspace( FILE: apps/web/app/api/me/route.ts constant GET (line 6) | const GET = withSession(async ({ session }) => { FILE: apps/web/app/api/misc/check-favicon/route.ts constant GET (line 5) | const GET = withSession(async ({ searchParams }) => { FILE: apps/web/app/api/misc/check-workspace-slug/route.ts constant GET (line 7) | const GET = withSession(async ({ searchParams }) => { FILE: apps/web/app/api/oauth/apps/[appId]/route.ts constant GET (line 13) | const GET = withWorkspace( constant PATCH (line 53) | const PATCH = withWorkspace( constant DELETE (line 173) | const DELETE = withWorkspace( FILE: apps/web/app/api/oauth/apps/route.ts constant GET (line 15) | const GET = withWorkspace( constant POST (line 45) | const POST = withWorkspace( FILE: apps/web/app/api/oauth/authorize/route.ts constant POST (line 13) | const POST = withWorkspace(async ({ session, req, workspace }) => { FILE: apps/web/app/api/oauth/token/route.ts function POST (line 11) | async function POST(req: NextRequest) { FILE: apps/web/app/api/oauth/userinfo/route.ts constant CORS_HEADERS (line 9) | const CORS_HEADERS = new Headers({ function GET (line 16) | async function GET(req: NextRequest) { FILE: apps/web/app/api/og/analytics/route.tsx function GET (line 15) | async function GET(req: NextRequest) { FILE: apps/web/app/api/og/avatar/[[...seed]]/route.tsx function GET (line 7) | async function GET( FILE: apps/web/app/api/og/load-google-font.ts function loadGoogleFont (line 1) | async function loadGoogleFont(font: string) { FILE: apps/web/app/api/og/partner-earnings/route.tsx constant WIDTH (line 9) | const WIDTH = 1368; constant HEIGHT (line 10) | const HEIGHT = 994; constant BACKGROUND_IMAGES (line 12) | const BACKGROUND_IMAGES = { constant GET (line 17) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { function Chart (line 160) | function Chart({ FILE: apps/web/app/api/og/partner-rewind/route.tsx constant WIDTH (line 14) | const WIDTH = 1084; constant HEIGHT (line 15) | const HEIGHT = 994; constant GET (line 17) | const GET = withPartnerProfile(async ({ partner, searchParams }) => { FILE: apps/web/app/api/og/program/route.tsx constant DARK_CELLS (line 11) | const DARK_CELLS = [ function GET (line 18) | async function GET(req: NextRequest) { function InvoiceDollar (line 188) | function InvoiceDollar({ FILE: apps/web/app/api/providers/route.ts function GET (line 9) | async function GET(req: NextRequest) { FILE: apps/web/app/api/qr/route.tsx constant CORS_HEADERS (line 13) | const CORS_HEADERS = new Headers({ function GET (line 18) | async function GET(req: NextRequest) { function OPTIONS (line 106) | function OPTIONS() { FILE: apps/web/app/api/resend/webhook/email-bounced.ts function emailBounced (line 3) | async function emailBounced({ FILE: apps/web/app/api/resend/webhook/email-delivered.ts function emailDelivered (line 3) | async function emailDelivered({ FILE: apps/web/app/api/resend/webhook/email-opened.ts function emailOpened (line 3) | async function emailOpened({ FILE: apps/web/app/api/resumes/upload-url/route.ts constant CORS_HEADERS (line 7) | const CORS_HEADERS = new Headers({ FILE: apps/web/app/api/route.ts function GET (line 6) | function GET() { FILE: apps/web/app/api/supported-countries/route.ts function GET (line 6) | async function GET() { FILE: apps/web/app/api/tags/[id]/route.ts constant PATCH (line 12) | const PATCH = withWorkspace( constant PUT (line 59) | const PUT = PATCH; constant DELETE (line 62) | const DELETE = withWorkspace( FILE: apps/web/app/api/tags/count/route.ts constant GET (line 7) | const GET = withWorkspace( FILE: apps/web/app/api/tags/route.ts constant GET (line 15) | const GET = withWorkspace( constant POST (line 68) | const POST = withWorkspace( FILE: apps/web/app/api/tokens/[id]/route.ts constant GET (line 12) | const GET = withWorkspace( constant PATCH (line 53) | const PATCH = withWorkspace( constant DELETE (line 108) | const DELETE = withWorkspace( FILE: apps/web/app/api/tokens/embed/referrals/route.ts constant POST (line 16) | const POST = withWorkspace( FILE: apps/web/app/api/tokens/route.ts constant MAX_WORKSPACE_TOKENS (line 18) | const MAX_WORKSPACE_TOKENS = 100; constant GET (line 25) | const GET = withWorkspace( constant POST (line 66) | const POST = withWorkspace( FILE: apps/web/app/api/unsplash/download/route.ts function POST (line 4) | async function POST(req: Request) { FILE: apps/web/app/api/unsplash/search/route.ts function GET (line 8) | async function GET(req: Request) { FILE: apps/web/app/api/user/notification-preferences/route.ts function GET (line 18) | async function GET(request: NextRequest) { function POST (line 78) | async function POST(request: NextRequest) { FILE: apps/web/app/api/user/password/route.ts constant PATCH (line 13) | const PATCH = withSession(async ({ req, session }) => { FILE: apps/web/app/api/user/referrals-token/route.ts constant GET (line 11) | const GET = withSession(async ({ session }) => { FILE: apps/web/app/api/user/route.ts constant GET (line 28) | const GET = withSession(async ({ session }) => { constant PATCH (line 66) | const PATCH = withSession(async ({ req, session }) => { constant PUT (line 151) | const PUT = PATCH; constant DELETE (line 154) | const DELETE = withSession(async ({ session }) => { FILE: apps/web/app/api/user/set-password/route.ts constant POST (line 11) | const POST = withSession(async ({ session }) => { FILE: apps/web/app/api/user/tokens/route.ts constant GET (line 6) | const GET = withSession(async ({ session }) => { constant DELETE (line 31) | const DELETE = withSession(async ({ searchParams, session }) => { FILE: apps/web/app/api/utm/[id]/route.ts constant PATCH (line 16) | const PATCH = withWorkspace( constant DELETE (line 130) | const DELETE = withWorkspace( FILE: apps/web/app/api/utm/route.ts constant GET (line 9) | const GET = withWorkspace( constant POST (line 32) | const POST = withWorkspace( FILE: apps/web/app/api/webhooks/[webhookId]/events/route.ts constant GET (line 7) | const GET = withWorkspace( FILE: apps/web/app/api/webhooks/[webhookId]/route.ts constant GET (line 16) | const GET = withWorkspace( constant PATCH (line 53) | const PATCH = withWorkspace( constant DELETE (line 210) | const DELETE = withWorkspace( FILE: apps/web/app/api/webhooks/route.ts constant GET (line 25) | const GET = withWorkspace( constant POST (line 47) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/cancel/route.ts constant POST (line 8) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/invoices/[invoiceId]/route.ts constant GET (line 6) | const GET = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/invoices/route.ts constant GET (line 17) | const GET = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/manage/route.ts constant POST (line 8) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/payment-methods/route.ts constant GET (line 20) | const GET = withWorkspace( constant POST (line 53) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/upgrade/route.ts constant POST (line 21) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/billing/usage/route.ts constant GET (line 11) | const GET = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/import/[importId]/download/route.ts constant GET (line 6) | const GET = withWorkspace(async ({ workspace, params }) => { FILE: apps/web/app/api/workspaces/[idOrSlug]/import/bitly/route.ts constant GET (line 14) | const GET = withWorkspace(async ({ workspace }) => { constant POST (line 61) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/import/csv/route.ts constant POST (line 13) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/import/rebrandly/route.ts constant GET (line 14) | const GET = withWorkspace(async ({ workspace }) => { constant PUT (line 80) | const PUT = withWorkspace( constant POST (line 95) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/import/short/route.ts constant GET (line 14) | const GET = withWorkspace(async ({ workspace }) => { constant PUT (line 67) | const PUT = withWorkspace( constant POST (line 79) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/invites/accept/route.ts constant POST (line 11) | const POST = withSession(async ({ session, params }) => { FILE: apps/web/app/api/workspaces/[idOrSlug]/invites/decline/route.ts constant POST (line 7) | const POST = withSession(async ({ session, params }) => { FILE: apps/web/app/api/workspaces/[idOrSlug]/invites/reset/route.ts constant POST (line 6) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/invites/route.ts constant GET (line 19) | const GET = withWorkspace( constant POST (line 49) | const POST = withWorkspace( constant PATCH (line 180) | const PATCH = withWorkspace( constant DELETE (line 225) | const DELETE = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/notification-preferences/route.ts constant GET (line 6) | const GET = withWorkspace(async ({ workspace, session }) => { FILE: apps/web/app/api/workspaces/[idOrSlug]/route.ts constant GET (line 42) | const GET = withWorkspace( constant PATCH (line 80) | const PATCH = withWorkspace( constant PUT (line 241) | const PUT = PATCH; constant DELETE (line 244) | const DELETE = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/saml/route.ts constant GET (line 30) | const GET = withWorkspace( constant POST (line 56) | const POST = withWorkspace( constant DELETE (line 100) | const DELETE = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/scim/route.ts constant GET (line 17) | const GET = withWorkspace( constant POST (line 43) | const POST = withWorkspace( constant DELETE (line 70) | const DELETE = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/upload-url/route.ts constant POST (line 12) | const POST = withWorkspace( FILE: apps/web/app/api/workspaces/[idOrSlug]/users/route.ts constant GET (line 16) | const GET = withWorkspace( constant PATCH (line 60) | const PATCH = withWorkspace( constant DELETE (line 95) | const DELETE = withWorkspace( FILE: apps/web/app/api/workspaces/route.ts constant GET (line 19) | const GET = withSession(async ({ session }) => { constant POST (line 61) | const POST = withSession(async ({ req, session }) => { FILE: apps/web/app/app.dub.co/(auth)/auth/confirm-email-change/[token]/page-client.tsx function ConfirmEmailChangePageClient (line 9) | async function ConfirmEmailChangePageClient({ FILE: apps/web/app/app.dub.co/(auth)/auth/confirm-email-change/[token]/page.tsx type PageProps (line 14) | interface PageProps { function ConfirmEmailChangePage (line 19) | async function ConfirmEmailChangePage(props: PageProps) { FILE: apps/web/app/app.dub.co/(auth)/auth/reset-password/[token]/page.tsx type Props (line 7) | interface Props { function ResetPasswordPage (line 13) | async function ResetPasswordPage(props: Props) { FILE: apps/web/app/app.dub.co/(auth)/auth/saml/form.tsx function SAMLForm (line 8) | function SAMLForm() { FILE: apps/web/app/app.dub.co/(auth)/auth/saml/page.tsx function SAMLPage (line 7) | function SAMLPage() { FILE: apps/web/app/app.dub.co/(auth)/customer-logos.tsx constant CUSTOMER_LOGOS (line 5) | const CUSTOMER_LOGOS: { name: string; src: string; className?: string }[... function CustomerLogos (line 30) | function CustomerLogos() { FILE: apps/web/app/app.dub.co/(auth)/forgot-password/page.tsx function ForgotPasswordPage (line 9) | function ForgotPasswordPage() { FILE: apps/web/app/app.dub.co/(auth)/invites/[code]/page.tsx function InvitesPage (line 11) | async function InvitesPage(props: { function VerifyInvite (line 34) | async function VerifyInvite({ code }: { code: string }) { FILE: apps/web/app/app.dub.co/(auth)/layout.tsx function AuthLayout (line 7) | function AuthLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(auth)/login/page.tsx function LoginPage (line 12) | function LoginPage() { FILE: apps/web/app/app.dub.co/(auth)/oauth/authorize/loading.tsx function AuthorizeLoading (line 4) | function AuthorizeLoading() { FILE: apps/web/app/app.dub.co/(auth)/oauth/authorize/page.tsx function Authorize (line 21) | async function Authorize(props: { FILE: apps/web/app/app.dub.co/(auth)/oauth/authorize/scopes-requested.tsx type ScopesProps (line 7) | interface ScopesProps { FILE: apps/web/app/app.dub.co/(auth)/register/page-client.tsx function RegisterPageClient (line 13) | function RegisterPageClient() { function SignUp (line 21) | function SignUp() { function Verify (line 53) | function Verify() { FILE: apps/web/app/app.dub.co/(auth)/register/page.tsx function RegisterPage (line 10) | function RegisterPage() { FILE: apps/web/app/app.dub.co/(auth)/side-panel.tsx function SidePanel (line 5) | function SidePanel() { FILE: apps/web/app/app.dub.co/(auth)/unsubscribe/[token]/page.tsx function UnsubscribePage (line 13) | async function UnsubscribePage(props: { FILE: apps/web/app/app.dub.co/(auth)/unsubscribe/[token]/unsubscribe-form.tsx type PreferenceState (line 15) | type PreferenceState = Record; constant NOTIFICATION_ICONS (line 17) | const NOTIFICATION_ICONS: Record< function UnsubscribeForm (line 26) | function UnsubscribeForm({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/[customerId]/earnings/page-client.tsx function CustomerEarningsPageClient (line 16) | function CustomerEarningsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/[customerId]/earnings/page.tsx function CustomerEarningsPage (line 3) | function CustomerEarningsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/[customerId]/layout.tsx function CustomerLayout (line 27) | function CustomerLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/[customerId]/sales/page-client.tsx function CustomerSalesPageClient (line 13) | function CustomerSalesPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/[customerId]/sales/page.tsx function CustomerSalesPage (line 3) | function CustomerSalesPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/page-client.tsx function CustomersPageClient (line 3) | function CustomersPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/customers/page.tsx function CustomersPage (line 6) | function CustomersPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/events/page.tsx function WorkspaceAnalyticsEvents (line 8) | function WorkspaceAnalyticsEvents() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/analytics-chart.tsx function AnalyticsChart (line 13) | function AnalyticsChart() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/analytics-partners-table.tsx function AnalyticsPartnersTable (line 27) | function AnalyticsPartnersTable() { function PartnerTableSkeleton (line 231) | function PartnerTableSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/analytics-timeseries-chart.tsx function AnalyticsTimeseriesChart (line 14) | function AnalyticsTimeseriesChart({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page-client.tsx function ProgramAnalyticsPageClient (line 30) | function ProgramAnalyticsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page.tsx function ProgramAnalytics (line 9) | function ProgramAnalytics() { function ProgramAnalyticsPageWrapper (line 26) | function ProgramAnalyticsPageWrapper() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/partner-analytics-filter-cell.tsx type PartnerAnalyticsFilterCellProps (line 9) | interface PartnerAnalyticsFilterCellProps { function PartnerAnalyticsFilterCell (line 21) | function PartnerAnalyticsFilterCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/auth.tsx function ProgramAuth (line 12) | function ProgramAuth({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/bounty-header.tsx function BountyHeaderTitle (line 9) | function BountyHeaderTitle() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/bounty-info.tsx function BountyInfo (line 20) | function BountyInfo() { function BountyInfoSkeleton (line 184) | function BountyInfoSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/bounty-submission-details-sheet.tsx type BountySubmissionDetailsSheetProps (line 54) | type BountySubmissionDetailsSheetProps = { function BountySubmissionDetailsSheetContent (line 61) | function BountySubmissionDetailsSheetContent({ function BountySubmissionDetailsSheet (line 614) | function BountySubmissionDetailsSheet({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/bounty-submission-row-menu.tsx function BountySubmissionRowMenu (line 15) | function BountySubmissionRowMenu({ function MenuItem (line 110) | function MenuItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/bounty-submissions-table.tsx function BountySubmissionsTable (line 51) | function BountySubmissionsTable() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/page.tsx function Page (line 7) | function Page() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/[bountyId]/use-bounty-submission-filters.tsx function useBountySubmissionFilters (line 17) | function useBountySubmissionFilters({ function usePartnerFilterOptions (line 168) | function usePartnerFilterOptions(search: string) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/add-edit-bounty-sheet.tsx type BountySheetProps (line 50) | interface BountySheetProps { constant BOUNTY_TYPES (line 55) | const BOUNTY_TYPES: CardSelectorOption[] = [ function BountySheetContent (line 68) | function BountySheetContent({ setIsOpen, bounty }: BountySheetProps) { function SubmissionWindowBadge (line 567) | function SubmissionWindowBadge({ function BountySheet (line 603) | function BountySheet({ function useBountySheet (line 625) | function useBountySheet( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-amount-input.tsx type BountyAmountInputProps (line 10) | interface BountyAmountInputProps { function BountyAmountInput (line 15) | function BountyAmountInput({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-criteria-manual-submission.tsx constant REWARD_TYPES (line 22) | const REWARD_TYPES = [ type RewardType (line 33) | type RewardType = (typeof REWARD_TYPES)[number]["value"]; constant REWARD_TYPE_COPY (line 35) | const REWARD_TYPE_COPY: Record< constant REWARD_VALID_BUTTON_CLASS (line 43) | const REWARD_VALID_BUTTON_CLASS = constant REWARD_INVALID_BUTTON_CLASS (line 45) | const REWARD_INVALID_BUTTON_CLASS = function BountyCriteriaManualSubmission (line 48) | function BountyCriteriaManualSubmission() { function RewardTypeBadge (line 352) | function RewardTypeBadge({ function RewardValueBadge (line 376) | function RewardValueBadge({ rewardType }: { rewardType: RewardType }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-criteria-social-metrics.tsx type SocialMetricsVariableBonusProps (line 34) | interface SocialMetricsVariableBonusProps { function BountyCriteriaSocialMetrics (line 41) | function BountyCriteriaSocialMetrics() { function SocialMetricsIncrementalBonus (line 293) | function SocialMetricsIncrementalBonus({ function VariableBonusAmountInput (line 472) | function VariableBonusAmountInput({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-criteria.tsx constant BOUNTY_SUBMISSION_TYPES (line 22) | const BOUNTY_SUBMISSION_TYPES = [ type BountySubmissionType (line 33) | type BountySubmissionType = (typeof BOUNTY_SUBMISSION_TYPES)[number]["va... function BountyCriteria (line 35) | function BountyCriteria() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-form-context.tsx type CreateBountyInputExtended (line 6) | type CreateBountyInputExtended = CreateBountyInput & { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/bounty-logic.tsx function BountyLogic (line 16) | function BountyLogic({ className }: { className?: string }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/confirm-create-bounty-modal.tsx type ConfirmCreateBountyModalProps (line 25) | type ConfirmCreateBountyModalProps = { function ConfirmCreateBountyModal (line 40) | function ConfirmCreateBountyModal({ function useConfirmCreateBountyModal (line 242) | function useConfirmCreateBountyModal( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/add-edit-bounty/use-add-edit-bounty-form.ts constant ACCORDION_ITEMS (line 23) | const ACCORDION_ITEMS = [ function useAddEditBountyForm (line 33) | function useAddEditBountyForm({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/bounty-action-button.tsx type BountyActionButtonProps (line 19) | interface BountyActionButtonProps { function BountyActionButton (line 25) | function BountyActionButton({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/bounty-card.tsx function BountyCard (line 14) | function BountyCard({ bounty }: { bounty: BountyListProps }) { function SubmissionsCountBadge (line 166) | function SubmissionsCountBadge({ count }: { count: number }) { function BountyEndedBadge (line 174) | function BountyEndedBadge({ endsAt }: { endsAt: Date }) { function BountyCardSkeleton (line 182) | function BountyCardSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/bounty-list.tsx function BountyList (line 13) | function BountyList() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/create-bounty-button.tsx function CreateBountyButton (line 6) | function CreateBountyButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/bounties/page.tsx function Page (line 6) | function Page() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-action-bar.tsx type CampaignActionBarProps (line 9) | interface CampaignActionBarProps extends PropsWithChildren { function CampaignActionBar (line 16) | function CampaignActionBar({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-controls.tsx type CampaignControlsProps (line 31) | interface CampaignControlsProps { function CampaignControls (line 35) | function CampaignControls({ campaign }: CampaignControlsProps) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-editor-skeleton.tsx function CampaignEditorSkeleton (line 7) | function CampaignEditorSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-editor.tsx function CampaignEditor (line 88) | function CampaignEditor({ campaign }: { campaign: Campaign }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-events-modal.tsx function CampaignEventsModal (line 14) | function CampaignEventsModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-events.tsx type EventStatus (line 14) | type EventStatus = "delivered" | "opened" | "bounced"; type CampaignEvent (line 16) | type CampaignEvent = z.infer; constant MAX_EVENTS (line 18) | const MAX_EVENTS = 10; function CampaignEvents (line 20) | function CampaignEvents() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-groups-selector.tsx constant MAX_DISPLAYED_GROUPS (line 10) | const MAX_DISPLAYED_GROUPS = 1; type CampaignGroupsSelectorProps (line 12) | interface CampaignGroupsSelectorProps { function CampaignGroupsSelector (line 17) | function CampaignGroupsSelector({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/campaign-metrics.tsx function CampaignMetrics (line 13) | function CampaignMetrics() { function CampaignMetricsLoadingSkeleton (line 93) | function CampaignMetricsLoadingSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/duplicate-logic-warning.tsx function DuplicateLogicWarning (line 14) | function DuplicateLogicWarning() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/page-client.tsx function ProgramCampaignPageClient (line 8) | function ProgramCampaignPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/page.tsx function ProgramCampaignPage (line 3) | function ProgramCampaignPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/send-email-preview-modal.tsx type SendEmailPreviewModalProps (line 11) | interface SendEmailPreviewModalProps { function SendEmailPreviewModal (line 17) | function SendEmailPreviewModal({ function useSendEmailPreviewModal (line 130) | function useSendEmailPreviewModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/transactional-campaign-logic.tsx function TransactionalCampaignLogic (line 14) | function TransactionalCampaignLogic() { function DropdownValueInput (line 90) | function DropdownValueInput({ function ValueInput (line 131) | function ValueInput({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/use-campaign-confirmation-modals.tsx type UseCampaignConfirmationModalsProps (line 15) | interface UseCampaignConfirmationModalsProps { function useCampaignConfirmationModals (line 19) | function useCampaignConfirmationModals({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/[campaignId]/utils.ts function isValidTriggerCondition (line 4) | function isValidTriggerCondition( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaign-stats.tsx type StatsFilterProps (line 14) | interface StatsFilterProps { type CampaignsCountByType (line 24) | interface CampaignsCountByType { function CampaignStats (line 29) | function CampaignStats() { function StatsFilter (line 100) | function StatsFilter({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaign-status-badges.tsx constant CAMPAIGN_STATUS_BADGES (line 9) | const CAMPAIGN_STATUS_BADGES = { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaign-type-badges.tsx constant CAMPAIGN_TYPE_BADGES (line 3) | const CAMPAIGN_TYPE_BADGES = { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaign-type-icon.tsx function CampaignTypeIcon (line 4) | function CampaignTypeIcon({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaigns-page-content.tsx function CampaignsPageContent (line 4) | function CampaignsPageContent({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaigns-table.tsx type PartnersCountByGroup (line 38) | interface PartnersCountByGroup { function CampaignsTable (line 43) | function CampaignsTable() { function RowMenuButton (line 210) | function RowMenuButton({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/campaigns-upsell.tsx function CampaignsUpsell (line 10) | function CampaignsUpsell() { constant EXAMPLE_CAMPAIGNS (line 55) | const EXAMPLE_CAMPAIGNS: { function ExampleCampaignCell (line 77) | function ExampleCampaignCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/create-campaign-button.tsx function CreateCampaignButton (line 23) | function CreateCampaignButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/delete-campaign-modal.tsx type DeleteCampaignModalProps (line 13) | interface DeleteCampaignModalProps { function useDeleteCampaignModal (line 129) | function useDeleteCampaignModal( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/layout.tsx function CampaignsLayout (line 9) | function CampaignsLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/page.tsx function ProgramCampaignsPage (line 7) | function ProgramCampaignsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/use-campaign.tsx function useCampaign (line 7) | function useCampaign() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/use-campaigns-count.tsx type UseCampaignsCountProps (line 8) | interface UseCampaignsCountProps function useCampaignsCount (line 13) | function useCampaignsCount({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/campaigns/use-campaigns-filters.tsx type CampaignsCountByType (line 12) | interface CampaignsCountByType { type CampaignsCountByStatus (line 17) | interface CampaignsCountByStatus { function useCampaignsFilters (line 22) | function useCampaignsFilters() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/coming-soon-page.tsx function ComingSoonPage (line 6) | function ComingSoonPage({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/[commissionId]/page-client.tsx function CommissionDetailsPageClient (line 38) | function CommissionDetailsPageClient() { function CommissionDetailsContent (line 101) | function CommissionDetailsContent({ function CommissionActivity (line 311) | function CommissionActivity({ function CommissionDetailSkeleton (line 510) | function CommissionDetailSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/[commissionId]/page.tsx function CommissionDetailsPage (line 3) | function CommissionDetailsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commission-popover-buttons.tsx function CommissionPopoverButtons (line 9) | function CommissionPopoverButtons() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-stats.tsx function CommissionsStats (line 10) | function CommissionsStats() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-table.tsx function CommissionsTable (line 68) | function CommissionsTable() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/create-clawback-sheet.tsx type CreateClawbackSheetProps (line 18) | interface CreateClawbackSheetProps { type FormData (line 24) | type FormData = z.infer; function CreateClawbackSheetContent (line 26) | function CreateClawbackSheetContent( function CreateClawbackSheet (line 235) | function CreateClawbackSheet({ function useCreateClawbackSheet (line 247) | function useCreateClawbackSheet( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/create-commission-button.tsx function CreateCommissionButton (line 6) | function CreateCommissionButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/create-commission-sheet.tsx type CreateCommissionSheetProps (line 37) | interface CreateCommissionSheetProps { type FormData (line 41) | type FormData = z.infer; type StripeInvoiceFromApi (line 43) | type StripeInvoiceFromApi = z.infer; function fetcherStripeInvoices (line 45) | async function fetcherStripeInvoices(url: string): Promise<{ function CreateCommissionSheetContent (line 65) | function CreateCommissionSheetContent({ function CreateCommissionSheet (line 1020) | function CreateCommissionSheet({ function useCreateCommissionSheet (line 1035) | function useCreateCommissionSheet( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/page.tsx function ProgramCommissions (line 10) | function ProgramCommissions() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/use-commission-filters.tsx function useCommissionFilters (line 19) | function useCommissionFilters() { function usePartnerFilterOptions (line 188) | function usePartnerFilterOptions(search: string) { function useCustomerFilterOptions (line 223) | function useCustomerFilterOptions(search: string) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/(index)/layout.tsx function PartnerCustomersLayout (line 16) | function PartnerCustomersLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/(index)/page.tsx function ProgramCustomersPage (line 6) | function ProgramCustomersPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/(index)/referrals/page.tsx function PartnerCustomersReferralsPage (line 5) | function PartnerCustomersReferralsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/earnings/page-client.tsx function CustomerEarningsPageClient (line 16) | function CustomerEarningsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/earnings/page.tsx function CustomerEarningsPage (line 3) | function CustomerEarningsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/layout.tsx function ProgramCustomerLayout (line 26) | function ProgramCustomerLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/page.tsx function ProgramCustomerPage (line 4) | async function ProgramCustomerPage({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/sales/page-client.tsx function CustomerSalesPageClient (line 13) | function CustomerSalesPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/[customerId]/sales/page.tsx function CustomerSalesPage (line 3) | function CustomerSalesPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/customers/customers-dropdown-menu.tsx function CustomersDropdownMenu (line 10) | function CustomersDropdownMenu() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/example-fraud-events.tsx constant EXAMPLE_FRAUD_EVENTS (line 7) | const EXAMPLE_FRAUD_EVENTS: { type ExampleFraudEventProps (line 24) | interface ExampleFraudEventProps { function ExampleFraudEvents (line 30) | function ExampleFraudEvents() { function ExampleFraudEvent (line 43) | function ExampleFraudEvent({ event }: { event: ExampleFraudEventProps }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-group-table.tsx function FraudGroupTable (line 38) | function FraudGroupTable() { function RowMenuButton (line 410) | function RowMenuButton({ row }: { row: Row }) { function MenuItem (line 486) | function MenuItem({ function useCurrentFraudGroup (line 526) | function useCurrentFraudGroup({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-paid-traffic-settings.tsx type FormData (line 24) | type FormData = z.infer< constant PAID_TRAFFIC_PLATFORM_ICONS (line 28) | const PAID_TRAFFIC_PLATFORM_ICONS: Record< type FraudPaidTrafficSettingsProps (line 41) | interface FraudPaidTrafficSettingsProps { function FraudPaidTrafficSettings (line 45) | function FraudPaidTrafficSettings({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-referral-source-settings.tsx type FormData (line 10) | type FormData = z.infer< type FraudReferralSourceSettingsProps (line 14) | interface FraudReferralSourceSettingsProps { function FraudReferralSourceSettings (line 18) | function FraudReferralSourceSettings({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-rule-toggle-settings.tsx type FraudRuleToggleSettingsProps (line 7) | interface FraudRuleToggleSettingsProps { function FraudRuleToggleSettings (line 14) | function FraudRuleToggleSettings({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-upsell.tsx function FraudUpsell (line 9) | function FraudUpsell() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/layout.tsx function FraudRiskLayout (line 9) | function FraudRiskLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/page.tsx function ProgramFraudRiskPage (line 7) | function ProgramFraudRiskPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/program-fraud-actions-menu.tsx function ProgramFraudActionsMenu (line 9) | function ProgramFraudActionsMenu() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/program-fraud-settings-button.tsx function ProgramFraudSettingsButton (line 6) | function ProgramFraudSettingsButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/program-fraud-settings-sheet.tsx constant RULES_WITH_CUSTOM_UI (line 32) | const RULES_WITH_CUSTOM_UI = new Set([ constant TOGGLE_ONLY_RULES (line 38) | const TOGGLE_ONLY_RULES = CONFIGURABLE_FRAUD_RULES.filter( type ProgramFraudSettingsSheetProps (line 43) | interface ProgramFraudSettingsSheetProps { function ProgramFraudSettingsSheetContent (line 47) | function ProgramFraudSettingsSheetContent({ function ProgramFraudSettingsSheet (line 226) | function ProgramFraudSettingsSheet({ function useProgramFraudSettingsSheet (line 239) | function useProgramFraudSettingsSheet() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/resolved/page.tsx function ResolvedFraudGroupsPage (line 5) | async function ResolvedFraudGroupsPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/resolved/resolved-fraud-group-table.tsx function ResolvedFraudGroupTable (line 27) | function ResolvedFraudGroupTable() { function useCurrentFraudGroup (line 313) | function useCurrentFraudGroup({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/use-fraud-group-filters.tsx function useFraudGroupFilters (line 13) | function useFraudGroupFilters({ function usePartnerFilterOptions (line 123) | function usePartnerFilterOptions(search: string) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/branding/page.tsx function GroupBrandingPage (line 3) | function GroupBrandingPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/discounts/page.tsx function GroupDiscountsPage (line 3) | function GroupDiscountsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/group-header.tsx function GroupHeaderTitle (line 29) | function GroupHeaderTitle() { function GroupHeaderTabs (line 79) | function GroupHeaderTabs() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/layout.tsx function GroupLayout (line 5) | function GroupLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-additional-link-modal.tsx type AdditionalLinkFormData (line 21) | type AdditionalLinkFormData = { constant URL_VALIDATION_MODES (line 27) | const URL_VALIDATION_MODES = [ function partnerLinkToFormData (line 45) | function partnerLinkToFormData( function formDataToPartnerLink (line 64) | function formDataToPartnerLink( type AddDestinationUrlModalProps (line 92) | interface AddDestinationUrlModalProps { function AddDestinationUrlModalContent (line 99) | function AddDestinationUrlModalContent({ function AddDestinationUrlModal (line 399) | function AddDestinationUrlModal({ function useAddDestinationUrlModal (line 420) | function useAddDestinationUrlModal( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/add-edit-group-default-link-sheet.tsx type DefaultPartnerLinkSheetProps (line 30) | interface DefaultPartnerLinkSheetProps { type FormData (line 35) | type FormData = z.infer; function DefaultPartnerLinkSheetContent (line 37) | function DefaultPartnerLinkSheetContent({ function LinkSettingsCard (line 241) | function LinkSettingsCard({ function DefaultPartnerLinkSheet (line 259) | function DefaultPartnerLinkSheet({ function useDefaultPartnerLinkSheet (line 272) | function useDefaultPartnerLinkSheet(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/change-program-domain-modal.tsx type ChangeProgramDomainModalProps (line 12) | type ChangeProgramDomainModalProps = { function ChangeProgramDomainModal (line 19) | function ChangeProgramDomainModal(props: ChangeProgramDomainModalProps) { function ChangeProgramDomainModalInner (line 30) | function ChangeProgramDomainModalInner({ function useChangeProgramDomainModal (line 150) | function useChangeProgramDomainModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/group-additional-links.tsx type FormData (line 29) | type FormData = Pick< function GroupAdditionalLinks (line 34) | function GroupAdditionalLinks() { function GroupAdditionalLinksForm (line 68) | function GroupAdditionalLinksForm({ group }: { group: GroupProps }) { function SettingsRow (line 230) | function SettingsRow({ function LinkFormat (line 252) | function LinkFormat({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/group-default-links.tsx function GroupDefaultLinks (line 20) | function GroupDefaultLinks() { function CreateDefaultLinkButton (line 71) | function CreateDefaultLinkButton({ function DefaultLinkPreview (line 99) | function DefaultLinkPreview({ link }: { link: PartnerGroupDefaultLink }) { function DefaultLinkPreviewSkeleton (line 211) | function DefaultLinkPreviewSkeleton() { function NoDefaultLinks (line 234) | function NoDefaultLinks() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/group-link-settings.tsx type FormData (line 19) | type FormData = { function GroupLinkSettings (line 30) | function GroupLinkSettings() { function GroupLinkSettingsForm (line 57) | function GroupLinkSettingsForm({ group }: { group: GroupProps }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/page.tsx function GroupDefaultLinksPage (line 5) | function GroupDefaultLinksPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/links/partner-link-preview.tsx function PartnerLinkPreview (line 8) | function PartnerLinkPreview({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/rewards/group-rewards.tsx constant REWARD_EVENT_DESCRIPTIONS (line 20) | const REWARD_EVENT_DESCRIPTIONS: Record< function GroupRewards (line 38) | function GroupRewards() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/rewards/page.tsx function GroupRewardsPage (line 3) | function GroupRewardsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/settings/group-additional-settings.tsx type FormData (line 22) | type FormData = z.infer; function GroupAdditionalSettings (line 24) | function GroupAdditionalSettings() { function GroupAdditionalSettingsForm (line 31) | function GroupAdditionalSettingsForm({ function ConfirmAutoApproveModal (line 281) | function ConfirmAutoApproveModal({ function ConfirmHoldingPeriodModal (line 348) | function ConfirmHoldingPeriodModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/settings/group-move-rules.tsx constant ATTRIBUTES (line 20) | const ATTRIBUTES = [ type Attribute (line 27) | type Attribute = (typeof ATTRIBUTES)[number]; type AttributeType (line 28) | type AttributeType = (typeof ATTRIBUTES)[number]["type"]; type RangeValue (line 29) | type RangeValue = { min: number; max?: number }; type ValueType (line 30) | type ValueType = number | RangeValue | undefined; constant ATTRIBUTE_BY_KEY (line 32) | const ATTRIBUTE_BY_KEY = Object.fromEntries( constant RANGE_SELECTOR_OPTIONS (line 36) | const RANGE_SELECTOR_OPTIONS = [ function GroupMoveRules (line 41) | function GroupMoveRules() { function GroupRule (line 143) | function GroupRule({ function GroupMoveTarget (line 297) | function GroupMoveTarget() { function NoGroupRule (line 327) | function NoGroupRule() { function GroupMoveRuleUpsell (line 338) | function GroupMoveRuleUpsell() { function ValueInput (line 360) | function ValueInput({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/settings/group-settings.tsx type FormData (line 23) | type FormData = z.input; constant GROUP_NAME_DESCRIPTION (line 25) | const GROUP_NAME_DESCRIPTION = constant GROUP_SLUG_DESCRIPTION (line 27) | const GROUP_SLUG_DESCRIPTION = constant GROUP_ID_DESCRIPTION (line 29) | const GROUP_ID_DESCRIPTION = function GroupSettings (line 32) | function GroupSettings() { function GroupSettingsForm (line 37) | function GroupSettingsForm({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/[groupSlug]/settings/page.tsx function GroupSettingsPage (line 4) | function GroupSettingsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/create-group-button.tsx function CreateGroupButton (line 10) | function CreateGroupButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/create-group-modal.tsx type CreateGroupModalProps (line 16) | interface CreateGroupModalProps { type FormData (line 20) | type FormData = z.input; function CreateGroupModalContent (line 22) | function CreateGroupModalContent({ setIsOpen }: CreateGroupModalProps) { function CreateGroupModal (line 163) | function CreateGroupModal({ function useCreateGroupModal (line 176) | function useCreateGroupModal( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/groups-table.tsx function GroupsTable (line 53) | function GroupsTable() { function RowMenuButton (line 244) | function RowMenuButton({ function MenuItem (line 369) | function MenuItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/page.tsx function ProgramPartnersGroups (line 6) | function ProgramPartnersGroups() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/layout.tsx function ProgramLayout (line 4) | function ProgramLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/[partnerId]/page-client.tsx function ProgramMessagesPartnerPageClient (line 30) | function ProgramMessagesPartnerPageClient() { function PartnerInfoSectionSkeleton (line 265) | function PartnerInfoSectionSkeleton() { function PartnerInfoGroupSkeleton (line 282) | function PartnerInfoGroupSkeleton() { function PartnerInfoStatsSkeleton (line 294) | function PartnerInfoStatsSkeleton({ className }: { className?: string }) { function ViewPartnerButton (line 312) | function ViewPartnerButton({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/[partnerId]/page.tsx function ProgramMessagesPartnerPage (line 3) | function ProgramMessagesPartnerPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/layout.tsx function MessagesLayout (line 18) | function MessagesLayout({ children }: { children: ReactNode }) { function CapableLayout (line 30) | function CapableLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/messages-disabled.tsx function MessagesDisabled (line 8) | function MessagesDisabled() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/messages-upsell.tsx function MessagesUpsell (line 8) | function MessagesUpsell() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/page-client.tsx function ProgramMessagesPageClient (line 8) | function ProgramMessagesPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/messages/page.tsx function ProgramMessages (line 3) | function ProgramMessages() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/layout.tsx function PartnerNetworkLayout (line 10) | function PartnerNetworkLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-empty-state.tsx function NetworkEmptyState (line 6) | function NetworkEmptyState({ function DemoAvatar (line 62) | function DemoAvatar(props: SVGProps) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/network-upsell.tsx function NetworkUpsell (line 8) | function NetworkUpsell({ contactUs }: { contactUs?: boolean }) { constant EXAMPLE_PARTNERS (line 47) | const EXAMPLE_PARTNERS = [ function ExamplePartnerCell (line 70) | function ExamplePartnerCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page-client.tsx function ProgramPartnerNetworkPageClient (line 62) | function ProgramPartnerNetworkPageClient() { function PartnerCard (line 319) | function PartnerCard({ function ListRow (line 553) | function ListRow({ function ListPill (line 654) | function ListPill({ icon: Icon, label }: { icon?: Icon; label: string }) { function useCurrentPartner (line 666) | function useCurrentPartner({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/page.tsx function ProgramPartnerNetwork (line 6) | function ProgramPartnerNetwork() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/network/use-partner-network-filters.tsx function usePartnerNetworkFilters (line 18) | function usePartnerNetworkFilters({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/overview-chart.tsx type ViewType (line 17) | type ViewType = "sales" | "leads" | "commissions"; function OverviewChart (line 30) | function OverviewChart() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/overview-links.tsx function OverviewLinks (line 22) | function OverviewLinks() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/overview-tasks.tsx function OverviewTasks (line 11) | function OverviewTasks() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/page-client.tsx constant BLOCKS (line 27) | const BLOCKS = [ function ProgramOverviewPageClient (line 37) | function ProgramOverviewPageClient() { function FinishSetupWrapper (line 116) | function FinishSetupWrapper({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/page.tsx function ProgramOverviewPage (line 5) | async function ProgramOverviewPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners-graphic.tsx function PartnersGraphic (line 3) | function PartnersGraphic() { constant EXAMPLE_PARTNERS (line 16) | const EXAMPLE_PARTNERS = [ function ExamplePartnerCell (line 47) | function ExamplePartnerCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners-upgrade-cta.tsx function PartnersUpgradeCTA (line 10) | function PartnersUpgradeCTA({ constant EXAMPLE_PARTNERS (line 77) | const EXAMPLE_PARTNERS = [ function ExamplePartnerCell (line 108) | function ExamplePartnerCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/comments/page.tsx function ProgramPartnerCommentsPage (line 6) | function ProgramPartnerCommentsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/customers/page.tsx function ProgramPartnerCustomersPage (line 19) | function ProgramPartnerCustomersPage() { function PartnerCustomers (line 38) | function PartnerCustomers({ partner }: { partner: EnrolledPartnerProps }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/layout.tsx function ProgramPartnerLayout (line 65) | function ProgramPartnerLayout({ function PartnerProfileButton (line 138) | function PartnerProfileButton({ function PageControls (line 170) | function PageControls({ partner }: { partner: EnrolledPartnerProps }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/links/page.tsx function ProgramPartnerLinksPage (line 28) | function ProgramPartnerLinksPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/partner-nav.tsx function PartnerNav (line 17) | function PartnerNav() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/partner-stats.tsx function PartnerStats (line 7) | function PartnerStats({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/[partnerId]/payouts/page.tsx function ProgramPartnerPayoutsPage (line 21) | function ProgramPartnerPayoutsPage() { function PartnerPayouts (line 40) | function PartnerPayouts({ partner }: { partner: EnrolledPartnerProps }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/applications-menu.tsx function ApplicationsMenu (line 13) | function ApplicationsMenu() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page-client.tsx function ProgramPartnersApplicationsPageClient (line 63) | function ProgramPartnersApplicationsPageClient() { function RowMenuButton (line 508) | function RowMenuButton({ function useCurrentPartner (line 564) | function useCurrentPartner({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page.tsx function ProgramPartnersApplications (line 6) | function ProgramPartnersApplications() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/rejected/page-client.tsx function ProgramPartnersRejectedApplicationsPageClient (line 64) | function ProgramPartnersRejectedApplicationsPageClient() { function PartnerRowMenuButton (line 451) | function PartnerRowMenuButton({ function useCurrentPartner (line 528) | function useCurrentPartner({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/rejected/page.tsx function ProgramPartnersRejectedApplications (line 5) | async function ProgramPartnersRejectedApplications(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/import-export-buttons.tsx function ImportExportButtons (line 15) | function ImportExportButtons() { function ImportOption (line 103) | function ImportOption({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/invite-partner-button.tsx function InvitePartnerButton (line 6) | function InvitePartnerButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/invite-partner-sheet.tsx type InvitePartnerSheetProps (line 42) | interface InvitePartnerSheetProps { type InvitePartnerFormData (line 46) | type InvitePartnerFormData = { type EmailContent (line 54) | type EmailContent = { function InvitePartnerSheetContent (line 60) | function InvitePartnerSheetContent({ setIsOpen }: InvitePartnerSheetProp... function EmailPreview (line 442) | function EmailPreview({ function InvitePartnerSheet (line 671) | function InvitePartnerSheet({ function useInvitePartnerSheet (line 684) | function useInvitePartnerSheet() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/page.tsx function ProgramPartners (line 7) | function ProgramPartners() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/partners-table.tsx function PartnersTable (line 114) | function PartnersTable() { function BulkActionsMenu (line 622) | function BulkActionsMenu({ function RowMenuButton (line 690) | function RowMenuButton({ function MenuItem (line 924) | function MenuItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/use-partner-filters.tsx function usePartnerFilters (line 12) | function usePartnerFilters( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/[payoutId]/page-client.tsx type PayoutActivityItem (line 52) | type PayoutActivityItem = { function PayoutDetailsPageClient (line 58) | function PayoutDetailsPageClient() { function PayoutDetailsContent (line 128) | function PayoutDetailsContent({ function PayoutDetailsskeleton (line 479) | function PayoutDetailsskeleton() { function PayoutConfirmButton (line 493) | function PayoutConfirmButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/[payoutId]/page.tsx function PayoutDetailsPage (line 3) | function PayoutDetailsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page-client.tsx function ProgramPayoutsPageClient (line 6) | function ProgramPayoutsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page.tsx function ProgramPayoutsPage (line 6) | function ProgramPayoutsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-paid-cell.tsx type PayoutPaidCellUser (line 7) | type PayoutPaidCellUser = { type PayoutPaidCellProps (line 14) | type PayoutPaidCellProps = { function PayoutPaidCell (line 20) | function PayoutPaidCell({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-stats.tsx function PayoutStats (line 19) | function PayoutStats() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-table.tsx function PayoutTable (line 36) | function PayoutTable() { function AmountRowItem (line 271) | function AmountRowItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/program-payout-methods.tsx type PayoutMethodCardProps (line 15) | interface PayoutMethodCardProps { function ProgramPayoutMethods (line 26) | function ProgramPayoutMethods() { function PayoutMethodCard (line 154) | function PayoutMethodCard({ function ExternalPayoutMethods (line 187) | function ExternalPayoutMethods() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/program-payout-mode-section.tsx function ProgramPayoutModeSection (line 9) | function ProgramPayoutModeSection() { function WebhookInfo (line 69) | function WebhookInfo() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/program-payout-settings-button.tsx function ProgramPayoutSettingsButton (line 6) | function ProgramPayoutSettingsButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/program-payout-settings-sheet.tsx type ProgramPayoutSettingsSheetProps (line 22) | type ProgramPayoutSettingsSheetProps = { type FormData (line 26) | type FormData = Pick; function ProgramPayoutSettingsSheetContent (line 28) | function ProgramPayoutSettingsSheetContent({ function ProgramPayoutSettingsSheet (line 208) | function ProgramPayoutSettingsSheet({ function useProgramPayoutSettingsSheet (line 221) | function useProgramPayoutSettingsSheet() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page-client.tsx function PayoutsSuccessPageClient (line 22) | function PayoutsSuccessPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/success/page.tsx function PayoutsSuccessPage (line 3) | function PayoutsSuccessPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/use-payout-filters.tsx function usePayoutFilters (line 12) | function usePayoutFilters() { function usePartnerFilterOptions (line 134) | function usePartnerFilterOptions(search: string) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/program-settings-row.tsx function SettingsRow (line 3) | function SettingsRow({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/page.tsx function ProgramResourcesPage (line 6) | function ProgramResourcesPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/add-color-modal.tsx type ColorModalProps (line 24) | type ColorModalProps = { type ColorFormData (line 35) | type ColorFormData = z.infer; function ColorModal (line 37) | function ColorModal(props: ColorModalProps) { constant DEFAULT_COLORS (line 48) | const DEFAULT_COLORS = ["#dc2626", "#84cc16", "#14b8a6", "#0ea5e9", "#d9... function ColorModalInner (line 50) | function ColorModalInner({ function useColorModal (line 246) | function useColorModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/add-file-modal.tsx type FileModalProps (line 24) | type FileModalProps = { type FileFormData (line 36) | type FileFormData = z.infer; function FileModal (line 38) | function FileModal(props: FileModalProps) { function FileModalInner (line 49) | function FileModalInner({ function useFileModal (line 288) | function useFileModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/add-link-modal.tsx type LinkModalProps (line 22) | type LinkModalProps = { type LinkFormData (line 33) | type LinkFormData = z.infer; function LinkModal (line 35) | function LinkModal(props: LinkModalProps) { function LinkModalInner (line 46) | function LinkModalInner({ function useLinkModal (line 216) | function useLinkModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/add-logo-modal.tsx type LogoModalProps (line 24) | type LogoModalProps = { type LogoFormData (line 37) | type LogoFormData = z.infer; function LogoModal (line 39) | function LogoModal(props: LogoModalProps) { function LogoModalInner (line 50) | function LogoModalInner({ function useLogoModal (line 290) | function useLogoModal({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/index.tsx function ProgramBrandAssets (line 31) | function ProgramBrandAssets() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-brand-assets/use-upload-program-resource.ts function useUploadProgramResource (line 6) | function useUploadProgramResource(workspaceId: string) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/resources/program-help-and-support.tsx type FormData (line 17) | type FormData = Pick< function ProgramHelpAndSupport (line 22) | function ProgramHelpAndSupport() { function ProgramHelpAndSupportContent (line 41) | function ProgramHelpAndSupportContent({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/invoices/page-client.tsx constant INVOICE_TYPES (line 21) | const INVOICE_TYPES = [ function WorkspaceInvoicesClient (line 27) | function WorkspaceInvoicesClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/invoices/page.tsx function WorkspaceInvoices (line 4) | function WorkspaceInvoices() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/layout.tsx function BillingLayout (line 5) | function BillingLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/page.tsx function WorkspaceBilling (line 4) | function WorkspaceBilling() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/payment-methods.tsx function PaymentMethods (line 17) | function PaymentMethods() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/plan-usage.tsx function PlanUsage (line 44) | function PlanUsage() { function UsageTabCard (line 272) | function UsageTabCard({ function UsageCategory (line 464) | function UsageCategory(data: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/upgrade/adjust-usage-row.tsx function AdjustUsageRow (line 14) | function AdjustUsageRow({ function UsageSlider (line 60) | function UsageSlider({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/upgrade/page-client.tsx constant COMPARE_FEATURE_ICONS (line 36) | const COMPARE_FEATURE_ICONS: Record< function WorkspaceBillingUpgradePageClient (line 49) | function WorkspaceBillingUpgradePageClient() { function BillingCompareSection (line 312) | function BillingCompareSection({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/upgrade/page.tsx function WorkspaceBillingUpgrade (line 4) | function WorkspaceBillingUpgrade() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/billing/usage-chart.tsx constant BAR_COLORS (line 32) | const BAR_COLORS = [ constant RESOURCES (line 44) | const RESOURCES = ["links", "events"] as const; function UsageChart (line 61) | function UsageChart() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/default/page-client.tsx function DubDomainsIcon (line 23) | function DubDomainsIcon(domain: string) { function DefaultDomains (line 44) | function DefaultDomains() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/default/page.tsx function DefaultDomainsPage (line 3) | function DefaultDomainsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/email/constants.ts constant EMAIL_DOMAIN_STATUS_TO_VARIANT (line 3) | const EMAIL_DOMAIN_STATUS_TO_VARIANT: Record = FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/email/email-domain-card.tsx type EmailDomainCardProps (line 26) | interface EmailDomainCardProps { function EmailDomainCard (line 30) | function EmailDomainCard({ domain }: EmailDomainCardProps) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/email/email-domain-dns-records.tsx type EmailDomainDnsRecordsProps (line 9) | interface EmailDomainDnsRecordsProps { type DomainRecord (line 13) | interface DomainRecord { type DnsRecordsTableProps (line 28) | interface DnsRecordsTableProps { function DnsRecordsTable (line 36) | function DnsRecordsTable({ function EmailDomainDnsRecords (line 171) | function EmailDomainDnsRecords({ domain }: EmailDomainDnsRecordsProps) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/email/page-client.tsx function EmailDomains (line 15) | function EmailDomains() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/email/page.tsx function EmailDomainsPage (line 3) | function EmailDomainsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/header.tsx function DomainsHeader (line 8) | function DomainsHeader({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/layout.tsx function DomainsLayout (line 6) | function DomainsLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/page-client.tsx function CustomDomains (line 34) | function CustomDomains() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/domains/page.tsx function CustomDomainsPage (line 3) | function CustomDomainsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/[integrationSlug]/loading.tsx function IntegrationPageLoading (line 3) | function IntegrationPageLoading() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/[integrationSlug]/manage/page.tsx function IntegrationManagePage (line 9) | async function IntegrationManagePage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/[integrationSlug]/page-client.tsx function IntegrationPageClient (line 67) | function IntegrationPageClient({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/[integrationSlug]/page.tsx function IntegrationPage (line 8) | async function IntegrationPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/enabled-integrations.tsx function EnabledIntegrations (line 14) | function EnabledIntegrations({ function IntegrationRow (line 63) | function IntegrationRow({ integration }: { integration: Integration }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/enabled/page.tsx function EnabledIntegrationsPage (line 16) | async function EnabledIntegrationsPage(props: { function EnabledIntegrationsPageRSC (line 35) | async function EnabledIntegrationsPageRSC({ slug }: { slug: string }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/featured-integrations.tsx constant FEATURED_SLUGS (line 20) | const FEATURED_SLUGS = ["make", "zapier", "stripe", "shopify"]; function FeaturedIntegrations (line 22) | function FeaturedIntegrations({ function CarouselNavBar (line 109) | function CarouselNavBar({ function FeaturedIntegrationsLoader (line 170) | function FeaturedIntegrationsLoader() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/integrations-cards.tsx constant CATEGORY_ORDER (line 11) | const CATEGORY_ORDER = [ constant PRESENCE_ANIMATION (line 23) | const PRESENCE_ANIMATION = { function IntegrationsCards (line 30) | function IntegrationsCards({ function IntegrationsCardsLoader (line 127) | function IntegrationsCardsLoader() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/integrations-list.tsx function IntegrationsList (line 15) | async function IntegrationsList() { type IntegrationsWithInstallations (line 33) | type IntegrationsWithInstallations = (Integration & { function IntegrationsListRSC (line 37) | async function IntegrationsListRSC() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/layout.tsx function IntegrationsLayout (line 5) | function IntegrationsLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/new/page.tsx function NewIntegrationsPage (line 6) | async function NewIntegrationsPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/integrations/page.tsx function IntegrationsPage (line 5) | function IntegrationsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/members/page-client.tsx function WorkspaceMembersClient (line 47) | function WorkspaceMembersClient() { function RoleCell (line 331) | function RoleCell({ function RowMenuButton (line 413) | function RowMenuButton({ function MenuItem (line 491) | function MenuItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/members/page.tsx function WorkspaceMembers (line 3) | function WorkspaceMembers() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/notifications/layout.tsx function NotificationsLayout (line 5) | function NotificationsLayout({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/notifications/page-client.tsx type PreferenceType (line 14) | type PreferenceType = z.infer; type Preferences (line 15) | type Preferences = Record; function NotificationsSettingsPageClient (line 17) | function NotificationsSettingsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/notifications/page.tsx function NotificationsSettingsPage (line 3) | function NotificationsSettingsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/[appId]/page-client.tsx function OAuthAppManagePageClient (line 23) | function OAuthAppManagePageClient({ appId }: { appId: string }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/[appId]/page.tsx function OAuthAppManagePage (line 3) | async function OAuthAppManagePage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/create-oauth-app-button.tsx function CreateOAuthAppButton (line 9) | function CreateOAuthAppButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/layout.tsx function OAuthAppsLayout (line 6) | function OAuthAppsLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/new/page-client.tsx function NewOAuthAppPageClient (line 10) | function NewOAuthAppPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/new/page.tsx function NewOAuthAppPage (line 3) | async function NewOAuthAppPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/page-client.tsx function OAuthAppsPageClient (line 12) | function OAuthAppsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/oauth-apps/page.tsx function OAuthAppsPage (line 3) | async function OAuthAppsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/page-client.tsx function WorkspaceSettingsClient (line 13) | function WorkspaceSettingsClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/page.tsx function WorkspaceSettings (line 5) | function WorkspaceSettings() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/audit-logs.tsx function AuditLogs (line 12) | function AuditLogs() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/layout.tsx function SecurityLayout (line 5) | function SecurityLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/page-client.tsx function WorkspaceSecurityClient (line 7) | function WorkspaceSecurityClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/page.tsx function WorkspaceSecurity (line 3) | function WorkspaceSecurity() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/saml.tsx function SAML (line 23) | function SAML() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/security/scim.tsx function SCIM (line 14) | function SCIM() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tokens/page.tsx function TokensPage (line 32) | function TokensPage() { function RowMenuButton (line 213) | function RowMenuButton({ function MenuItem (line 270) | function MenuItem({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/add-hostname-modal.tsx type AddHostnameModalProps (line 121) | interface AddHostnameModalProps { function useAddHostnameModal (line 151) | function useAddHostnameModal() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/base-script-section.tsx function BaseScriptSection (line 7) | function BaseScriptSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/connection-instructions.tsx function ConnectionInstructions (line 10) | function ConnectionInstructions() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/conversion-tracking-section.tsx function ConversionTrackingSection (line 11) | function ConversionTrackingSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/conversion-tracking-toggle.tsx function ConversionTrackingToggle (line 18) | function ConversionTrackingToggle() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/guide.tsx function GuideMarkdown (line 6) | function GuideMarkdown({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/hostname-menu.tsx function HostnameMenu (line 6) | function HostnameMenu({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/outbound-domain-tracking-section.tsx function OutboundDomainTrackingSection (line 9) | function OutboundDomainTrackingSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/page-client.tsx function WorkspaceTrackingSettingsPageClient (line 144) | function WorkspaceTrackingSettingsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/page.tsx function WorkspaceTrackingSettingsPage (line 7) | function WorkspaceTrackingSettingsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/publishable-key-menu.tsx function PublishableKeyMenu (line 6) | function PublishableKeyMenu({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/site-visit-tracking-section.tsx function SiteVisitTrackingSection (line 12) | function SiteVisitTrackingSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/step.tsx type Step (line 10) | type Step = "connect" | "lead" | "sale"; type BaseStepProps (line 12) | type BaseStepProps = { type StepProps (line 17) | type StepProps = BaseStepProps & { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/track-lead-guides-section.tsx function TrackLeadsGuidesSection (line 10) | function TrackLeadsGuidesSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/track-sales-guides-section.tsx function TrackSalesGuidesSection (line 11) | function TrackSalesGuidesSection() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/use-dynamic-guide.ts function useDynamicGuide (line 8) | function useDynamicGuide( FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/use-selected-guide.ts function useSelectedGuide (line 5) | function useSelectedGuide({ guides }: { guides: IntegrationGuide[] }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/tracking/verify-install.tsx type VerifyStatus (line 12) | type VerifyStatus = "pending" | "success" | "error"; type VerificationResponse (line 29) | type VerificationResponse = { method onSuccess (line 47) | async onSuccess(response) { method onError (line 57) | onError({ error }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/[webhookId]/edit/page-client.tsx function UpdateWebhookPageClient (line 11) | function UpdateWebhookPageClient({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/[webhookId]/edit/page.tsx function UpdateWebhookPage (line 3) | async function UpdateWebhookPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/[webhookId]/layout.tsx function WebhookLayout (line 4) | async function WebhookLayout(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/[webhookId]/page-client.tsx function WebhookLogsPageClient (line 15) | function WebhookLogsPageClient({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/[webhookId]/page.tsx function WebhookEventsPage (line 3) | async function WebhookEventsPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/create-webhook-button.tsx function CreateWebhookButton (line 10) | function CreateWebhookButton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/layout.tsx function WebhooksLayout (line 6) | function WebhooksLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/new/page-client.tsx function NewWebhookPageClient (line 7) | function NewWebhookPageClient({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/new/page.tsx function NewWebhookPage (line 4) | async function NewWebhookPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/page-client.tsx function WebhooksPageClient (line 10) | function WebhooksPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/settings/webhooks/page.tsx function WebhooksPage (line 3) | function WebhooksPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/analytics/client.tsx function AnalyticsClient (line 8) | function AnalyticsClient({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/analytics/page.tsx function WorkspaceAnalytics (line 7) | function WorkspaceAnalytics() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/auth.tsx function WorkspaceAuth (line 9) | function WorkspaceAuth({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/layout.tsx function WorkspaceLayout (line 4) | function WorkspaceLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/[...link]/page-client.tsx function LinkPageClient (line 47) | function LinkPageClient() { function LinkBuilder (line 93) | function LinkBuilder({ link }: { link: ExpandedLinkProps }) { function LoadingSkeleton (line 309) | function LoadingSkeleton() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/[...link]/page.tsx function LinkPage (line 4) | function LinkPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/domains/layout.tsx function DomainsLayout (line 6) | function DomainsLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/[folderId]/members/page.tsx function FolderMembersPage (line 5) | async function FolderMembersPage(props: { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page-client.tsx function FoldersPageControls (line 87) | function FoldersPageControls() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page.tsx function FoldersPage (line 5) | async function FoldersPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/page-client.tsx function WorkspaceLinksClient (line 42) | function WorkspaceLinksClient() { function WorkspaceLinksPageControls (line 70) | function WorkspaceLinksPageControls() { function WorkspaceLinks (line 83) | function WorkspaceLinks() { function ImportOption (line 400) | function ImportOption({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/page.tsx function WorkspaceLinks (line 3) | function WorkspaceLinks() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/tags/page-client.tsx function WorkspaceTagsClient (line 28) | function WorkspaceTagsClient() { function TagsPageControls (line 105) | function TagsPageControls() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/tags/page.tsx function TagsPage (line 6) | function TagsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/tags/tag-card-placeholder.tsx function TagCardPlaceholder (line 3) | function TagCardPlaceholder() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/tags/tag-card.tsx function TagCard (line 32) | function TagCard({ function TagCardKeyboardShortcuts (line 224) | function TagCardKeyboardShortcuts({ FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/utm/page-client.tsx function WorkspaceUtmTemplatesClient (line 22) | function WorkspaceUtmTemplatesClient() { function UTMPageControls (line 81) | function UTMPageControls() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/utm/page.tsx function WorkspaceUtmTemplates (line 6) | function WorkspaceUtmTemplates() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/utm/template-card-placeholder.tsx function TemplateCardPlaceholder (line 3) | function TemplateCardPlaceholder() { FILE: apps/web/app/app.dub.co/(dashboard)/[slug]/links/utm/template-card.tsx function TemplateCard (line 24) | function TemplateCard({ function TemplateCardKeyboardShortcuts (line 195) | function TemplateCardKeyboardShortcuts({ function UserTemplateAvatar (line 209) | function UserTemplateAvatar({ FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/page-client.tsx function SettingsPageClient (line 14) | function SettingsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/page.tsx function SettingsPage (line 4) | function SettingsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/referrals/page-client.tsx function ReferralsPageClient (line 11) | function ReferralsPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/referrals/page.tsx function ReferralsPage (line 3) | function ReferralsPage() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/security/page-client.tsx function SecurityPageClient (line 9) | function SecurityPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/security/page.tsx function SecurityPage (line 5) | async function SecurityPage() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/tokens/page-client.tsx function TokensPageClient (line 12) | function TokensPageClient() { FILE: apps/web/app/app.dub.co/(dashboard)/account/settings/tokens/page.tsx function TokensPage (line 5) | function TokensPage() { FILE: apps/web/app/app.dub.co/(dashboard)/layout.tsx function Layout (line 14) | async function Layout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(deeplink)/deeplink/[domain]/[[...key]]/action-buttons.tsx function DeepLinkActionButtons (line 8) | function DeepLinkActionButtons({ FILE: apps/web/app/app.dub.co/(deeplink)/deeplink/[domain]/[[...key]]/brand-logo-badge.tsx function BrandLogoBadge (line 7) | function BrandLogoBadge({ FILE: apps/web/app/app.dub.co/(deeplink)/deeplink/[domain]/[[...key]]/page.tsx function DeepLinkPreviewPage (line 17) | async function DeepLinkPreviewPage(props: { FILE: apps/web/app/app.dub.co/(deeplink)/deeplink/[domain]/[[...key]]/translations.ts type Language (line 37) | type Language = keyof typeof translations; function getLanguage (line 39) | function getLanguage(acceptLanguage?: string | null): Language { function getTranslations (line 61) | function getTranslations(language: Language) { FILE: apps/web/app/app.dub.co/(invites)/[slug]/invite/accept-invite-button.tsx function AcceptInviteButton (line 10) | function AcceptInviteButton() { FILE: apps/web/app/app.dub.co/(invites)/[slug]/invite/close-invite-button.tsx function CloseInviteButton (line 5) | function CloseInviteButton({ FILE: apps/web/app/app.dub.co/(invites)/[slug]/invite/page.tsx constant MAX_TEAM_DISPLAY (line 23) | const MAX_TEAM_DISPLAY = 4; function WorkspaceInvitePage (line 25) | async function WorkspaceInvitePage({ function Hero (line 291) | function Hero({ FILE: apps/web/app/app.dub.co/(invites)/layout.tsx function InvitesLayout (line 3) | function InvitesLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/app.dub.co/(onboarding)/[slug]/wrapped/[year]/client.tsx function WrappedPageClient (line 13) | function WrappedPageClient() { FILE: apps/web/app/app.dub.co/(onboarding)/[slug]/wrapped/[year]/page.tsx function WrappedPage (line 6) | async function WrappedPage(props: { FILE: apps/web/app/app.dub.co/(onboarding)/[slug]/wrapped/page.tsx function WrappedParentPage (line 3) | async function WrappedParentPage(props: { FILE: apps/web/app/app.dub.co/(onboarding)/layout.tsx function Layout (line 5) | function Layout({ children }: PropsWithChildren) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/custom/form.tsx function Form (line 8) | function Form() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/custom/page.tsx function Custom (line 4) | function Custom() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/default-domain-selector.tsx function DefaultDomainSelector (line 12) | function DefaultDomainSelector() { function DomainOption (line 64) | function DomainOption({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/page.tsx function Domain (line 4) | function Domain() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/form.tsx function Form (line 8) | function Form() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/domain/register/page.tsx function Register (line 8) | function Register() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/layout.tsx function Layout (line 6) | function Layout({ children }: PropsWithChildren) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/plan/enterprise-link.tsx function EnterpriseLink (line 6) | function EnterpriseLink() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/plan/free-plan-button.tsx function FreePlanButton (line 8) | function FreePlanButton({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/plan/page.tsx function Plan (line 12) | function Plan() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/plan/plan-selector.tsx function PlanSelector (line 29) | function PlanSelector({ product }: { product: OnboardingProduct }) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/products/page.tsx function Products (line 4) | function Products() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/products/product-selector.tsx function ProductSelector (line 28) | function ProductSelector() { function ProductOption (line 58) | function ProductOption({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/form.tsx function Form (line 14) | function Form() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/page-client.tsx function ProgramPageClient (line 9) | function ProgramPageClient({ domain }: { domain: string }) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/page.tsx function ProgramPage (line 7) | async function ProgramPage({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/form.tsx constant DEFAULT_REWARD_TYPES (line 17) | const DEFAULT_REWARD_TYPES = [ constant PAYOUT_MODELS (line 32) | const PAYOUT_MODELS = [ function Form (line 47) | function Form() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/reward/page.tsx function ProgramReward (line 9) | function ProgramReward() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/program/use-onboarding-program.tsx function useOnboardingProgram (line 5) | function useOnboardingProgram({ domain }: { domain?: string } = {}) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/step-page.tsx function StepPage (line 6) | function StepPage({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/success/page-client.tsx function SuccessPageClient (line 31) | function SuccessPageClient({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/success/page.tsx function SuccessPage (line 6) | async function SuccessPage({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/workspace/form.tsx function Form (line 6) | function Form() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/(steps)/workspace/page.tsx function Workspace (line 4) | function Workspace() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/later-button.tsx function LaterButton (line 9) | function LaterButton({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/next-button.tsx function NextButton (line 7) | function NextButton({ FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/use-onboarding-product.ts constant ONBOARDING_PRODUCTS (line 6) | const ONBOARDING_PRODUCTS = ["links", "partners"] as const; type OnboardingProduct (line 7) | type OnboardingProduct = (typeof ONBOARDING_PRODUCTS)[number]; function useOnboardingProduct (line 9) | function useOnboardingProduct(): OnboardingProduct { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/use-onboarding-progress.ts constant PRE_WORKSPACE_STEPS (line 10) | const PRE_WORKSPACE_STEPS = ["workspace"]; function useOnboardingProgress (line 12) | function useOnboardingProgress() { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/welcome/page.tsx function Welcome (line 7) | function Welcome() { function Gradient (line 35) | function Gradient({ className }: { className?: string }) { FILE: apps/web/app/app.dub.co/(onboarding)/onboarding/welcome/track-signup.tsx function TrackSignup (line 7) | function TrackSignup() { FILE: apps/web/app/app.dub.co/(onboarding)/signed-in-hint.tsx function SignedInHint (line 7) | function SignedInHint() { FILE: apps/web/app/app.dub.co/(redirects)/[slug]/domains/page.tsx function OldWorkspaceDomains (line 3) | async function OldWorkspaceDomains(props: { FILE: apps/web/app/app.dub.co/(redirects)/[slug]/settings/referrals/page.tsx function OldWorkspaceReferrals (line 3) | function OldWorkspaceReferrals() { FILE: apps/web/app/app.dub.co/(redirects)/[slug]/settings/tags/page.tsx function OldWorkspaceTags (line 3) | async function OldWorkspaceTags(props: { FILE: apps/web/app/app.dub.co/(redirects)/analytics/page.tsx function OldLinksAnalytics (line 4) | async function OldLinksAnalytics(props: { FILE: apps/web/app/app.dub.co/(redirects)/loading.tsx function Loading (line 3) | function Loading() { FILE: apps/web/app/app.dub.co/(share)/share/[dashboardId]/action.ts function verifyPassword (line 6) | async function verifyPassword(_prevState: any, data: FormData) { FILE: apps/web/app/app.dub.co/(share)/share/[dashboardId]/form.tsx function DashboardPasswordForm (line 14) | function DashboardPasswordForm() { FILE: apps/web/app/app.dub.co/(share)/share/[dashboardId]/page.tsx function generateMetadata (line 13) | async function generateMetadata(props: { function DashboardPage (line 31) | async function DashboardPage(props: { FILE: apps/web/app/app.dub.co/embed/support-chat/dynamic-height-messenger.tsx function SupportChatDynamicHeightMessenger (line 5) | function SupportChatDynamicHeightMessenger() { FILE: apps/web/app/app.dub.co/embed/support-chat/layout.tsx function SupportChatEmbedLayout (line 1) | function SupportChatEmbedLayout({ FILE: apps/web/app/app.dub.co/embed/support-chat/page.tsx function SupportChatEmbedPage (line 6) | async function SupportChatEmbedPage(props: { FILE: apps/web/app/app.dub.co/layout.tsx function AppLayout (line 7) | function AppLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/banned/page.tsx constant UTM_PARAMS (line 17) | const UTM_PARAMS = { function BannedPage (line 22) | async function BannedPage(props: { FILE: apps/web/app/cloaked/[url]/page.tsx function generateMetadata (line 11) | async function generateMetadata(props: { function CloakedPage (line 30) | async function CloakedPage(props: { FILE: apps/web/app/custom-uri-scheme/[url]/page.tsx function CustomURISchemePage (line 3) | async function CustomURISchemePage(props: { FILE: apps/web/app/expired/[domain]/page.tsx constant UTM_PARAMS (line 20) | const UTM_PARAMS = { function ExpiredLinkPage (line 25) | async function ExpiredLinkPage(props: { FILE: apps/web/app/inspect/[domain]/[key]/card.tsx function LinkInspectorCard (line 6) | function LinkInspectorCard({ FILE: apps/web/app/inspect/[domain]/[key]/page.tsx function generateMetadata (line 22) | async function generateMetadata(props: { function InspectPage (line 46) | async function InspectPage(props: { FILE: apps/web/app/layout.tsx function RootLayout (line 9) | function RootLayout({ FILE: apps/web/app/manifest.ts function manifest (line 3) | function manifest(): MetadataRoute.Manifest { FILE: apps/web/app/not-found-hint.tsx function NotFoundHint (line 8) | function NotFoundHint() { function NotFoundHintChild (line 16) | function NotFoundHintChild() { FILE: apps/web/app/not-found.tsx function NotFound (line 6) | function NotFound() { FILE: apps/web/app/password/[linkId]/action.ts function verifyPassword (line 6) | async function verifyPassword(_prevState: any, data: FormData) { FILE: apps/web/app/password/[linkId]/form.tsx function PasswordForm (line 14) | function PasswordForm() { FILE: apps/web/app/password/[linkId]/loading.tsx function Loading (line 3) | function Loading() { FILE: apps/web/app/password/[linkId]/page.tsx function generateMetadata (line 19) | async function generateMetadata(props: { function PasswordProtectedLinkPage (line 58) | async function PasswordProtectedLinkPage(props: { FILE: apps/web/app/providers.tsx function RootProviders (line 9) | function RootProviders({ children }: { children: ReactNode }) { FILE: apps/web/app/proxy/[domain]/[key]/page.tsx function generateMetadata (line 13) | async function generateMetadata(props: { function ProxyPage (line 38) | async function ProxyPage(props: { FILE: apps/web/app/robots.ts function robots (line 4) | async function robots(): Promise { FILE: apps/web/app/sitemap.ts function sitemap (line 7) | async function sitemap(): Promise { FILE: apps/web/app/wellknown/[domain]/[file]/route.ts function GET (line 11) | async function GET( FILE: apps/web/global-setup.ts function globalSetup (line 5) | async function globalSetup(_config: FullConfig) {} FILE: apps/web/lib/actions/create-user-account.ts constant MAX_OTP_ATTEMPTS (line 18) | const MAX_OTP_ATTEMPTS = 5; constant OTP_LOCKOUT_DURATION (line 19) | const OTP_LOCKOUT_DURATION = "24 h"; FILE: apps/web/lib/actions/partners/create-program-application.ts type PartnerData (line 39) | type PartnerData = { name: string; country: string }; type Response (line 41) | interface Response { type ProgramApplicationData (line 47) | type ProgramApplicationData = z.infer = { constant BASE_SYSTEM_PROMPT (line 24) | const BASE_SYSTEM_PROMPT = ` function buildAccountSpecificPrompt (line 35) | function buildAccountSpecificPrompt(context: GlobalChatContext): string[] { function buildSystemPrompt (line 55) | function buildSystemPrompt(globalContext?: GlobalChatContext): string { FILE: apps/web/lib/ai/create-support-ticket.ts type CreateSupportTicketOptions (line 10) | type CreateSupportTicketOptions = { function createSupportTicketTool (line 21) | function createSupportTicketTool(options: CreateSupportTicketOptions) { function getPriorityAndMetadata (line 126) | async function getPriorityAndMetadata( FILE: apps/web/lib/ai/generate-csv-mapping.ts function generateCsvMapping (line 8) | async function generateCsvMapping( FILE: apps/web/lib/ai/generate-filters.ts function getDescription (line 10) | function getDescription(schema: z.ZodTypeAny): string { function buildAIFilterSchema (line 16) | function buildAIFilterSchema() { constant AI_FILTER_SCHEMA (line 29) | const AI_FILTER_SCHEMA = buildAIFilterSchema(); constant SYSTEM_PROMPT (line 31) | const SYSTEM_PROMPT = `You are an analytics filter assistant. Extract or... function generateFilters (line 40) | async function generateFilters(prompt: string) { FILE: apps/web/lib/ai/upsert-docs-embedding.ts function cleanMdx (line 9) | async function cleanMdx( type ArticleChunk (line 74) | type ArticleChunk = { function chunkByHeadings (line 87) | function chunkByHeadings( constant HOSTNAME_TO_ORIGIN (line 166) | const HOSTNAME_TO_ORIGIN: Record = { constant ALLOWED_HOSTNAMES (line 170) | const ALLOWED_HOSTNAMES = Object.keys(HOSTNAME_TO_ORIGIN); constant ALLOWED_PATH_PREFIXES (line 171) | const ALLOWED_PATH_PREFIXES = ["/docs", "/help"]; function sanitizePathname (line 178) | function sanitizePathname(pathname: string): string { function upsertDocsEmbeddings (line 191) | async function upsertDocsEmbeddings( FILE: apps/web/lib/analytics/allowed-hostnames-cache.ts constant CACHE_EXPIRATION (line 3) | const CACHE_EXPIRATION = 60 * 60 * 24 * 7; constant CACHE_KEY_PREFIX (line 4) | const CACHE_KEY_PREFIX = "allowedHostnamesCache"; class AllowedHostnamesCache (line 6) | class AllowedHostnamesCache { method mset (line 7) | async mset({ method deleteMany (line 29) | async deleteMany({ domains }: { domains: string[] }) { method delete (line 43) | async delete({ domain }: { domain: string }) { method _createKey (line 47) | _createKey({ domain }: { domain: string }) { FILE: apps/web/lib/analytics/constants.ts constant DATE_RANGE_INTERVAL_PRESETS (line 1) | const DATE_RANGE_INTERVAL_PRESETS = [ constant DUB_LINKS_ANALYTICS_INTERVAL (line 13) | const DUB_LINKS_ANALYTICS_INTERVAL = "24h"; constant DUB_PARTNERS_ANALYTICS_INTERVAL (line 14) | const DUB_PARTNERS_ANALYTICS_INTERVAL = "30d"; constant INTERVAL_DISPLAYS (line 16) | const INTERVAL_DISPLAYS = [ constant VALID_ANALYTICS_ENDPOINTS (line 64) | const VALID_ANALYTICS_ENDPOINTS = [ constant SINGULAR_ANALYTICS_ENDPOINTS (line 93) | const SINGULAR_ANALYTICS_ENDPOINTS = { constant VALID_ANALYTICS_FILTERS (line 121) | const VALID_ANALYTICS_FILTERS = [ constant DIMENSIONAL_ANALYTICS_FILTERS (line 158) | const DIMENSIONAL_ANALYTICS_FILTERS = [ constant TRIGGER_TYPES (line 180) | const TRIGGER_TYPES = ["qr", "link", "pageview", "deeplink"] as const; constant EVENT_TYPES (line 182) | const EVENT_TYPES = ["clicks", "leads", "sales"] as const; constant ANALYTICS_VIEWS (line 184) | const ANALYTICS_VIEWS = ["timeseries", "funnel"] as const; constant ANALYTICS_SALE_UNIT (line 186) | const ANALYTICS_SALE_UNIT = ["sales", "saleAmount"] as const; constant OLD_ANALYTICS_ENDPOINTS (line 188) | const OLD_ANALYTICS_ENDPOINTS = [ constant OLD_TO_NEW_ANALYTICS_ENDPOINTS (line 209) | const OLD_TO_NEW_ANALYTICS_ENDPOINTS = { FILE: apps/web/lib/analytics/events-export-helpers.ts type Row (line 4) | type Row = ClickEvent | LeadEvent | SaleEvent; FILE: apps/web/lib/analytics/filter-helpers.ts type AdvancedFilter (line 7) | interface AdvancedFilter { function getFirstFilterValue (line 18) | function getFirstFilterValue( function prepareFiltersForPipe (line 30) | function prepareFiltersForPipe(params: { function ensureParsedFilter (line 69) | function ensureParsedFilter( function extractWorkspaceLinkFilters (line 90) | function extractWorkspaceLinkFilters(params: { constant SUPPORTED_FIELDS (line 137) | const SUPPORTED_FIELDS = [ type SupportedField (line 155) | type SupportedField = (typeof SUPPORTED_FIELDS)[number]; function buildAdvancedFilters (line 157) | function buildAdvancedFilters( FILE: apps/web/lib/analytics/metadata-query-parser.ts type InternalFilter (line 3) | interface InternalFilter { function parseCondition (line 47) | function parseCondition(condition: string): InternalFilter | null { function mapOperator (line 101) | function mapOperator(operator: string): InternalFilter["operator"] { FILE: apps/web/lib/analytics/types.ts type Override (line 17) | type Override = Omit & U; type IntervalOptions (line 19) | type IntervalOptions = (typeof DATE_RANGE_INTERVAL_PRESETS)[number]; type AnalyticsGroupByOptions (line 21) | type AnalyticsGroupByOptions = type AnalyticsResponseOptions (line 24) | type AnalyticsResponseOptions = type AnalyticsResponse (line 30) | type AnalyticsResponse = { type EventType (line 34) | type EventType = (typeof EVENT_TYPES)[number]; type AnalyticsView (line 36) | type AnalyticsView = (typeof ANALYTICS_VIEWS)[number]; type AnalyticsSaleUnit (line 37) | type AnalyticsSaleUnit = (typeof ANALYTICS_SALE_UNIT)[number]; type DeviceTabs (line 39) | type DeviceTabs = "devices" | "browsers" | "os" | "triggers"; type AnalyticsFilters (line 41) | type AnalyticsFilters = Partial< type EventsStructuralFields (line 58) | type EventsStructuralFields = Pick< type EventsFilters (line 63) | type EventsFilters = Partial< type PartnerAnalyticsFilters (line 90) | type PartnerAnalyticsFilters = z.infer & { type PartnerEarningsTimeseriesFilters (line 93) | type PartnerEarningsTimeseriesFilters = z.infer< FILE: apps/web/lib/analytics/utils/convert-to-csv.ts method parseValue (line 5) | parseValue(fieldValue, defaultParser) { FILE: apps/web/lib/analytics/utils/get-interval-data.ts constant INTERVAL_DATA (line 13) | const INTERVAL_DATA: Record< FILE: apps/web/lib/analytics/utils/valid-date-range-for-plan.ts type DateRangeValidationResult (line 3) | type DateRangeValidationResult = FILE: apps/web/lib/api/activity-log/build-program-enrollment-change-set.ts type BuildProgramEnrollmentChangeSetInput (line 4) | interface BuildProgramEnrollmentChangeSetInput { FILE: apps/web/lib/api/activity-log/get-resource-diff.ts type DiffValue (line 3) | type DiffValue = { type ResourceDiff (line 8) | type ResourceDiff = Record; type GetResourceDiffOptions (line 10) | interface GetResourceDiffOptions { FILE: apps/web/lib/api/activity-log/track-activity-log.ts constant ACTIONS_WITHOUT_CHANGE_SET (line 11) | const ACTIONS_WITHOUT_CHANGE_SET: ActivityLogAction[] = [ type TrackActivityLogInput (line 17) | interface TrackActivityLogInput FILE: apps/web/lib/api/activity-log/track-reward-activity-log.ts type TrackRewardActivityLogParams (line 9) | interface TrackRewardActivityLogParams function toRewardActivitySnapshot (line 18) | function toRewardActivitySnapshot(reward: RewardProps) { function modifierEquals (line 31) | function modifierEquals(a: RewardConditions, b: RewardConditions): boole... function buildModifierChangeSetEntries (line 35) | function buildModifierChangeSetEntries( function trackRewardActivityLog (line 125) | function trackRewardActivityLog({ FILE: apps/web/lib/api/audit-logs/record-audit-log.ts type AuditLogInput (line 11) | type AuditLogInput = z.infer; FILE: apps/web/lib/api/campaigns/constants.ts constant DEFAULT_CAMPAIGN_BODY (line 3) | const DEFAULT_CAMPAIGN_BODY = { constant CAMPAIGN_STATUS_TRANSITIONS (line 8) | const CAMPAIGN_STATUS_TRANSITIONS: Record< constant CAMPAIGN_EDITABLE_STATUSES (line 26) | const CAMPAIGN_EDITABLE_STATUSES: CampaignStatus[] = [ constant CAMPAIGN_READONLY_STATUSES (line 32) | const CAMPAIGN_READONLY_STATUSES: CampaignStatus[] = [ constant CAMPAIGN_ACTIVE_STATUSES (line 38) | const CAMPAIGN_ACTIVE_STATUSES: CampaignStatus[] = [ FILE: apps/web/lib/api/campaigns/get-campaign-events.ts type GetCampaignEventsParams (line 8) | interface GetCampaignEventsParams FILE: apps/web/lib/api/campaigns/validate-campaign.ts type ValidateCampaignParams (line 11) | interface ValidateCampaignParams { function validateCampaign (line 16) | async function validateCampaign({ function validateCampaignFromAddress (line 80) | function validateCampaignFromAddress({ FILE: apps/web/lib/api/commissions/format-commissions-for-export.ts constant COLUMN_LOOKUP (line 5) | const COLUMN_LOOKUP: Map< constant COLUMN_TYPE_SCHEMAS (line 20) | const COLUMN_TYPE_SCHEMAS = { function formatCommissionsForExport (line 35) | function formatCommissionsForExport( FILE: apps/web/lib/api/commissions/get-commissions-count.ts type CommissionsCountFilters (line 7) | type CommissionsCountFilters = z.infer< function getCommissionsCount (line 14) | async function getCommissionsCount(filters: CommissionsCountFilters) { FILE: apps/web/lib/api/commissions/get-commissions.ts type CommissionsFilters (line 9) | type CommissionsFilters = z.infer & { function getCommissions (line 14) | async function getCommissions(filters: CommissionsFilters) { FILE: apps/web/lib/api/conversions/track-lead.ts type TrackLeadParams (line 27) | type TrackLeadParams = z.input & { FILE: apps/web/lib/api/conversions/track-sale.ts type TrackSaleParams (line 42) | type TrackSaleParams = z.input & { FILE: apps/web/lib/api/cors.ts constant COMMON_CORS_HEADERS (line 1) | const COMMON_CORS_HEADERS = new Headers({ FILE: apps/web/lib/api/create-downloadable-export.ts type CreateDownloadableExportOptions (line 3) | interface CreateDownloadableExportOptions { function createDownloadableExport (line 13) | async function createDownloadableExport({ FILE: apps/web/lib/api/create-id.ts function createULIDBuffer (line 52) | function createULIDBuffer(): Uint8Array { FILE: apps/web/lib/api/customers/get-customer-stripe-invoices.ts function getCustomerStripeInvoices (line 9) | async function getCustomerStripeInvoices({ FILE: apps/web/lib/api/customers/transform-customer.ts type CustomerWithLink (line 10) | interface CustomerWithLink extends Customer { FILE: apps/web/lib/api/discounts/construct-discount-code.ts function constructDiscountCode (line 3) | function constructDiscountCode({ FILE: apps/web/lib/api/discounts/create-discount-code.ts function createDiscountCode (line 7) | async function createDiscountCode({ FILE: apps/web/lib/api/discounts/delete-discount-code.ts type DiscountCodePayload (line 10) | type DiscountCodePayload = Pick; type DeleteDiscountCodesParams (line 12) | type DeleteDiscountCodesParams = function deleteDiscountCodes (line 21) | async function deleteDiscountCodes(input: DeleteDiscountCodesParams) { FILE: apps/web/lib/api/discounts/is-discount-equivalent.ts function isDiscountEquivalent (line 3) | function isDiscountEquivalent( FILE: apps/web/lib/api/domains/claim-dot-link-domain.ts function claimDotLinkDomain (line 15) | async function claimDotLinkDomain({ FILE: apps/web/lib/api/domains/mark-domain-deleted.ts function markDomainAsDeleted (line 7) | async function markDomainAsDeleted({ domain }: { domain: string }) { FILE: apps/web/lib/api/domains/queue-domain-update.ts type QueueDomainUpdateProps (line 12) | interface QueueDomainUpdateProps function queueDomainUpdate (line 17) | async function queueDomainUpdate({ function queueDomainDeletion (line 36) | async function queueDomainDeletion({ FILE: apps/web/lib/api/domains/transform-domain.ts type RegisteredDomain (line 8) | type RegisteredDomain = z.infer; FILE: apps/web/lib/api/domains/utils.ts type CustomResponse (line 33) | interface CustomResponse extends Response { FILE: apps/web/lib/api/errors.ts type ErrorResponse (line 40) | type ErrorResponse = z.infer; type ErrorCodes (line 41) | type ErrorCodes = z.infer; class DubApiError (line 43) | class DubApiError extends Error { method constructor (line 47) | constructor({ function fromZodError (line 64) | function fromZodError(error: z.ZodError): ErrorResponse { function handleApiError (line 92) | function handleApiError(error: any): ErrorResponse & { status: number } { function handleAndReturnErrorResponse (line 147) | function handleAndReturnErrorResponse(err: unknown, headers?: Headers) { FILE: apps/web/lib/api/folders/delete-workspace-folders.ts function deleteWorkspaceFolders (line 4) | async function deleteWorkspaceFolders({ FILE: apps/web/lib/api/folders/queue-folder-deletion.ts function queueFolderDeletion (line 4) | async function queueFolderDeletion({ FILE: apps/web/lib/api/fraud/constants.ts constant FRAUD_RULES (line 3) | const FRAUD_RULES: FraudRuleInfo[] = [ constant FRAUD_RULES_BY_TYPE (line 106) | const FRAUD_RULES_BY_TYPE = Object.fromEntries( constant FRAUD_RULES_BY_SCOPE (line 110) | const FRAUD_RULES_BY_SCOPE = FRAUD_RULES.reduce( constant CONFIGURABLE_FRAUD_RULES (line 118) | const CONFIGURABLE_FRAUD_RULES = FRAUD_RULES.filter( constant CONFIGURABLE_RULE_TYPES (line 122) | const CONFIGURABLE_RULE_TYPES = CONFIGURABLE_FRAUD_RULES.map( constant FRAUD_SEVERITY_CONFIG (line 126) | const FRAUD_SEVERITY_CONFIG: Record< constant PAID_TRAFFIC_PLATFORMS (line 155) | const PAID_TRAFFIC_PLATFORMS = [ constant PAID_TRAFFIC_PLATFORMS_CONFIG (line 165) | const PAID_TRAFFIC_PLATFORMS_CONFIG: { FILE: apps/web/lib/api/fraud/create-fraud-events.ts function createFraudEvents (line 13) | async function createFraudEvents(fraudEvents: CreateFraudEventInput[]) { FILE: apps/web/lib/api/fraud/define-fraud-rule.ts function defineFraudRule (line 5) | function defineFraudRule(rule: { FILE: apps/web/lib/api/fraud/detect-duplicate-payout-method-fraud.ts type DetectDuplicatePayoutMethodFraudOptions (line 8) | type DetectDuplicatePayoutMethodFraudOptions = function detectDuplicatePayoutMethodFraud (line 14) | async function detectDuplicatePayoutMethodFraud({ FILE: apps/web/lib/api/fraud/detect-record-fraud-application.ts type FraudApplicationContext (line 8) | interface FraudApplicationContext { function detectAndRecordFraudApplication (line 18) | async function detectAndRecordFraudApplication({ FILE: apps/web/lib/api/fraud/detect-record-fraud-event.ts function detectAndRecordFraudEvent (line 10) | async function detectAndRecordFraudEvent(context: FraudEventContext) { FILE: apps/web/lib/api/fraud/execute-fraud-rule.ts constant FRAUD_RULES_REGISTRY (line 17) | const FRAUD_RULES_REGISTRY: Record< function executeFraudRule (line 33) | async function executeFraudRule({ FILE: apps/web/lib/api/fraud/get-merged-fraud-rules.ts function getMergedFraudRules (line 7) | function getMergedFraudRules(programRules: FraudRule[]) { function isFraudRuleEnabled (line 42) | function isFraudRuleEnabled({ FILE: apps/web/lib/api/fraud/get-partner-application-risks.ts function getPartnerApplicationRisks (line 11) | async function getPartnerApplicationRisks({ FILE: apps/web/lib/api/fraud/report-cross-program-ban-to-network.ts function reportCrossProgramBanToNetwork (line 10) | async function reportCrossProgramBanToNetwork({ FILE: apps/web/lib/api/fraud/report-fraud-to-network.ts function reportFraudToNetwork (line 11) | async function reportFraudToNetwork({ FILE: apps/web/lib/api/fraud/resolve-fraud-groups.ts function resolveFraudGroups (line 5) | async function resolveFraudGroups({ FILE: apps/web/lib/api/fraud/rules/check-partner-email-domain-mismatch.ts function normalizeDomain (line 3) | function normalizeDomain(domain: string) { function checkPartnerEmailDomainMismatch (line 11) | function checkPartnerEmailDomainMismatch( FILE: apps/web/lib/api/fraud/rules/check-partner-email-masked.ts function checkPartnerEmailMasked (line 5) | function checkPartnerEmailMasked(partner: Pick) { FILE: apps/web/lib/api/fraud/rules/check-partner-no-social-links.ts function checkPartnerNoSocialLinks (line 4) | function checkPartnerNoSocialLinks( FILE: apps/web/lib/api/fraud/rules/check-partner-no-verified-social-links.ts function checkPartnerNoVerifiedSocialLinks (line 4) | function checkPartnerNoVerifiedSocialLinks( FILE: apps/web/lib/api/fraud/utils.ts type CreateEventHashInput (line 4) | type CreateEventHashInput = Pick< type GetIdentityFieldsForFraudEventInput (line 14) | type GetIdentityFieldsForFraudEventInput = Pick< function normalizeEmail (line 20) | function normalizeEmail(email: string) { function createHashKey (line 44) | function createHashKey(value: string): string { function createFraudEventHash (line 49) | function createFraudEventHash(fraudEvent: CreateEventHashInput) { function getIdentityFieldsForFraudEvent (line 71) | function getIdentityFieldsForFraudEvent({ function sanitizeFraudEventMetadata (line 112) | function sanitizeFraudEventMetadata( function createGroupCompositeKey (line 129) | function createGroupCompositeKey( function getPartnerIdForFraudEvent (line 137) | function getPartnerIdForFraudEvent( FILE: apps/web/lib/api/get-workspace-users.ts type GetWorkspaceUsersParams (line 6) | type GetWorkspaceUsersParams = function getWorkspaceUsers (line 20) | async function getWorkspaceUsers({ FILE: apps/web/lib/api/groups/get-groups.ts type GroupFilters (line 6) | type GroupFilters = z.infer & { function getGroups (line 10) | async function getGroups(filters: GroupFilters) { FILE: apps/web/lib/api/groups/move-partners-to-group.ts type MovePartnersToGroupParams (line 18) | interface MovePartnersToGroupParams { function movePartnersToGroup (line 36) | async function movePartnersToGroup({ FILE: apps/web/lib/api/groups/throw-if-invalid-group-ids.ts function throwIfInvalidGroupIds (line 5) | async function throwIfInvalidGroupIds({ FILE: apps/web/lib/api/groups/upsert-group-move-rules.ts function upsertGroupMoveRules (line 12) | async function upsertGroupMoveRules({ FILE: apps/web/lib/api/links/ab-test-scheduler.ts function scheduleABTestCompletion (line 6) | async function scheduleABTestCompletion( FILE: apps/web/lib/api/links/archive-link.ts function archiveLink (line 3) | async function archiveLink({ FILE: apps/web/lib/api/links/bulk-create-links.ts function bulkCreateLinks (line 17) | async function bulkCreateLinks({ FILE: apps/web/lib/api/links/bulk-delete-links.ts function bulkDeleteLinks (line 8) | async function bulkDeleteLinks(links: ExpandedLink[]) { FILE: apps/web/lib/api/links/bulk-update-links.ts function bulkUpdateLinks (line 14) | async function bulkUpdateLinks( FILE: apps/web/lib/api/links/cache.ts constant VERCEL_CACHE_EXPIRATION (line 28) | const VERCEL_CACHE_EXPIRATION = 60 * 5; constant REDIS_CACHE_EXPIRATION (line 29) | const REDIS_CACHE_EXPIRATION = 60 * 60 * 24; class LinkCache (line 31) | class LinkCache { method mset (line 32) | async mset(links: ExpandedLink[]) { method set (line 48) | async set(link: ExpandedLink) { method get (line 63) | async get({ domain, key }: Pick) { method delete (line 127) | async delete({ domain, key }: Pick) { method deleteMany (line 133) | async deleteMany(links: Pick[]) { method expireMany (line 147) | async expireMany(links: Pick[]) { method _createKey (line 162) | _createKey({ domain, key }: Pick) { method _invalidateVercelCache (line 172) | async _invalidateVercelCache(cacheKey: string) { FILE: apps/web/lib/api/links/case-sensitivity.ts constant XOR_SECRET_KEY (line 2) | const XOR_SECRET_KEY = "58ff90c0dc372ded858cbf8fb2306066"; constant CASE_SENSITIVE_DOMAINS (line 4) | const CASE_SENSITIVE_DOMAINS = [ FILE: apps/web/lib/api/links/complete-ab-tests.ts function completeABTests (line 12) | async function completeABTests(link: Link) { FILE: apps/web/lib/api/links/create-link.ts function createLink (line 27) | async function createLink(link: ProcessedLinkProps) { FILE: apps/web/lib/api/links/delete-link.ts function deleteLink (line 12) | async function deleteLink(linkId: string) { FILE: apps/web/lib/api/links/format-links-for-export.ts function formatLinksForExport (line 13) | function formatLinksForExport( FILE: apps/web/lib/api/links/get-link-or-throw.ts type GetLinkParams (line 10) | interface GetLinkParams { FILE: apps/web/lib/api/links/get-links-count.ts type GetLinksCountParams (line 6) | interface GetLinksCountParams extends z.infer>({ function maliciousLinkCheck (line 578) | async function maliciousLinkCheck(url: string) { FILE: apps/web/lib/api/links/propagate-bulk-link-changes.ts function propagateBulkLinkChanges (line 5) | async function propagateBulkLinkChanges({ FILE: apps/web/lib/api/links/record-click-cache.ts constant CACHE_EXPIRATION (line 4) | const CACHE_EXPIRATION = 60 * 60; type KeyProps (line 6) | interface KeyProps { class RecordClickCache (line 12) | class RecordClickCache { method set (line 13) | async set({ method get (line 28) | async get({ domain, key, identityHash }: KeyProps) { method _createKey (line 34) | _createKey({ domain, key, identityHash }: KeyProps) { FILE: apps/web/lib/api/links/update-link.ts function updateLink (line 24) | async function updateLink({ FILE: apps/web/lib/api/links/update-links-usage.ts function updateLinksUsage (line 6) | async function updateLinksUsage({ FILE: apps/web/lib/api/links/utils/key-checks.ts function keyChecks (line 12) | async function keyChecks({ FILE: apps/web/lib/api/links/utils/process-key.ts function processKey (line 8) | function processKey({ domain, key }: { domain: string; key: string }) { FILE: apps/web/lib/api/links/utils/transform-link.ts type ExpandedLink (line 13) | type ExpandedLink = Link & { FILE: apps/web/lib/api/links/validate-links-query-filters.ts type LinksQueryFilters (line 8) | interface LinksQueryFilters function validateLinksQueryFilters (line 14) | async function validateLinksQueryFilters({ FILE: apps/web/lib/api/network/calculate-partner-ranking.ts type PartnerRankingFilters (line 7) | type PartnerRankingFilters = z.infer; type PartnerRankingParams (line 9) | interface PartnerRankingParams extends PartnerRankingFilters { function calculatePartnerRanking (line 43) | async function calculatePartnerRanking({ FILE: apps/web/lib/api/oauth/constants.ts constant OAUTH_CONFIG (line 2) | const OAUTH_CONFIG = { constant OAUTH_SCOPES (line 21) | const OAUTH_SCOPES = [ constant OAUTH_SCOPE_DESCRIPTIONS (line 37) | const OAUTH_SCOPE_DESCRIPTIONS = { FILE: apps/web/lib/api/pagination.ts type Filters (line 4) | interface Filters { type PaginationQuery (line 13) | interface PaginationQuery { constant MAX_OFFSET_PAGE (line 22) | const MAX_OFFSET_PAGE = 1000; function buildPaginationQuery (line 24) | function buildPaginationQuery(filters: Filters): PaginationQuery { FILE: apps/web/lib/api/partner-profile/get-partner-earnings-timeseries.ts function getPartnerEarningsTimeseries (line 10) | async function getPartnerEarningsTimeseries({ FILE: apps/web/lib/api/partner-profile/get-partner-for-program.ts function getPartnerForProgram (line 4) | async function getPartnerForProgram({ FILE: apps/web/lib/api/partner-profile/obfuscate-customer-email.ts constant MIN_ASTERISKS (line 7) | const MIN_ASTERISKS = 4; constant MAX_ASTERISKS (line 8) | const MAX_ASTERISKS = 7; function approximateAsteriskCount (line 10) | function approximateAsteriskCount(seed: number): number { function obfuscateCustomerEmail (line 14) | function obfuscateCustomerEmail(email: string): string { FILE: apps/web/lib/api/partner-profile/partner-platforms-providers.ts type PartnerPlatformsProvider (line 1) | type PartnerPlatformsProvider = { constant PARTNER_PLATFORMS_PROVIDERS (line 15) | const PARTNER_PLATFORMS_PROVIDERS: Record< FILE: apps/web/lib/api/partner-profile/upsert-partner-platform.ts type UpsertPartnerPlatformParams (line 4) | type UpsertPartnerPlatformParams = { function upsertPartnerPlatform (line 15) | async function upsertPartnerPlatform({ FILE: apps/web/lib/api/partners/bulk-deactivate-partners.ts type BulkDeactivatePartnersParams (line 6) | interface BulkDeactivatePartnersParams { function bulkDeactivatePartners (line 14) | async function bulkDeactivatePartners({ FILE: apps/web/lib/api/partners/bulk-delete-partners.ts constant BATCH_SIZE (line 7) | const BATCH_SIZE = 250; function bulkDeletePartners (line 11) | async function bulkDeletePartners({ FILE: apps/web/lib/api/partners/create-and-enroll-partner.ts type CreateAndEnrollPartnerInput (line 18) | interface CreateAndEnrollPartnerInput { FILE: apps/web/lib/api/partners/create-partner-default-links.ts type CreateDefaultPartnerLinksInput (line 16) | interface CreateDefaultPartnerLinksInput { function createPartnerDefaultLinks (line 32) | async function createPartnerDefaultLinks({ FILE: apps/web/lib/api/partners/deactivate-partner.ts type DeactivatePartnerParams (line 7) | interface DeactivatePartnerParams { function deactivatePartner (line 14) | async function deactivatePartner({ FILE: apps/web/lib/api/partners/format-partners-for-export.ts function formatPartnersForExport (line 20) | function formatPartnersForExport( FILE: apps/web/lib/api/partners/generate-partner-link.ts function derivePartnerLinkKey (line 13) | function derivePartnerLinkKey({ type PartnerDefaultLinkProps (line 39) | type PartnerDefaultLinkProps = CreatePartnerProps["linkProps"] & { function buildPartnerDefaultLinkKey (line 43) | function buildPartnerDefaultLinkKey({ type GeneratePartnerLinkInput (line 73) | interface GeneratePartnerLinkInput { FILE: apps/web/lib/api/partners/get-discount-or-throw.ts function getDiscountOrThrow (line 5) | async function getDiscountOrThrow({ FILE: apps/web/lib/api/partners/get-group-rewards-and-bounties.ts constant REWARD_ICONS (line 7) | const REWARD_ICONS: Record = { constant BOUNTY_ICONS (line 13) | const BOUNTY_ICONS: Record = { function getGroupRewardsAndBounties (line 18) | async function getGroupRewardsAndBounties({ FILE: apps/web/lib/api/partners/get-network-invites-usage.ts function getNetworkInvitesUsage (line 5) | async function getNetworkInvitesUsage( FILE: apps/web/lib/api/partners/get-partner-rewind.ts function getPartnerRewind (line 6) | async function getPartnerRewind({ FILE: apps/web/lib/api/partners/get-partner-users.ts type PartnerNotificationPreference (line 4) | type PartnerNotificationPreference = keyof Omit< type GetPartnerUsersParams (line 9) | interface GetPartnerUsersParams { function getPartnerUsers (line 14) | async function getPartnerUsers({ FILE: apps/web/lib/api/partners/get-partners-count.ts type PartnersCountFilters (line 6) | type PartnersCountFilters = z.infer & { function getPartnersCount (line 10) | async function getPartnersCount( FILE: apps/web/lib/api/partners/get-partners.ts type PartnerFilters (line 6) | type PartnerFilters = z.infer & { function getPartners (line 10) | async function getPartners(filters: PartnerFilters) { FILE: apps/web/lib/api/partners/get-reward-or-throw.ts function getRewardOrThrow (line 5) | async function getRewardOrThrow({ FILE: apps/web/lib/api/partners/invite-partner-user.ts function invitePartnerUser (line 11) | async function invitePartnerUser({ FILE: apps/web/lib/api/partners/notify-partner-application.ts function notifyPartnerApplication (line 14) | async function notifyPartnerApplication({ FILE: apps/web/lib/api/partners/notify-partner-commission.ts function notifyPartnerCommission (line 19) | async function notifyPartnerCommission({ FILE: apps/web/lib/api/partners/notify-partner-group-change.ts type NotifyPartnerGroupChangeParams (line 6) | interface NotifyPartnerGroupChangeParams { function notifyPartnerGroupChange (line 13) | async function notifyPartnerGroupChange({ FILE: apps/web/lib/api/partners/process-partner-deactivation.ts type ProcessPartnerDeactivationParams (line 9) | interface ProcessPartnerDeactivationParams { function processPartnerDeactivation (line 19) | async function processPartnerDeactivation({ FILE: apps/web/lib/api/partners/serialize-reward.ts function serializeReward (line 6) | function serializeReward(reward: Reward) { FILE: apps/web/lib/api/partners/sync-total-commissions.ts function aggregateAndUpdateTotalCommissions (line 4) | async function aggregateAndUpdateTotalCommissions({ FILE: apps/web/lib/api/payouts/get-effective-payout-mode.ts function getEffectivePayoutMode (line 3) | function getEffectivePayoutMode({ FILE: apps/web/lib/api/payouts/get-eligible-payouts.ts type GetEligiblePayoutsProps (line 12) | interface GetEligiblePayoutsProps function getEligiblePayouts (line 22) | async function getEligiblePayouts({ FILE: apps/web/lib/api/payouts/get-payout-or-throw.ts function getPayoutOrThrow (line 5) | async function getPayoutOrThrow({ FILE: apps/web/lib/api/payouts/payout-eligibility-filter.ts function getPayoutEligibilityFilter (line 4) | function getPayoutEligibilityFilter({ FILE: apps/web/lib/api/postbacks/get-postback-or-throw.ts type GetPostbackOrThrowParams (line 4) | interface GetPostbackOrThrowParams { FILE: apps/web/lib/api/programs/deactivate-program.ts function deactivateProgram (line 5) | async function deactivateProgram(programId: string) { FILE: apps/web/lib/api/programs/get-program-enrollment-or-throw.ts function getProgramEnrollmentOrThrow (line 6) | async function getProgramEnrollmentOrThrow< FILE: apps/web/lib/api/programs/get-program-or-throw.ts type ProgramWithInclude (line 7) | type ProgramWithInclude = z.infer< function getProgramOrThrow (line 12) | async function getProgramOrThrow({ FILE: apps/web/lib/api/rbac/permissions.ts constant PERMISSION_ACTIONS (line 3) | const PERMISSION_ACTIONS = [ type PermissionAction (line 31) | type PermissionAction = (typeof PERMISSION_ACTIONS)[number]; constant ROLE_PERMISSIONS (line 33) | const ROLE_PERMISSIONS: { FILE: apps/web/lib/api/rbac/resources.ts constant RESOURCE_KEYS (line 1) | const RESOURCE_KEYS = [ type ResourceKey (line 13) | type ResourceKey = (typeof RESOURCE_KEYS)[number]; constant RESOURCES (line 15) | const RESOURCES: { FILE: apps/web/lib/api/referrals/get-referral-or-throw.ts type GetReferralOrThrowParams (line 4) | interface GetReferralOrThrowParams { FILE: apps/web/lib/api/referrals/mark-referral-closed-won.ts type MarkReferralClosedWonInput (line 9) | interface MarkReferralClosedWonInput { FILE: apps/web/lib/api/referrals/mark-referral-qualified.ts type MarkReferralQualifiedInput (line 9) | interface MarkReferralQualifiedInput { FILE: apps/web/lib/api/referrals/notify-partner-referral-submitted.ts function notifyPartnerReferralSubmitted (line 7) | async function notifyPartnerReferralSubmitted({ FILE: apps/web/lib/api/referrals/notify-referral-status-update.ts function notifyReferralStatusUpdate (line 8) | async function notifyReferralStatusUpdate({ FILE: apps/web/lib/api/rewards/validate-reward.ts function validateReward (line 8) | function validateReward( FILE: apps/web/lib/api/scrape-creators/get-linkedin-post.ts type LinkedInPostResult (line 3) | interface LinkedInPostResult { function getLinkedInPost (line 11) | async function getLinkedInPost( FILE: apps/web/lib/api/scrape-creators/get-social-content.ts constant CACHE_KEY_PREFIX (line 9) | const CACHE_KEY_PREFIX = "socialContentCache"; constant CACHE_TTL (line 10) | const CACHE_TTL = 60 * 60; type GetSocialContentStatsParams (line 12) | interface GetSocialContentStatsParams { constant PLATFORM_CONTENT_TYPE (line 17) | const PLATFORM_CONTENT_TYPE: Record< constant EMPTY_SOCIAL_CONTENT (line 28) | const EMPTY_SOCIAL_CONTENT: SocialContent = { function getSocialContent (line 39) | async function getSocialContent({ function normalizeUrl (line 222) | function normalizeUrl(raw: string) { FILE: apps/web/lib/api/scrape-creators/get-social-profile.ts type SocialProfile (line 4) | type SocialProfile = Pick< type GetSocialProfileParams (line 11) | interface GetSocialProfileParams { class AccountNotFoundError (line 16) | class AccountNotFoundError extends Error { method constructor (line 17) | constructor(message: string) { function getSocialProfile (line 23) | async function getSocialProfile({ FILE: apps/web/lib/api/tags/combine-tag-ids.ts function combineTagIds (line 4) | function combineTagIds({ FILE: apps/web/lib/api/tokens/scopes.ts constant SCOPES (line 5) | const SCOPES = [ type Scope (line 25) | type Scope = (typeof SCOPES)[number]; constant RESOURCE_SCOPES (line 28) | const RESOURCE_SCOPES: { constant SCOPES_BY_RESOURCE (line 174) | const SCOPES_BY_RESOURCE = RESOURCE_SCOPES.reduce((acc, scope) => { constant SCOPE_PERMISSIONS_MAP (line 193) | const SCOPE_PERMISSIONS_MAP = RESOURCE_SCOPES.reduce((acc, scope) => { constant ROLE_SCOPES_MAP (line 199) | const ROLE_SCOPES_MAP = RESOURCE_SCOPES.reduce((acc, scope) => { FILE: apps/web/lib/api/users.ts function inviteUser (line 11) | async function inviteUser({ FILE: apps/web/lib/api/utils/generate-export-filename.ts function generateExportFilename (line 5) | function generateExportFilename(exportType: string): string { FILE: apps/web/lib/api/utils/generate-random-string.ts function generateRandomString (line 3) | function generateRandomString(length: number): string { FILE: apps/web/lib/api/utils/is-non-empty-json.ts function isNonEmptyJson (line 1) | function isNonEmptyJson(jsonString?: string | null): boolean { FILE: apps/web/lib/api/utils/with-prisma-retry.ts constant DEFAULT_CONFIG (line 3) | const DEFAULT_CONFIG = { constant RETRIABLE_ERROR_CODES (line 9) | const RETRIABLE_ERROR_CODES = new Set([ function withPrismaRetry (line 22) | async function withPrismaRetry( FILE: apps/web/lib/api/validate-allowed-hostnames.ts constant MAX_HOSTNAMES_ALLOWED (line 4) | const MAX_HOSTNAMES_ALLOWED = 10; FILE: apps/web/lib/api/workflows/evaluate-workflow-conditions.ts function evaluateWorkflowConditions (line 4) | function evaluateWorkflowConditions({ FILE: apps/web/lib/api/workflows/execute-send-campaign-workflow.ts function getProgramEnrollments (line 244) | async function getProgramEnrollments({ FILE: apps/web/lib/api/workflows/execute-workflows.ts type WorkflowActionHandler (line 11) | interface WorkflowActionHandler { constant ACTION_HANDLERS (line 18) | const ACTION_HANDLERS: Record = { function hasPermission (line 32) | function hasPermission(role: PartnerRole, permission: Permission) { FILE: apps/web/lib/auth/partner-users/throw-if-no-permission.ts function throwIfNoPermission (line 5) | function throwIfNoPermission({ FILE: apps/web/lib/auth/partner.ts type WithPartnerProfileHandler (line 19) | interface WithPartnerProfileHandler { type WithPartnerProfileOptions (line 39) | interface WithPartnerProfileOptions { constant RATE_LIMIT_FOR_PARTNERS (line 44) | const RATE_LIMIT_FOR_PARTNERS = { FILE: apps/web/lib/auth/password.ts function hashPassword (line 3) | async function hashPassword(password: string) { function validatePassword (line 7) | async function validatePassword({ FILE: apps/web/lib/auth/publishable-key.ts type WithPublishableKeyHandler (line 10) | interface WithPublishableKeyHandler { FILE: apps/web/lib/auth/rate-limit-request.ts function rateLimitRequest (line 3) | async function rateLimitRequest({ FILE: apps/web/lib/auth/session.ts type WithSessionHandler (line 11) | interface WithSessionHandler { FILE: apps/web/lib/auth/token-cache.ts constant CACHE_EXPIRATION (line 4) | const CACHE_EXPIRATION = 60 * 60 * 24; constant CACHE_KEY_PREFIX (line 5) | const CACHE_KEY_PREFIX = "dubTokenCache"; type TokenCacheItem (line 27) | type TokenCacheItem = z.infer; class TokenCache (line 30) | class TokenCache { method set (line 31) | async set({ method get (line 47) | async get({ hashedKey }: { hashedKey: string }) { method delete (line 51) | async delete({ hashedKey }: { hashedKey: string }) { method expireMany (line 55) | async expireMany({ hashedKeys }: { hashedKeys: string[] }) { method _createKey (line 69) | _createKey({ hashedKey }: { hashedKey: string }) { FILE: apps/web/lib/auth/utils.ts type Session (line 6) | interface Session { function generateOTP (line 39) | function generateOTP() { FILE: apps/web/lib/auth/workspace.ts constant RATE_LIMIT_FOR_SESSIONS (line 25) | const RATE_LIMIT_FOR_SESSIONS = { type WithWorkspaceHandler (line 36) | interface WithWorkspaceHandler { FILE: apps/web/lib/bounty/api/approve-bounty-submission.ts type ApproveBountySubmissionParams (line 17) | interface ApproveBountySubmissionParams function approveBountySubmission (line 25) | async function approveBountySubmission({ FILE: apps/web/lib/bounty/api/create-bounty-submission.ts type CreateBountySubmissionParams (line 29) | type CreateBountySubmissionParams = z.infer< type BountyWithRelations (line 35) | type BountyWithRelations = Prisma.BountyGetPayload<{ class BountySubmissionHandler (line 42) | class BountySubmissionHandler { method constructor (line 62) | constructor(params: CreateBountySubmissionParams) { method submit (line 73) | async submit(): Promise { method fetchBountyAndEnrollment (line 94) | private async fetchBountyAndEnrollment() { method resolvePeriodNumber (line 123) | private resolvePeriodNumber() { method validateEligibility (line 191) | private validateEligibility() { method validateRequirements (line 282) | private validateRequirements() { method validateUrlDomains (line 329) | private validateUrlDomains( method validateSocialContent (line 374) | private async validateSocialContent() { method mergeSubmissionData (line 486) | private mergeSubmissionData() { method persist (line 508) | private async persist(): Promise { method sendNotifications (line 537) | private sendNotifications(submission: BountySubmission) { function getPlatformFromSocialUrl (line 604) | function getPlatformFromSocialUrl(url: string): PlatformType | null { FILE: apps/web/lib/bounty/api/get-bounties-by-groups.ts function getBountiesByGroups (line 4) | async function getBountiesByGroups({ FILE: apps/web/lib/bounty/api/get-bounty-or-throw.ts type GetBountyOrThrowParams (line 5) | interface GetBountyOrThrowParams { function getBountyOrThrow (line 11) | async function getBountyOrThrow({ FILE: apps/web/lib/bounty/api/get-group-bounty-summaries.ts type GroupBountySummary (line 4) | type GroupBountySummary = { type BountyEligibilityCandidate (line 10) | type BountyEligibilityCandidate = { function filterActiveGroupBounties (line 20) | function filterActiveGroupBounties( function getGroupBountySummaries (line 50) | async function getGroupBountySummaries({ FILE: apps/web/lib/bounty/api/get-social-metrics-updates.ts type SocialMetricsUpdate (line 5) | type SocialMetricsUpdate = Pick< function getSocialMetricsUpdates (line 25) | async function getSocialMetricsUpdates({ FILE: apps/web/lib/bounty/api/performance-bounty-scope-attributes.ts constant PERFORMANCE_BOUNTY_SCOPE_ATTRIBUTES (line 1) | const PERFORMANCE_BOUNTY_SCOPE_ATTRIBUTES: Record< FILE: apps/web/lib/bounty/api/reject-bounty-submission.ts type RejectBountySubmissionParams (line 15) | interface RejectBountySubmissionParams function rejectBountySubmission (line 23) | async function rejectBountySubmission({ FILE: apps/web/lib/bounty/api/trigger-draft-bounty-submissions.ts function triggerDraftBountySubmissionCreation (line 8) | async function triggerDraftBountySubmissionCreation({ function isEligiblePerformanceBounty (line 95) | function isEligiblePerformanceBounty(bounty: Bounty) { FILE: apps/web/lib/bounty/api/validate-bounty.ts function validateBounty (line 4) | function validateBounty({ FILE: apps/web/lib/bounty/constants.ts constant BOUNTY_DESCRIPTION_MAX_LENGTH (line 3) | const BOUNTY_DESCRIPTION_MAX_LENGTH = 5000; constant BOUNTY_MAX_SUBMISSIONS (line 5) | const BOUNTY_MAX_SUBMISSIONS = 10; constant BOUNTY_MAX_SUBMISSION_FILES (line 7) | const BOUNTY_MAX_SUBMISSION_FILES = 4; constant BOUNTY_DEFAULT_SUBMISSION_URLS (line 9) | const BOUNTY_DEFAULT_SUBMISSION_URLS = 10; constant BOUNTY_MAX_SUBMISSION_URLS (line 11) | const BOUNTY_MAX_SUBMISSION_URLS = 100; constant BOUNTY_MAX_SUBMISSION_DESCRIPTION_LENGTH (line 13) | const BOUNTY_MAX_SUBMISSION_DESCRIPTION_LENGTH = 1000; constant BOUNTY_MAX_SUBMISSION_REJECTION_NOTE_LENGTH (line 15) | const BOUNTY_MAX_SUBMISSION_REJECTION_NOTE_LENGTH = 5000; constant BOUNTY_SUBMISSION_REQUIREMENTS (line 17) | const BOUNTY_SUBMISSION_REQUIREMENTS = ["image", "url"] as const; constant REJECT_BOUNTY_SUBMISSION_REASONS (line 19) | const REJECT_BOUNTY_SUBMISSION_REASONS = { constant SUBMISSION_FREQUENCY_OPTIONS (line 27) | const SUBMISSION_FREQUENCY_OPTIONS = [ FILE: apps/web/lib/bounty/periods.ts type SubmissionPeriodStatus (line 4) | type SubmissionPeriodStatus = type SubmissionPeriod (line 12) | interface SubmissionPeriod { function addFrequency (line 22) | function addFrequency({ function getPeriodLabel (line 44) | function getPeriodLabel( function getCurrentPeriodNumber (line 72) | function getCurrentPeriodNumber({ function getSubmissionPeriods (line 134) | function getSubmissionPeriods< FILE: apps/web/lib/bounty/rewards.ts type BountyInfoInput (line 6) | interface BountyInfoInput { type SocialMetricsRewardTier (line 11) | interface SocialMetricsRewardTier { function getSocialMetricsRewardTiers (line 17) | function getSocialMetricsRewardTiers({ function calculateSocialMetricsRewardAmount (line 83) | function calculateSocialMetricsRewardAmount({ function getBountyRewardDescription (line 101) | function getBountyRewardDescription( FILE: apps/web/lib/bounty/social-content.ts constant BOUNTY_SOCIAL_PLATFORMS (line 3) | const BOUNTY_SOCIAL_PLATFORMS = [ constant BOUNTY_SOCIAL_PLATFORM_VALUES (line 41) | const BOUNTY_SOCIAL_PLATFORM_VALUES = BOUNTY_SOCIAL_PLATFORMS.map( constant BOUNTY_SOCIAL_PLATFORM_METRICS (line 45) | const BOUNTY_SOCIAL_PLATFORM_METRICS = BOUNTY_SOCIAL_PLATFORMS.map( constant BOUNTY_SOCIAL_PLATFORM_METRICS_MAP (line 49) | const BOUNTY_SOCIAL_PLATFORM_METRICS_MAP = Object.fromEntries( constant SOCIAL_URL_HOST_TO_PLATFORM (line 59) | const SOCIAL_URL_HOST_TO_PLATFORM: Record = { FILE: apps/web/lib/bounty/submission-status.ts constant BOUNTY_SUBMISSION_STATUS_BADGES (line 10) | const BOUNTY_SUBMISSION_STATUS_BADGES = { FILE: apps/web/lib/bounty/utils.ts type BountyInfoInput (line 5) | interface BountyInfoInput { function resolveBountyDetails (line 10) | function resolveBountyDetails( FILE: apps/web/lib/constants/misc.ts constant REFERRALS_EMBED_EARNINGS_LIMIT (line 1) | const REFERRALS_EMBED_EARNINGS_LIMIT = 8; constant CUSTOMER_PAGE_EVENTS_LIMIT (line 2) | const CUSTOMER_PAGE_EVENTS_LIMIT = 8; constant MEGA_WORKSPACE_LINKS_LIMIT (line 3) | const MEGA_WORKSPACE_LINKS_LIMIT = 1_000_000; constant MIN_PAYOUT_AMOUNT_FOR_REMINDERS (line 4) | const MIN_PAYOUT_AMOUNT_FOR_REMINDERS = 10_00; FILE: apps/web/lib/constants/notification-preferences.ts constant NOTIFICATION_PREFERENCE_TYPES (line 2) | const NOTIFICATION_PREFERENCE_TYPES = [ type NotificationPreferenceType (line 8) | type NotificationPreferenceType = constant NOTIFICATION_PREFERENCE_FIELD_MAP (line 13) | const NOTIFICATION_PREFERENCE_FIELD_MAP: Record< constant DEFAULT_NOTIFICATION_PREFERENCES (line 23) | const DEFAULT_NOTIFICATION_PREFERENCES: Record< constant NOTIFICATION_PREFERENCE_LABELS (line 32) | const NOTIFICATION_PREFERENCE_LABELS: Record< FILE: apps/web/lib/constants/partner-profile.ts constant MAX_INVITES_PER_REQUEST (line 3) | const MAX_INVITES_PER_REQUEST = 5; constant MAX_PARTNER_USERS (line 4) | const MAX_PARTNER_USERS = 10; constant MAX_PARTNER_LINKS_FOR_LOCAL_FILTERING (line 5) | const MAX_PARTNER_LINKS_FOR_LOCAL_FILTERING = 100; constant LARGE_PROGRAM_IDS (line 7) | const LARGE_PROGRAM_IDS = ["prog_1K0QHV7MP3PR05CJSCF5VN93X"]; constant LARGE_PROGRAM_MIN_TOTAL_COMMISSIONS_CENTS (line 8) | const LARGE_PROGRAM_MIN_TOTAL_COMMISSIONS_CENTS = 500000; constant EXCLUDED_PROGRAM_IDS (line 10) | const EXCLUDED_PROGRAM_IDS = [ constant PARTNER_NETWORK_MIN_COMMISSIONS_CENTS (line 15) | const PARTNER_NETWORK_MIN_COMMISSIONS_CENTS = 10_00; constant PARTNER_CUSTOMERS_MAX_PAGE_SIZE (line 17) | const PARTNER_CUSTOMERS_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/constants/payouts-supported-countries.ts constant PAYOUT_SUPPORTED_COUNTRIES (line 9) | const PAYOUT_SUPPORTED_COUNTRIES = [ FILE: apps/web/lib/constants/payouts.ts constant PAYOUT_HOLDING_PERIOD_DAYS (line 4) | const PAYOUT_HOLDING_PERIOD_DAYS = [0, 7, 14, 30, 60, 90]; constant ALLOWED_MIN_PAYOUT_AMOUNTS (line 5) | const ALLOWED_MIN_PAYOUT_AMOUNTS = [0, 1000, 2000, 5000, 10000]; constant PAYOUTS_SHEET_ITEMS_LIMIT (line 7) | const PAYOUTS_SHEET_ITEMS_LIMIT = 10; constant ELIGIBLE_PAYOUTS_MAX_PAGE_SIZE (line 8) | const ELIGIBLE_PAYOUTS_MAX_PAGE_SIZE = 500; constant CUTOFF_PERIOD_MAX_PAYOUTS (line 9) | const CUTOFF_PERIOD_MAX_PAYOUTS = 1000; constant STABLECOIN_PAYOUT_FEE_RATE (line 11) | const STABLECOIN_PAYOUT_FEE_RATE = 0.005; constant FAST_ACH_FEE_CENTS (line 12) | const FAST_ACH_FEE_CENTS = 2500; constant PAYOUT_FAILURE_FEE_CENTS (line 13) | const PAYOUT_FAILURE_FEE_CENTS = 1000; constant FOREX_MARKUP_RATE (line 14) | const FOREX_MARKUP_RATE = 0.005; constant INVOICE_MIN_PAYOUT_AMOUNT_CENTS (line 16) | const INVOICE_MIN_PAYOUT_AMOUNT_CENTS = 1000; constant MIN_WITHDRAWAL_AMOUNT_CENTS (line 17) | const MIN_WITHDRAWAL_AMOUNT_CENTS = 1000; constant BELOW_MIN_WITHDRAWAL_FEE_CENTS (line 18) | const BELOW_MIN_WITHDRAWAL_FEE_CENTS = 50; constant MIN_FORCE_WITHDRAWAL_AMOUNT_CENTS (line 19) | const MIN_FORCE_WITHDRAWAL_AMOUNT_CENTS = 100; constant DIRECT_DEBIT_PAYMENT_TYPES_INFO (line 22) | const DIRECT_DEBIT_PAYMENT_TYPES_INFO: { constant DIRECT_DEBIT_PAYMENT_METHOD_TYPES (line 62) | const DIRECT_DEBIT_PAYMENT_METHOD_TYPES: Stripe.PaymentMethod.Type[] = [ constant PAYMENT_METHOD_TYPES (line 68) | const PAYMENT_METHOD_TYPES: Stripe.PaymentMethod.Type[] = [ constant STRIPE_PAYMENT_METHOD_NORMALIZATION (line 74) | const STRIPE_PAYMENT_METHOD_NORMALIZATION = { constant INVOICE_PAYMENT_METHODS (line 82) | const INVOICE_PAYMENT_METHODS = Object.freeze({ constant INVOICE_AVAILABLE_PAYOUT_STATUSES (line 105) | const INVOICE_AVAILABLE_PAYOUT_STATUSES = [ constant VERIFIED_BANK_ACCOUNT_DESCRIPTION (line 111) | const VERIFIED_BANK_ACCOUNT_DESCRIPTION = { constant BANK_ACCOUNT_STATUS_DESCRIPTIONS (line 118) | const BANK_ACCOUNT_STATUS_DESCRIPTIONS: Record< FILE: apps/web/lib/constants/program.ts constant PROGRAM_ONBOARDING_PARTNERS_LIMIT (line 3) | const PROGRAM_ONBOARDING_PARTNERS_LIMIT = 5; constant MAX_PARTNERS_INVITES_PER_REQUEST (line 4) | const MAX_PARTNERS_INVITES_PER_REQUEST = 50; constant MAX_PROGRAM_CATEGORIES (line 6) | const MAX_PROGRAM_CATEGORIES = 3; constant PROGRAM_SIMILARITY_SCORE_THRESHOLD (line 7) | const PROGRAM_SIMILARITY_SCORE_THRESHOLD = 0.3; constant PROGRAM_IMPORT_SOURCES (line 9) | const PROGRAM_IMPORT_SOURCES = [ constant PROGRAM_APPLICATION_IMAGE_MAX_FILE_SIZE_MB (line 36) | const PROGRAM_APPLICATION_IMAGE_MAX_FILE_SIZE_MB = 5; constant PROGRAM_APPLICATION_IMAGE_ALLOWED_TYPES (line 38) | const PROGRAM_APPLICATION_IMAGE_ALLOWED_TYPES = [ constant PROGRAM_APPLICATION_IMAGE_ALLOWED_TYPES_LABEL (line 44) | const PROGRAM_APPLICATION_IMAGE_ALLOWED_TYPES_LABEL = "JPG, PNG, WebP"; constant EXTERNAL_PAYOUTS_PROGRAM_IDS (line 46) | const EXTERNAL_PAYOUTS_PROGRAM_IDS = [ FILE: apps/web/lib/cron/enqueue-batch-jobs.ts type EnqueueBatchJobsProps (line 5) | type EnqueueBatchJobsProps = PublishBatchRequest & { function enqueueBatchJobs (line 14) | async function enqueueBatchJobs(jobs: EnqueueBatchJobsProps[]) { FILE: apps/web/lib/cron/index.ts constant CRON_BATCH_SIZE (line 8) | const CRON_BATCH_SIZE = 100; FILE: apps/web/lib/cron/qstash-workflow-logger.ts type LogData (line 1) | type LogData = { type ErrorData (line 6) | type ErrorData = { function createWorkflowLogger (line 13) | function createWorkflowLogger({ FILE: apps/web/lib/cron/qstash-workflow.ts constant WORKFLOW_RETRIES (line 8) | const WORKFLOW_RETRIES = 3; constant WORKFLOW_PARALLELISM (line 9) | const WORKFLOW_PARALLELISM = 20; type WorkflowIds (line 11) | type WorkflowIds = "partner-approved"; type QStashWorkflow (line 13) | interface QStashWorkflow { function triggerWorkflows (line 19) | async function triggerWorkflows( FILE: apps/web/lib/cron/with-cron.ts type WithCronHandler (line 7) | interface WithCronHandler { FILE: apps/web/lib/customers/api/customer-count-where.ts type CustomerCountFilters (line 6) | type CustomerCountFilters = z.infer... function buildCustomerCountWhere (line 10) | function buildCustomerCountWhere(filters: CustomerCountFilters) { FILE: apps/web/lib/customers/api/fetch-customers-batch.ts type CustomersExportFilters (line 5) | type CustomersExportFilters = z.infer... function getCustomers (line 11) | async function getCustomers(filters: GetCustomersInput) { FILE: apps/web/lib/dynadot/constants.ts constant DYNADOT_BASE_URL (line 1) | const DYNADOT_BASE_URL = constant DYNADOT_API_KEY (line 3) | const DYNADOT_API_KEY = process.env.DYNADOT_API_KEY || ""; constant DYNADOT_COUPON (line 4) | const DYNADOT_COUPON = process.env.DYNADOT_COUPON || ""; constant DOMAIN_REGISTRATION_ELIGIBLE_WORKSPACES (line 7) | const DOMAIN_REGISTRATION_ELIGIBLE_WORKSPACES = [ FILE: apps/web/lib/dynadot/register-domain.ts constant ERROR_CODES (line 26) | const ERROR_CODES = { FILE: apps/web/lib/edge-config/get-feature-flags.ts type BetaFeaturesRecord (line 5) | type BetaFeaturesRecord = Record; FILE: apps/web/lib/edge-config/get-partner-feature-flags.ts type PartnerBetaFeaturesRecord (line 4) | type PartnerBetaFeaturesRecord = Partial any> = constant BATCH_SIZE (line 12) | const BATCH_SIZE = 100; function queueBatchEmail (line 18) | async function queueBatchEmail any>( FILE: apps/web/lib/email/unsubscribe-token.ts constant TOKEN_SECRET (line 3) | const TOKEN_SECRET = function generateUnsubscribeToken (line 10) | function generateUnsubscribeToken(email: string): string { function verifyUnsubscribeToken (line 27) | function verifyUnsubscribeToken(token: string): string | null { FILE: apps/web/lib/embed/constants.ts constant EMBED_PUBLIC_TOKEN_PREFIX (line 2) | const EMBED_PUBLIC_TOKEN_PREFIX = "dub_embed_"; constant PARTNER_LINKS_LIMIT (line 4) | const PARTNER_LINKS_LIMIT = 10; constant EMBED_PUBLIC_TOKEN_EXPIRY (line 6) | const EMBED_PUBLIC_TOKEN_EXPIRY = 3 * 60 * 60; FILE: apps/web/lib/embed/referrals/auth.ts type WithReferralsEmbedTokenHandler (line 11) | interface WithReferralsEmbedTokenHandler { FILE: apps/web/lib/embed/referrals/token-class.ts type ReferralsEmbedTokenProps (line 8) | interface ReferralsEmbedTokenProps { class ReferralsEmbedToken (line 13) | class ReferralsEmbedToken { method create (line 14) | async create(props: ReferralsEmbedTokenProps) { method get (line 30) | async get(token: string) { FILE: apps/web/lib/fetchers/get-program.ts type Result (line 8) | type Result = Program & { FILE: apps/web/lib/firstpromoter/api.ts class FirstPromoterApi (line 10) | class FirstPromoterApi { method constructor (line 15) | constructor({ apiKey, accountId }: { apiKey: string; accountId: string... method fetch (line 20) | private async fetch(path: string): Promise { method testConnection (line 38) | async testConnection() { method listCampaigns (line 47) | async listCampaigns({ page }: { page?: number }) { method listPartners (line 60) | async listPartners({ page }: { page?: number }) { method listCustomers (line 78) | async listCustomers({ page }: { page?: number }) { method listCommissions (line 96) | async listCommissions({ page }: { page?: number }) { FILE: apps/web/lib/firstpromoter/import-campaigns.ts function importCampaigns (line 11) | async function importCampaigns(payload: FirstPromoterImportPayload) { FILE: apps/web/lib/firstpromoter/import-commissions.ts function importCommissions (line 29) | async function importCommissions(payload: FirstPromoterImportPayload) { function createCommission (line 152) | async function createCommission({ FILE: apps/web/lib/firstpromoter/import-customers.ts function importCustomers (line 14) | async function importCustomers(payload: FirstPromoterImportPayload) { function createCustomer (line 173) | async function createCustomer({ FILE: apps/web/lib/firstpromoter/import-partners.ts function importPartners (line 17) | async function importPartners(payload: FirstPromoterImportPayload) { function createPartnerAndLinks (line 106) | async function createPartnerAndLinks({ FILE: apps/web/lib/firstpromoter/importer.ts constant PAGE_LIMIT (line 6) | const PAGE_LIMIT = 100; constant MAX_BATCHES (line 7) | const MAX_BATCHES = 10; constant CACHE_EXPIRY (line 8) | const CACHE_EXPIRY = 60 * 60 * 24; constant CACHE_KEY_PREFIX (line 9) | const CACHE_KEY_PREFIX = "firstpromoter:import"; class FirstPromoterImporter (line 11) | class FirstPromoterImporter { method setCredentials (line 12) | async setCredentials(workspaceId: string, payload: FirstPromoterCreden... method getCredentials (line 18) | async getCredentials(workspaceId: string): Promise; type FirstPromoterCustomer (line 20) | type FirstPromoterCustomer = z.infer; type FirstPromoterCommission (line 22) | type FirstPromoterCommission = z.infer< FILE: apps/web/lib/firstpromoter/update-stripe-customers.ts constant CUSTOMERS_PER_BATCH (line 9) | const CUSTOMERS_PER_BATCH = 20; function updateStripeCustomers (line 17) | async function updateStripeCustomers( function searchStripeAndUpdateCustomer (line 99) | async function searchStripeAndUpdateCustomer({ FILE: apps/web/lib/folder/constants.ts constant FOLDER_WORKSPACE_ACCESS (line 4) | const FOLDER_WORKSPACE_ACCESS: Record = { constant FOLDER_USER_ROLE (line 9) | const FOLDER_USER_ROLE: Record = { constant FOLDER_PERMISSIONS (line 15) | const FOLDER_PERMISSIONS = [ constant FOLDER_WORKSPACE_ACCESS_TO_FOLDER_USER_ROLE (line 22) | const FOLDER_WORKSPACE_ACCESS_TO_FOLDER_USER_ROLE: Record< constant FOLDER_USER_ROLE_TO_PERMISSIONS (line 30) | const FOLDER_USER_ROLE_TO_PERMISSIONS: Record< FILE: apps/web/lib/get-highest-severity.ts function getHighestSeverity (line 4) | function getHighestSeverity( FILE: apps/web/lib/get-integration-guide-markdown.ts function getIntegrationGuideMarkdown (line 6) | async function getIntegrationGuideMarkdown( FILE: apps/web/lib/hooks/use-synced-local-storage.ts function useSyncedLocalStorage (line 21) | function useSyncedLocalStorage( FILE: apps/web/lib/integrations/common/ui/configure-webhook.tsx function ConfigureWebhook (line 21) | function ConfigureWebhook({ FILE: apps/web/lib/integrations/hubspot/api.ts type FetchOptions (line 3) | type FetchOptions = Omit & { class HubSpotApi (line 7) | class HubSpotApi { method constructor (line 11) | constructor({ token }: { token: string }) { method fetch (line 15) | private async fetch( method getContact (line 55) | async getContact(contactId: number | string) { method getDeal (line 71) | async getDeal(dealId: number) { method updateContact (line 85) | async updateContact({ method createPropertiesBatch (line 110) | async createPropertiesBatch({ FILE: apps/web/lib/integrations/hubspot/constants.ts constant HUBSPOT_OBJECT_TYPE_IDS (line 1) | const HUBSPOT_OBJECT_TYPE_IDS = [ constant HUBSPOT_DEFAULT_SETTINGS (line 6) | const HUBSPOT_DEFAULT_SETTINGS = { constant LEAD_TRIGGER_EVENT_OPTIONS (line 11) | const LEAD_TRIGGER_EVENT_OPTIONS = [ constant HUBSPOT_DUB_CONTACT_PROPERTIES (line 16) | const HUBSPOT_DUB_CONTACT_PROPERTIES = [ FILE: apps/web/lib/integrations/hubspot/oauth.ts class HubSpotOAuthProvider (line 8) | class HubSpotOAuthProvider extends OAuthProvider< method constructor (line 11) | constructor(provider: OAuthProviderConfig { class OAuthProvider (line 25) | class OAuthProvider { method constructor (line 26) | constructor(private provider: OAuthProviderConfig) {} method generateAuthUrl (line 29) | async generateAuthUrl(contextId: string | Record) { method exchangeCodeForToken (line 47) | async exchangeCodeForToken(request: Request): Promise<{ method refreshToken (line 144) | async refreshToken(refreshToken: string): Promise> { FILE: apps/web/lib/integrations/segment/ui/set-write-key.tsx function SetWriteKey (line 12) | function SetWriteKey({ FILE: apps/web/lib/integrations/shopify/create-lead.ts function createShopifyLead (line 16) | async function createShopifyLead({ FILE: apps/web/lib/integrations/shopify/create-sale.ts function createShopifySale (line 18) | async function createShopifySale({ FILE: apps/web/lib/integrations/shopify/process-order.ts function processOrder (line 7) | async function processOrder({ FILE: apps/web/lib/integrations/slack/oauth.ts class SlackOAuthProvider (line 8) | class SlackOAuthProvider extends OAuthProvider) { method uninstall (line 13) | async uninstall(installation: InstalledIntegration) { FILE: apps/web/lib/integrations/slack/verify-request.ts type SlackRequestVerificationOptions (line 3) | interface SlackRequestVerificationOptions { FILE: apps/web/lib/integrations/stripe/ui/settings.tsx constant STRIPE_DEFAULT_SETTINGS (line 14) | const STRIPE_DEFAULT_SETTINGS = { method onSuccess (line 62) | async onSuccess() { method onError (line 68) | onError({ error }) { FILE: apps/web/lib/integrations/types.ts type HubSpotAuthToken (line 4) | type HubSpotAuthToken = z.infer; type HubSpotContact (line 6) | type HubSpotContact = z.infer; type SlackAuthToken (line 8) | type SlackAuthToken = { FILE: apps/web/lib/is-generic-email.ts constant GENERIC_EMAIL_DOMAINS (line 3) | const GENERIC_EMAIL_DOMAINS = [ constant GENERIC_EMAIL_DOMAIN_PREFIXES (line 34) | const GENERIC_EMAIL_DOMAIN_PREFIXES = [ FILE: apps/web/lib/jackson.ts function jackson (line 42) | async function jackson() { FILE: apps/web/lib/links/links-display.ts type LinksViewMode (line 3) | type LinksViewMode = (typeof linksViewModes)[number]; type LinksSortSlug (line 24) | type LinksSortSlug = (typeof linksSortOptions)[number]["slug"]; type LinksDisplayProperty (line 54) | type LinksDisplayProperty = (typeof linksDisplayPropertyIds)[number]; FILE: apps/web/lib/middleware/admin.ts function AdminMiddleware (line 7) | async function AdminMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/api.ts function ApiMiddleware (line 4) | function ApiMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/app.ts function AppMiddleware (line 16) | async function AppMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/create-link.ts function CreateLinkMiddleware (line 5) | function CreateLinkMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/embed.ts function EmbedMiddleware (line 4) | function EmbedMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/link.ts function LinkMiddleware (line 39) | async function LinkMiddleware(req: NextRequest, ev: NextFetchEvent) { FILE: apps/web/lib/middleware/new-link.ts function NewLinkMiddleware (line 7) | async function NewLinkMiddleware(req: NextRequest, user: UserProps) { FILE: apps/web/lib/middleware/partners.ts constant AUTHENTICATED_PATHS (line 11) | const AUTHENTICATED_PATHS = [ function PartnersMiddleware (line 24) | async function PartnersMiddleware(req: NextRequest) { FILE: apps/web/lib/middleware/utils/app-redirect.ts constant APP_REDIRECTS (line 4) | const APP_REDIRECTS = { constant PROGRAM_REDIRECTS (line 16) | const PROGRAM_REDIRECTS = { FILE: apps/web/lib/middleware/utils/bots-list.ts constant UA_BOTS (line 1) | const UA_BOTS = [ constant REFERRER_BOTS (line 106) | const REFERRER_BOTS = [ constant IP_BOTS (line 115) | const IP_BOTS = [ constant IP_RANGES_BOTS (line 165) | const IP_RANGES_BOTS = [ FILE: apps/web/lib/middleware/utils/cache-deeplink-click-data.ts type DeepLinkClickData (line 5) | type DeepLinkClickData = { function cacheDeepLinkClickData (line 10) | async function cacheDeepLinkClickData({ FILE: apps/web/lib/middleware/utils/crawl-bitly.ts constant BUFFER_WORKSPACE_ID (line 29) | const BUFFER_WORKSPACE_ID = "cm05wnnpo000711ztj05wwdbu"; function fetchBitlyLink (line 31) | async function fetchBitlyLink({ FILE: apps/web/lib/middleware/utils/create-response-with-cookies.ts function createResponseWithCookies (line 3) | function createResponseWithCookies( FILE: apps/web/lib/middleware/utils/get-default-partner.ts function getDefaultPartnerId (line 4) | async function getDefaultPartnerId(user: UserProps) { FILE: apps/web/lib/middleware/utils/get-default-workspace.ts function getDefaultWorkspace (line 4) | async function getDefaultWorkspace(user: UserProps) { FILE: apps/web/lib/middleware/utils/get-identity-hash.ts function getIdentityHash (line 8) | async function getIdentityHash(req: Request) { FILE: apps/web/lib/middleware/utils/get-user-via-token.ts function getUserViaToken (line 5) | async function getUserViaToken(req: NextRequest) { FILE: apps/web/lib/middleware/utils/has-pending-invites.ts function hasPendingInvites (line 5) | async function hasPendingInvites({ FILE: apps/web/lib/middleware/utils/is-valid-internal-redirect.ts function isValidInternalRedirect (line 4) | function isValidInternalRedirect({ function getValidInternalRedirectPath (line 23) | function getValidInternalRedirectPath({ FILE: apps/web/lib/middleware/utils/partners-redirect.ts constant PARTNERS_REDIRECTS (line 1) | const PARTNERS_REDIRECTS = { constant PARTNERS_PROGRAM_REDIRECTS (line 17) | const PARTNERS_PROGRAM_REDIRECTS = { FILE: apps/web/lib/middleware/workspaces.ts function WorkspacesMiddleware (line 10) | async function WorkspacesMiddleware(req: NextRequest, user: UserProps) { FILE: apps/web/lib/network/get-discoverability-requirements.ts type ProgramEnrollmentsForDiscoverability (line 10) | type ProgramEnrollmentsForDiscoverability = (Pick< function getDiscoverabilityRequirements (line 35) | function getDiscoverabilityRequirements({ FILE: apps/web/lib/network/get-partner-profile-checklist-progress.ts function getPartnerProfileChecklistProgress (line 4) | function getPartnerProfileChecklistProgress({ FILE: apps/web/lib/network/program-categories.ts constant PROGRAM_CATEGORIES (line 17) | const PROGRAM_CATEGORIES: { constant PROGRAM_CATEGORIES_MAP (line 79) | const PROGRAM_CATEGORIES_MAP: Partial< FILE: apps/web/lib/next-auth.d.ts type User (line 4) | interface User { FILE: apps/web/lib/onboarding/types.ts constant ONBOARDING_STEPS (line 1) | const ONBOARDING_STEPS = [ type OnboardingStep (line 14) | type OnboardingStep = (typeof ONBOARDING_STEPS)[number]; FILE: apps/web/lib/partners/aggregate-partner-links-stats.ts function aggregatePartnerLinksStats (line 4) | function aggregatePartnerLinksStats( FILE: apps/web/lib/partners/approve-partner-enrollment.ts function approvePartnerEnrollment (line 7) | async function approvePartnerEnrollment({ FILE: apps/web/lib/partners/calculate-payout-fee-with-waiver.ts type PayoutFeeWithWaiverParams (line 1) | interface PayoutFeeWithWaiverParams { function calculatePayoutFeeWithWaiver (line 10) | function calculatePayoutFeeWithWaiver({ FILE: apps/web/lib/partners/complete-program-applications.ts function completeProgramApplications (line 21) | async function completeProgramApplications(userEmail: string) { FILE: apps/web/lib/partners/construct-partner-link.ts function constructPartnerLink (line 4) | function constructPartnerLink({ FILE: apps/web/lib/partners/create-partner-commission.ts type CreatePartnerCommissionProps (line 30) | type CreatePartnerCommissionProps = { FILE: apps/web/lib/partners/create-stablecoin-payout.ts type CreateStablecoinPayoutParams (line 19) | interface CreateStablecoinPayoutParams { FILE: apps/web/lib/partners/cutoff-period.ts constant CUTOFF_PERIOD (line 12) | const CUTOFF_PERIOD = [ constant CUTOFF_PERIOD_ENUM (line 40) | const CUTOFF_PERIOD_ENUM = z type CUTOFF_PERIOD_TYPES (line 46) | type CUTOFF_PERIOD_TYPES = z.infer; FILE: apps/web/lib/partners/determine-partner-reward.ts constant REWARD_EVENT_COLUMN_MAPPING (line 13) | const REWARD_EVENT_COLUMN_MAPPING = { type ProgramEnrollmentWithReward (line 19) | interface ProgramEnrollmentWithReward { FILE: apps/web/lib/partners/evaluate-application-requirements.ts type Context (line 4) | interface Context { type Result (line 9) | interface Result { constant DOMAIN_PATTERN (line 21) | const DOMAIN_PATTERN = function isValidDomainPattern (line 24) | function isValidDomainPattern(v: string): boolean { function getEmailDomain (line 28) | function getEmailDomain(email: string): string { function emailMatchesPattern (line 33) | function emailMatchesPattern(email: string, pattern: string): boolean { function evaluateApplicationRequirements (line 45) | function evaluateApplicationRequirements({ function evaluateCondition (line 92) | function evaluateCondition({ FILE: apps/web/lib/partners/format-application-form-data.ts type FormDataKeyValue (line 4) | interface FormDataKeyValue { FILE: apps/web/lib/partners/get-group-rewards-and-discount.ts function getGroupRewardsAndDiscount (line 4) | function getGroupRewardsAndDiscount({ FILE: apps/web/lib/partners/get-payout-methods-for-country.ts function getPayoutMethodsForCountry (line 8) | function getPayoutMethodsForCountry({ FILE: apps/web/lib/partners/partner-platforms.ts constant PARTNER_PLATFORM_FIELDS (line 13) | const PARTNER_PLATFORM_FIELDS: { FILE: apps/web/lib/partners/sanitize-markdown.ts function sanitizeMarkdown (line 15) | function sanitizeMarkdown( FILE: apps/web/lib/partners/sort-rewards-by-event-order.ts constant DEFAULT_REWARD_EVENT_ORDER (line 3) | const DEFAULT_REWARD_EVENT_ORDER = [ function sortRewardsByEventOrder (line 9) | function sortRewardsByEventOrder>( FILE: apps/web/lib/partners/throw-if-no-partnerid-tenantid.ts function throwIfNoPartnerIdOrTenantId (line 5) | function throwIfNoPartnerIdOrTenantId( FILE: apps/web/lib/partnerstack/api.ts constant PAGE_LIMIT (line 17) | const PAGE_LIMIT = 100; class PartnerStackApi (line 19) | class PartnerStackApi { method constructor (line 24) | constructor({ method fetch (line 35) | private async fetch(path: string): Promise { method testConnection (line 57) | async testConnection() { method listGroups (line 66) | async listGroups() { method listPartners (line 77) | async listPartners({ startingAfter }: { startingAfter?: string }) { method listLinks (line 95) | async listLinks({ identifier }: { identifier: string }) { method listCustomers (line 105) | async listCustomers({ startingAfter }: { startingAfter?: string }) { method listCommissions (line 122) | async listCommissions({ FILE: apps/web/lib/partnerstack/import-commissions.ts function importCommissions (line 32) | async function importCommissions(payload: PartnerStackImportPayload) { function createCommission (line 196) | async function createCommission({ FILE: apps/web/lib/partnerstack/import-customers.ts function importCustomers (line 19) | async function importCustomers(payload: PartnerStackImportPayload) { function createCustomer (line 184) | async function createCustomer({ FILE: apps/web/lib/partnerstack/import-groups.ts function importGroups (line 10) | async function importGroups(payload: PartnerStackImportPayload) { FILE: apps/web/lib/partnerstack/import-links.ts function importLinks (line 10) | async function importLinks(payload: PartnerStackImportPayload) { function createPartnerLink (line 120) | async function createPartnerLink({ FILE: apps/web/lib/partnerstack/import-partners.ts constant COUNTRY_NAME_TO_CODE (line 16) | const COUNTRY_NAME_TO_CODE = new Map( function importPartners (line 20) | async function importPartners(payload: PartnerStackImportPayload) { function createPartner (line 115) | async function createPartner({ FILE: apps/web/lib/partnerstack/importer.ts constant MAX_BATCHES (line 8) | const MAX_BATCHES = 5; constant CACHE_EXPIRY (line 9) | const CACHE_EXPIRY = 60 * 60 * 24; constant CACHE_KEY_PREFIX (line 10) | const CACHE_KEY_PREFIX = "partnerStack:import"; constant PARTNER_IDS_KEY_PREFIX (line 11) | const PARTNER_IDS_KEY_PREFIX = "partnerStack:import:partnerIds"; class PartnerStackImporter (line 13) | class PartnerStackImporter { method setCredentials (line 14) | async setCredentials( method getCredentials (line 23) | async getCredentials(workspaceId: string) { method deleteCredentials (line 35) | async deleteCredentials(workspaceId: string) { method queue (line 39) | async queue(body: z.infer) { FILE: apps/web/lib/partnerstack/types.ts type PartnerStackListResponse (line 12) | interface PartnerStackListResponse { type PartnerStackImportPayload (line 18) | type PartnerStackImportPayload = z.infer< type PartnerStackGroup (line 22) | type PartnerStackGroup = z.infer; type PartnerStackPartner (line 24) | type PartnerStackPartner = z.infer; type PartnerStackLink (line 26) | type PartnerStackLink = z.infer; type PartnerStackCustomer (line 28) | type PartnerStackCustomer = z.infer; type PartnerStackCommission (line 30) | type PartnerStackCommission = z.infer; type PartnerStackCredentials (line 32) | type PartnerStackCredentials = z.infer< FILE: apps/web/lib/partnerstack/update-stripe-customers.ts constant CUSTOMERS_PER_BATCH (line 11) | const CUSTOMERS_PER_BATCH = 20; function updateStripeCustomers (line 19) | async function updateStripeCustomers( function searchStripeAndUpdateCustomer (line 134) | async function searchStripeAndUpdateCustomer({ FILE: apps/web/lib/payouts/create-payouts-idempotency-key.ts type CreatePayoutsIdempotencyKeyParams (line 3) | interface CreatePayoutsIdempotencyKeyParams { function createPayoutsIdempotencyKey (line 10) | function createPayoutsIdempotencyKey({ FILE: apps/web/lib/payouts/get-partner-payout-methods.ts function getPartnerPayoutMethods (line 7) | async function getPartnerPayoutMethods( FILE: apps/web/lib/payouts/recompute-partner-payout-state.ts constant PAYOUT_METHOD_PRIORITY (line 7) | const PAYOUT_METHOD_PRIORITY: PartnerPayoutMethod[] = [ function recomputePartnerPayoutState (line 18) | async function recomputePartnerPayoutState( FILE: apps/web/lib/paypal/create-batch-payout.ts type CreatePayPalBatchPayout (line 5) | interface CreatePayPalBatchPayout { function createPayPalBatchPayout (line 14) | async function createPayPalBatchPayout({ FILE: apps/web/lib/paypal/create-paypal-token.ts type PaypalTokenResponse (line 5) | interface PaypalTokenResponse { constant TOKEN_CACHE_KEY (line 10) | const TOKEN_CACHE_KEY = "paypal:token"; function createPaypalToken (line 18) | async function createPaypalToken() { FILE: apps/web/lib/paypal/get-pending-payouts.ts type PaypalPayoutResponse (line 24) | type PaypalPayoutResponse = z.infer; function getPendingPaypalPayouts (line 26) | async function getPendingPaypalPayouts({ FILE: apps/web/lib/paypal/oauth.ts class PayPalOAuthProvider (line 9) | class PayPalOAuthProvider extends OAuthProvider; type SaleEventPostback (line 12) | type SaleEventPostback = z.infer; type CommissionEventPostback (line 13) | type CommissionEventPostback = z.infer> { class PostbackSlackAdapter (line 22) | class PostbackSlackAdapter extends PostbackAdapter { method constructor (line 23) | constructor(postback: Postback) { method registerEventTransformers (line 27) | protected registerEventTransformers() { function escapeSlackText (line 48) | function escapeSlackText(value: string | null | undefined) { FILE: apps/web/lib/postback/api/postback-adapters.ts type PostbackPayload (line 8) | interface PostbackPayload { method constructor (line 18) | constructor(protected postback: Postback) { method execute (line 24) | async execute(payload: PostbackPayload) { function buildCallbackUrl (line 71) | function buildCallbackUrl(base: string, params: Record):... FILE: apps/web/lib/postback/api/postback-event-enrichers.ts type PostbackEventEnricher (line 10) | interface PostbackEventEnricher { class PostbackEventEnrichers (line 14) | class PostbackEventEnrichers { method register (line 17) | register(event: PostbackTrigger, enricher: PostbackEventEnricher) { method enrich (line 29) | enrich(event: PostbackTrigger, data: Record) { method has (line 41) | has(event: PostbackTrigger) { FILE: apps/web/lib/postback/api/postback-event-transformers.ts type PostbackPayload (line 3) | interface PostbackPayload { type PostbackEventTransformer (line 10) | interface PostbackEventTransformer { class PostbackEventTransformers (line 14) | class PostbackEventTransformers { method register (line 17) | register(event: PostbackTrigger, transformer: PostbackEventTransformer) { method transform (line 29) | transform(payload: PostbackPayload) { FILE: apps/web/lib/postback/api/send-partner-postback.ts type SendPartnerPostbackParams (line 9) | interface SendPartnerPostbackParams { FILE: apps/web/lib/postback/api/utils.ts constant POSTBACK_URL_RECEIVERS (line 1) | const POSTBACK_URL_RECEIVERS: Record = { FILE: apps/web/lib/postback/constants.ts constant POSTBACK_SECRET_LENGTH (line 1) | const POSTBACK_SECRET_LENGTH = 16; constant POSTBACK_SECRET_PREFIX (line 3) | const POSTBACK_SECRET_PREFIX = "pbsec_"; constant POSTBACK_EVENT_ID_PREFIX (line 5) | const POSTBACK_EVENT_ID_PREFIX = "evt_"; constant POSTBACK_TRIGGERS (line 7) | const POSTBACK_TRIGGERS = [ constant POSTBACK_TRIGGER_DESCRIPTIONS (line 13) | const POSTBACK_TRIGGER_DESCRIPTIONS: Record = { constant MAX_POSTBACKS (line 19) | const MAX_POSTBACKS = 5; FILE: apps/web/lib/qr/api.tsx function getQRAsSVG (line 13) | async function getQRAsSVG(props: QRPropsSVG) { FILE: apps/web/lib/qr/codegen.ts type bit (line 10) | type bit = number; type byte (line 11) | type byte = number; type int (line 12) | type int = number; class QrCode (line 32) | class QrCode { method encodeText (line 40) | public static encodeText(text: string, ecl: QrCode.Ecc): QrCode { method encodeBinary (line 49) | public static encodeBinary( method encodeSegments (line 68) | public static encodeSegments( method constructor (line 177) | public constructor( method getModule (line 236) | public getModule(x: int, y: int): boolean { method getModules (line 243) | public getModules() { method drawFunctionPatterns (line 250) | private drawFunctionPatterns(): void { method drawFormatBits (line 286) | private drawFormatBits(mask: int): void { method drawVersion (line 313) | private drawVersion(): void { method drawFinderPattern (line 334) | private drawFinderPattern(x: int, y: int): void { method drawAlignmentPattern (line 348) | private drawAlignmentPattern(x: int, y: int): void { method setFunctionModule (line 361) | private setFunctionModule(x: int, y: int, isDark: boolean): void { method addEccAndInterleave (line 370) | private addEccAndInterleave(data: Readonly>): Array { method drawCodewords (line 415) | private drawCodewords(data: Readonly>): void { method applyMask (line 448) | private applyMask(mask: int): void { method getPenaltyScore (line 489) | private getPenaltyScore(): int { method getAlignmentPatternPositions (line 570) | private getAlignmentPatternPositions(): Array { method getNumRawDataModules (line 588) | private static getNumRawDataModules(ver: int): int { method getNumDataCodewords (line 604) | private static getNumDataCodewords(ver: int, ecl: QrCode.Ecc): int { method reedSolomonComputeDivisor (line 614) | private static reedSolomonComputeDivisor(degree: int): Array { method reedSolomonComputeRemainder (line 639) | private static reedSolomonComputeRemainder( method reedSolomonMultiply (line 657) | private static reedSolomonMultiply(x: byte, y: byte): byte { method finderPenaltyCountPatterns (line 672) | private finderPenaltyCountPatterns(runHistory: Readonly>): ... method finderPenaltyTerminateAndCount (line 688) | private finderPenaltyTerminateAndCount( method finderPenaltyAddHistory (line 704) | private finderPenaltyAddHistory( function appendBits (line 778) | function appendBits(val: int, len: int, bb: Array): void { function getBit (line 790) | function getBit(x: int, i: int): boolean { function assert (line 795) | function assert(cond: boolean): void { class QrSegment (line 812) | class QrSegment { method makeBytes (line 818) | public static makeBytes(data: Readonly>): QrSegment { method makeNumeric (line 825) | public static makeNumeric(digits: string): QrSegment { method makeAlphanumeric (line 841) | public static makeAlphanumeric(text: string): QrSegment { method makeSegments (line 867) | public static makeSegments(text: string): Array { method makeEci (line 878) | public static makeEci(assignVal: int): QrSegment { method isNumeric (line 895) | public static isNumeric(text: string): boolean { method isAlphanumeric (line 902) | public static isAlphanumeric(text: string): boolean { method constructor (line 911) | public constructor( method getData (line 930) | public getData(): Array { method getTotalBits (line 936) | public static getTotalBits( method toUtf8ByteArray (line 950) | private static toUtf8ByteArray(str: string): Array { type int (line 982) | type int = number; class Ecc (line 987) | class Ecc { method constructor (line 997) | private constructor( type int (line 1009) | type int = number; class Mode (line 1014) | class Mode { method constructor (line 1025) | private constructor( method numCharCountBits (line 1036) | public numCharCountBits(ver: int): int { FILE: apps/web/lib/qr/constants.ts constant ERROR_LEVEL_MAP (line 3) | const ERROR_LEVEL_MAP: { [index: string]: qrcodegen.QrCode.Ecc } = { constant DEFAULT_SIZE (line 10) | const DEFAULT_SIZE = 128; constant DEFAULT_LEVEL (line 11) | const DEFAULT_LEVEL = "L"; constant DEFAULT_BGCOLOR (line 12) | const DEFAULT_BGCOLOR = "#FFFFFF"; constant DEFAULT_FGCOLOR (line 13) | const DEFAULT_FGCOLOR = "#000000"; constant DEFAULT_MARGIN (line 14) | const DEFAULT_MARGIN = 2; constant QR_LEVELS (line 16) | const QR_LEVELS = ["L", "M", "Q", "H"] as const; constant DEFAULT_IMG_SCALE (line 22) | const DEFAULT_IMG_SCALE = 0.1; FILE: apps/web/lib/qr/index.tsx function QRCodeCanvas (line 27) | function QRCodeCanvas(props: QRPropsCanvas) { function getQRAsSVGDataUri (line 162) | async function getQRAsSVGDataUri(props: QRProps) { function waitUntilImageLoaded (line 241) | function waitUntilImageLoaded(img: HTMLImageElement, src: string) { function getQRAsCanvas (line 255) | async function getQRAsCanvas( function getQRData (line 342) | function getQRData({ FILE: apps/web/lib/qr/types.ts type Modules (line 4) | type Modules = ReturnType; type Excavation (line 5) | type Excavation = { x: number; y: number; w: number; h: number }; type ImageSettings (line 7) | type ImageSettings = { type QRProps (line 16) | type QRProps = { type QRPropsCanvas (line 27) | type QRPropsCanvas = QRProps & type QRPropsSVG (line 29) | type QRPropsSVG = QRProps & React.SVGProps; FILE: apps/web/lib/qr/utils.tsx function excavateModules (line 17) | function excavateModules( function generatePath (line 34) | function generatePath(modules: Modules, margin = 0): string { function getImageSettings (line 78) | function getImageSettings( function convertImageSettingsToPixels (line 118) | function convertImageSettingsToPixels( function QRCodeSVG (line 139) | function QRCodeSVG(props: QRPropsSVG) { constant SUPPORTS_PATH2D (line 245) | const SUPPORTS_PATH2D = (function () { FILE: apps/web/lib/referrals/constants.ts constant REFERRAL_FORM_REQUIRED_FIELDS (line 8) | const REFERRAL_FORM_REQUIRED_FIELDS: z.infer[] = constant REFERRAL_FORM_REQUIRED_FIELD_KEYS (line 37) | const REFERRAL_FORM_REQUIRED_FIELD_KEYS = new Set( constant REFERRAL_FORM_FIELD_INPUT_PROPS (line 42) | const REFERRAL_FORM_FIELD_INPUT_PROPS: Record< constant REFERRAL_ENABLED_PROGRAM_IDS (line 51) | const REFERRAL_ENABLED_PROGRAM_IDS = [ constant REFERRAL_STATUS_TO_ACTIVITY_ACTION (line 57) | const REFERRAL_STATUS_TO_ACTIVITY_ACTION: Record< constant REFERRAL_STATUS_TRANSITIONS (line 70) | const REFERRAL_STATUS_TRANSITIONS: Record< FILE: apps/web/lib/rewardful/api.ts constant PAGE_LIMIT (line 10) | const PAGE_LIMIT = 100; class RewardfulApiError (line 12) | class RewardfulApiError extends DubApiError { method constructor (line 13) | constructor(message: string) { class RewardfulApi (line 21) | class RewardfulApi { method constructor (line 25) | constructor({ token }: { token: string }) { method fetch (line 29) | private async fetch(url: string): Promise { method listCampaigns (line 47) | async listCampaigns() { method listPartners (line 55) | async listPartners({ page = 1 }: { page?: number }) { method listCustomers (line 69) | async listCustomers({ page = 1 }: { page?: number }) { method listCommissions (line 84) | async listCommissions({ page = 1 }: { page?: number }) { method listAffiliateCoupons (line 98) | async listAffiliateCoupons({ page = 1 }: { page?: number }) { FILE: apps/web/lib/rewardful/import-affiliate-coupons.ts function importAffiliateCoupons (line 10) | async function importAffiliateCoupons(payload: RewardfulImportPayload) { FILE: apps/web/lib/rewardful/import-campaigns.ts function importCampaigns (line 24) | async function importCampaigns(payload: RewardfulImportPayload) { FILE: apps/web/lib/rewardful/import-commissions.ts function importCommissions (line 29) | async function importCommissions(payload: RewardfulImportPayload) { function createCommission (line 135) | async function createCommission({ FILE: apps/web/lib/rewardful/import-customers.ts function importCustomers (line 15) | async function importCustomers(payload: RewardfulImportPayload) { function createCustomer (line 89) | async function createCustomer({ FILE: apps/web/lib/rewardful/import-partners.ts function importPartners (line 12) | async function importPartners(payload: RewardfulImportPayload) { function createPartnerAndLinks (line 154) | async function createPartnerAndLinks({ FILE: apps/web/lib/rewardful/importer.ts constant MAX_BATCHES (line 8) | const MAX_BATCHES = 10; constant CACHE_EXPIRY (line 11) | const CACHE_EXPIRY = 60 * 60 * 24; constant CACHE_KEY_PREFIX (line 12) | const CACHE_KEY_PREFIX = "rewardful:import"; class RewardfulImporter (line 14) | class RewardfulImporter { method setCredentials (line 15) | async setCredentials(workspaceId: string, payload: RewardfulCredential... method getCredentials (line 21) | async getCredentials(workspaceId: string): Promise( function polyfillSocialMediaFields (line 126) | function polyfillSocialMediaFields< FILE: apps/web/lib/storage.ts type imageOptions (line 4) | interface imageOptions { type BucketType (line 11) | type BucketType = "public" | "private"; class StorageClient (line 13) | class StorageClient { method constructor (line 16) | constructor() { method upload (line 25) | async upload({ method delete (line 81) | async delete({ method getSignedUrl (line 105) | async getSignedUrl({ method getSignedUploadUrl (line 141) | async getSignedUploadUrl(opts: { method getSignedDownloadUrl (line 158) | async getSignedDownloadUrl(opts: { method base64ToArrayBuffer (line 171) | private base64ToArrayBuffer(base64: string, opts?: imageOptions) { method isBase64 (line 188) | private isBase64(str: string) { method isUrl (line 198) | private isUrl(str: string): boolean { method urlToBlob (line 207) | private async urlToBlob(url: string, opts?: imageOptions): Promise { type ApiResponse (line 13) | interface ApiResponse { type ApiError (line 21) | interface ApiError { function useApiMutation (line 33) | function useApiMutation< FILE: apps/web/lib/swr/use-bounty-submissions-count.ts type SubmissionsCountByStatus (line 8) | interface SubmissionsCountByStatus { function useBountySubmissionsCount (line 13) | function useBountySubmissionsCount({ FILE: apps/web/lib/swr/use-bounty.ts function useBounty (line 7) | function useBounty() { FILE: apps/web/lib/swr/use-commission.ts function useCommission (line 9) | function useCommission() { FILE: apps/web/lib/swr/use-commissions-count.ts function useCommissionsCount (line 7) | function useCommissionsCount(opts?: Record) { FILE: apps/web/lib/swr/use-commissions-timeseries.ts type Commission (line 7) | interface Commission { function useCommissionsTimeseries (line 12) | function useCommissionsTimeseries( FILE: apps/web/lib/swr/use-current-folder-id.ts function useCurrentFolderId (line 6) | function useCurrentFolderId() { FILE: apps/web/lib/swr/use-customer-activity.ts function useCustomerActivity (line 6) | function useCustomerActivity({ FILE: apps/web/lib/swr/use-customer.ts function useCustomer (line 12) | function useCustomer< FILE: apps/web/lib/swr/use-customers-count.ts function useCustomersCount (line 8) | function useCustomersCount({ FILE: apps/web/lib/swr/use-customers.ts function useCustomers (line 11) | function useCustomers({ FILE: apps/web/lib/swr/use-default-domains.ts function useDefaultDomains (line 6) | function useDefaultDomains(opts: { search?: string } = {}) { FILE: apps/web/lib/swr/use-discount-codes.ts function useDiscountCodes (line 6) | function useDiscountCodes({ FILE: apps/web/lib/swr/use-discounts.ts function useDiscounts (line 6) | function useDiscounts() { FILE: apps/web/lib/swr/use-domain.ts function useDomain (line 6) | function useDomain({ FILE: apps/web/lib/swr/use-domains-count.ts function useDomainsCount (line 6) | function useDomainsCount({ FILE: apps/web/lib/swr/use-domains.ts function useDomains (line 15) | function useDomains({ FILE: apps/web/lib/swr/use-email-domains.ts function useEmailDomains (line 7) | function useEmailDomains() { FILE: apps/web/lib/swr/use-folder-access-requests.ts function useFolderAccessRequests (line 6) | function useFolderAccessRequests() { FILE: apps/web/lib/swr/use-folder-link-count.ts function useFolderLinkCount (line 5) | function useFolderLinkCount({ FILE: apps/web/lib/swr/use-folder-permissions.ts function useFolderPermissions (line 7) | function useFolderPermissions() { function useCheckFolderPermission (line 28) | function useCheckFolderPermission( FILE: apps/web/lib/swr/use-folder-users.ts function useFolderUsers (line 7) | function useFolderUsers( FILE: apps/web/lib/swr/use-folder.ts function useFolder (line 6) | function useFolder({ FILE: apps/web/lib/swr/use-folders-count.ts function useFoldersCount (line 6) | function useFoldersCount({ FILE: apps/web/lib/swr/use-folders.ts function useFolders (line 7) | function useFolders({ FILE: apps/web/lib/swr/use-fraud-events-count.ts function useFraudEventsCount (line 6) | function useFraudEventsCount({ FILE: apps/web/lib/swr/use-fraud-events-paginated.ts function useFraudEventsPaginated (line 5) | function useFraudEventsPaginated({ FILE: apps/web/lib/swr/use-fraud-events.ts function useFraudEvents (line 6) | function useFraudEvents({ FILE: apps/web/lib/swr/use-fraud-groups-count.ts function useFraudGroupCount (line 8) | function useFraudGroupCount({ FILE: apps/web/lib/swr/use-fraud-groups.ts function useFraudGroups (line 9) | function useFraudGroups({ FILE: apps/web/lib/swr/use-group-move-rules.ts type GroupRules (line 7) | type GroupRules = z.infer; function useGroupMoveRules (line 9) | function useGroupMoveRules() { FILE: apps/web/lib/swr/use-group.ts function useGroup (line 7) | function useGroup( FILE: apps/web/lib/swr/use-groups-count.ts function useGroupsCount (line 10) | function useGroupsCount({ FILE: apps/web/lib/swr/use-groups.ts function useGroups (line 10) | function useGroups({ FILE: apps/web/lib/swr/use-guide.ts function useGuide (line 4) | function useGuide(guideKey: string, swrOpts?: SWRConfiguration) { FILE: apps/web/lib/swr/use-integrations.ts function useIntegrations (line 6) | function useIntegrations({ FILE: apps/web/lib/swr/use-link.ts function useLink (line 6) | function useLink( FILE: apps/web/lib/swr/use-links-count.ts function useLinksCount (line 10) | function useLinksCount({ FILE: apps/web/lib/swr/use-links.ts function useLinks (line 11) | function useLinks( FILE: apps/web/lib/swr/use-network-partners-count.ts function useNetworkPartnersCount (line 8) | function useNetworkPartnersCount< FILE: apps/web/lib/swr/use-network-programs-count.ts function useNetworkProgramsCount (line 8) | function useNetworkProgramsCount({ FILE: apps/web/lib/swr/use-partner-activity-logs.ts function usePartnerActivityLogs (line 6) | function usePartnerActivityLogs({ FILE: apps/web/lib/swr/use-partner-analytics.ts function usePartnerAnalytics (line 11) | function usePartnerAnalytics( FILE: apps/web/lib/swr/use-partner-application-risks.ts type FraudRisksResponse (line 8) | type FraudRisksResponse = { function usePartnerApplicationRisks (line 13) | function usePartnerApplicationRisks({ FILE: apps/web/lib/swr/use-partner-bounty.ts function usePartnerBounty (line 6) | function usePartnerBounty({ FILE: apps/web/lib/swr/use-partner-comments-count.ts function usePartnerCommentsCount (line 5) | function usePartnerCommentsCount( FILE: apps/web/lib/swr/use-partner-comments.ts function usePartnerComments (line 6) | function usePartnerComments( FILE: apps/web/lib/swr/use-partner-cross-program-summary.ts type CrossProgramSummary (line 7) | type CrossProgramSummary = z.infer({ FILE: apps/web/lib/swr/use-partner-customers.ts function usePartnerCustomers (line 7) | function usePartnerCustomers() { FILE: apps/web/lib/swr/use-partner-earnings-count.ts function usePartnerEarningsCount (line 7) | function usePartnerEarningsCount(opts?: { FILE: apps/web/lib/swr/use-partner-earnings-timeseries.ts function usePartnerEarningsTimeseries (line 9) | function usePartnerEarningsTimeseries( FILE: apps/web/lib/swr/use-partner-group-default-links.ts function usePartnerGroupDefaultLinks (line 7) | function usePartnerGroupDefaultLinks() { FILE: apps/web/lib/swr/use-partner-links.ts function usePartnerLinks (line 7) | function usePartnerLinks(opts?: { programId?: string }) { FILE: apps/web/lib/swr/use-partner-messages-count.ts function usePartnerMessagesCount (line 10) | function usePartnerMessagesCount({ FILE: apps/web/lib/swr/use-partner-messages.ts function usePartnerMessages (line 12) | function usePartnerMessages({ FILE: apps/web/lib/swr/use-partner-network-invites-usage.ts function usePartnerNetworkInvitesUsage (line 5) | function usePartnerNetworkInvitesUsage({ FILE: apps/web/lib/swr/use-partner-payout-settings.ts function usePartnerPayoutSettings (line 6) | function usePartnerPayoutSettings() { FILE: apps/web/lib/swr/use-partner-payouts-count.ts function usePartnerPayoutsCount (line 7) | function usePartnerPayoutsCount( FILE: apps/web/lib/swr/use-partner-payouts.ts function usePartnerPayouts (line 7) | function usePartnerPayouts(opts?: Record) { FILE: apps/web/lib/swr/use-partner-profile.ts type PartnerProfile (line 7) | interface PartnerProfile extends PartnerProps { function usePartnerProfile (line 11) | function usePartnerProfile() { FILE: apps/web/lib/swr/use-partner-program-bounties.ts function usePartnerProgramBounties (line 7) | function usePartnerProgramBounties({ FILE: apps/web/lib/swr/use-partner-referrals-count.ts function usePartnerReferralsCount (line 8) | function usePartnerReferralsCount({ FILE: apps/web/lib/swr/use-partner-referrals.ts function usePartnerReferrals (line 7) | function usePartnerReferrals() { FILE: apps/web/lib/swr/use-partner-rewind.ts function usePartnerRewind (line 6) | function usePartnerRewind() { FILE: apps/web/lib/swr/use-partner.ts function usePartner (line 6) | function usePartner( FILE: apps/web/lib/swr/use-partners-count-by-groupids.ts function usePartnersCountByGroupIds (line 4) | function usePartnersCountByGroupIds({ FILE: apps/web/lib/swr/use-partners-count.ts function usePartnersCount (line 9) | function usePartnersCount({ FILE: apps/web/lib/swr/use-partners.ts function usePartners (line 10) | function usePartners( FILE: apps/web/lib/swr/use-payment-methods.ts function usePaymentMethods (line 7) | function usePaymentMethods({ FILE: apps/web/lib/swr/use-payout.ts function usePayout (line 9) | function usePayout() { FILE: apps/web/lib/swr/use-payouts-count.ts function usePayoutsCount (line 9) | function usePayoutsCount({ FILE: apps/web/lib/swr/use-payouts.ts function usePayouts (line 8) | function usePayouts({ FILE: apps/web/lib/swr/use-program-enrollment.ts function useProgramEnrollment (line 11) | function useProgramEnrollment({ FILE: apps/web/lib/swr/use-program-enrollments-count.ts function useProgramEnrollmentsCount (line 7) | function useProgramEnrollmentsCount( FILE: apps/web/lib/swr/use-program-enrollments.ts function useProgramEnrollments (line 8) | function useProgramEnrollments( FILE: apps/web/lib/swr/use-program-messages-count.ts function useProgramMessagesCount (line 8) | function useProgramMessagesCount({ FILE: apps/web/lib/swr/use-program-messages.ts function useProgramMessages (line 11) | function useProgramMessages({ FILE: apps/web/lib/swr/use-program-referrals-count.ts function useProgramReferralsCount (line 8) | function useProgramReferralsCount({ FILE: apps/web/lib/swr/use-program-resources.ts type ProgramResourcesProps (line 8) | type ProgramResourcesProps = z.infer; function useProgramResources (line 10) | function useProgramResources() { FILE: apps/web/lib/swr/use-program.ts function useProgram (line 6) | function useProgram( FILE: apps/web/lib/swr/use-refresh-session.ts function useRefreshSession (line 4) | function useRefreshSession(sessionUserAttribute: string) { FILE: apps/web/lib/swr/use-rewards.ts function useRewards (line 6) | function useRewards() { FILE: apps/web/lib/swr/use-saml.ts function useSAML (line 7) | function useSAML() { FILE: apps/web/lib/swr/use-scim.ts function useSCIM (line 7) | function useSCIM() { FILE: apps/web/lib/swr/use-tags-count.ts function useTagsCount (line 9) | function useTagsCount({ FILE: apps/web/lib/swr/use-tags.ts function useTags (line 10) | function useTags({ FILE: apps/web/lib/swr/use-usage-timeseries.ts function useUsageTimeseries (line 9) | function useUsageTimeseries({ FILE: apps/web/lib/swr/use-user.ts function useUser (line 5) | function useUser() { FILE: apps/web/lib/swr/use-webhook.ts function useWebhook (line 7) | function useWebhook() { FILE: apps/web/lib/swr/use-webhooks.ts function useWebhooks (line 6) | function useWebhooks() { FILE: apps/web/lib/swr/use-workspace-preferences.ts constant WORKSPACE_PREFERENCES_KEYS (line 15) | const WORKSPACE_PREFERENCES_KEYS = { function useWorkspacePreferences (line 19) | function useWorkspacePreferences< FILE: apps/web/lib/swr/use-workspace-store.ts function useWorkspaceStore (line 11) | function useWorkspaceStore( FILE: apps/web/lib/swr/use-workspace-users.ts function useWorkspaceUsers (line 6) | function useWorkspaceUsers({ FILE: apps/web/lib/swr/use-workspace.ts function useWorkspace (line 7) | function useWorkspace({ FILE: apps/web/lib/swr/use-workspaces.ts function useWorkspaces (line 6) | function useWorkspaces() { FILE: apps/web/lib/tinybird/get-top-links-by-countries.ts function getTopLinksByCountries (line 24) | async function getTopLinksByCountries({ FILE: apps/web/lib/tinybird/record-click.ts function recordClick (line 30) | async function recordClick({ function sendLinkClickWebhooks (line 292) | async function sendLinkClickWebhooks({ FILE: apps/web/lib/tinybird/record-fake-click.ts function recordFakeClick (line 8) | async function recordFakeClick({ FILE: apps/web/lib/tolt/api.ts constant PAGE_LIMIT (line 16) | const PAGE_LIMIT = 100; class ToltApi (line 18) | class ToltApi { method constructor (line 22) | constructor({ token }: { token: string }) { method fetch (line 26) | private async fetch(url: string): Promise { method getProgram (line 47) | async getProgram({ programId }: { programId: string }) { method listPartners (line 73) | async listPartners({ method listLinks (line 96) | async listLinks({ method listCustomers (line 119) | async listCustomers({ method listCommissions (line 143) | async listCommissions({ FILE: apps/web/lib/tolt/cleanup-partners.ts constant PARTNER_IDS_PER_BATCH (line 4) | const PARTNER_IDS_PER_BATCH = 100; function cleanupPartners (line 7) | async function cleanupPartners({ programId }: { programId: string }) { FILE: apps/web/lib/tolt/import-commissions.ts function importCommissions (line 30) | async function importCommissions(payload: ToltImportPayload) { function createCommission (line 150) | async function createCommission({ FILE: apps/web/lib/tolt/import-customers.ts function importCustomers (line 14) | async function importCustomers(payload: ToltImportPayload) { function createReferral (line 149) | async function createReferral({ FILE: apps/web/lib/tolt/import-links.ts function importLinks (line 9) | async function importLinks(payload: ToltImportPayload) { function createPartnerLink (line 94) | async function createPartnerLink({ FILE: apps/web/lib/tolt/import-partners.ts function importPartners (line 10) | async function importPartners(payload: ToltImportPayload) { function createPartner (line 120) | async function createPartner({ FILE: apps/web/lib/tolt/importer.ts constant MAX_BATCHES (line 8) | const MAX_BATCHES = 5; constant CACHE_EXPIRY (line 9) | const CACHE_EXPIRY = 60 * 60 * 24; constant CACHE_KEY_PREFIX (line 10) | const CACHE_KEY_PREFIX = "tolt:import"; constant PARTNER_IDS_KEY_PREFIX (line 11) | const PARTNER_IDS_KEY_PREFIX = "tolt:import:partnerIds"; class ToltImporter (line 13) | class ToltImporter { method setCredentials (line 14) | async setCredentials(workspaceId: string, credentials: ToltCredentials) { method getCredentials (line 20) | async getCredentials(workspaceId: string) { method deleteCredentials (line 32) | async deleteCredentials(workspaceId: string) { method queue (line 36) | async queue(body: z.infer) { method addPartners (line 44) | async addPartners({ method scanPartnerIds (line 58) | async scanPartnerIds({ method deletePartnerIds (line 74) | async deletePartnerIds(programId: string) { FILE: apps/web/lib/tolt/types.ts type ToltCredentials (line 11) | interface ToltCredentials { type ToltListResponse (line 15) | interface ToltListResponse { type ToltProgram (line 21) | interface ToltProgram extends z.infer { type ToltAffiliate (line 25) | type ToltAffiliate = z.infer; type ToltLink (line 27) | type ToltLink = z.infer; type ToltCustomer (line 29) | type ToltCustomer = z.infer; type ToltCommission (line 31) | type ToltCommission = z.infer; type ToltImportPayload (line 33) | type ToltImportPayload = z.infer; FILE: apps/web/lib/tolt/update-stripe-customers.ts constant CUSTOMERS_PER_BATCH (line 9) | const CUSTOMERS_PER_BATCH = 20; function updateStripeCustomers (line 17) | async function updateStripeCustomers(payload: ToltImportPayload) { function searchStripeAndUpdateCustomer (line 96) | async function searchStripeAndUpdateCustomer({ FILE: apps/web/lib/types.ts type LinkProps (line 184) | type LinkProps = Omit & { type ExpandedLinkProps (line 190) | type ExpandedLinkProps = LinkProps & { type SimpleLinkProps (line 197) | interface SimpleLinkProps { type QRLinkProps (line 203) | interface QRLinkProps { type RedisLinkProps (line 209) | interface RedisLinkProps { type ResourceColorsEnum (line 239) | type ResourceColorsEnum = (typeof RESOURCE_COLORS)[number]; type TagProps (line 241) | interface TagProps { type UtmTemplateProps (line 247) | type UtmTemplateProps = UtmTemplate; type UtmTemplateWithUserProps (line 248) | type UtmTemplateWithUserProps = UtmTemplateProps & { type PlanProps (line 252) | type PlanProps = (typeof plans)[number]; type BetaFeatures (line 254) | type BetaFeatures = "noDubLink" | "analyticsSettingsSiteVisitTracking"; type PartnerBetaFeatures (line 256) | type PartnerBetaFeatures = "postbacks"; type WorkspaceProps (line 258) | interface WorkspaceProps extends Project { type ExtendedWorkspaceProps (line 276) | interface ExtendedWorkspaceProps extends WorkspaceProps { type WorkspaceWithUsers (line 288) | type WorkspaceWithUsers = Omit; type WorkspaceUserProps (line 290) | type WorkspaceUserProps = z.infer; type UserProps (line 292) | interface UserProps { type DomainVerificationStatusProps (line 306) | type DomainVerificationStatusProps = type DomainProps (line 314) | interface DomainProps { type RegisteredDomainProps (line 333) | interface RegisteredDomainProps { type BitlyGroupProps (line 341) | interface BitlyGroupProps { type ImportedDomainCountProps (line 347) | interface ImportedDomainCountProps { type SAMLProviderProps (line 353) | interface SAMLProviderProps { type NewLinkProps (line 365) | type NewLinkProps = z.infer; type ProcessedLinkOverrides (line 367) | type ProcessedLinkOverrides = "domain" | "key" | "url" | "projectId"; type ProcessedLinkProps (line 369) | type ProcessedLinkProps = Omit & type DashboardProps (line 387) | type DashboardProps = z.infer; type TokenProps (line 389) | type TokenProps = z.infer; type OAuthAppProps (line 391) | type OAuthAppProps = z.infer; type OAuthAppWithClientSecret (line 393) | type OAuthAppWithClientSecret = OAuthAppProps & { clientSecret: string }; type NewOAuthApp (line 395) | type NewOAuthApp = z.infer; type IntegrationProps (line 397) | type IntegrationProps = z.infer; type NewOrExistingIntegration (line 399) | type NewOrExistingIntegration = Omit< type InstalledIntegrationProps (line 406) | type InstalledIntegrationProps = Pick< type InstalledIntegrationInfoProps (line 423) | type InstalledIntegrationInfoProps = Pick< type WebhookTrigger (line 454) | type WebhookTrigger = keyof typeof WEBHOOK_TRIGGER_DESCRIPTIONS; type WebhookProps (line 456) | type WebhookProps = z.infer; type NewWebhook (line 458) | type NewWebhook = z.infer; type WebhookEventProps (line 460) | type WebhookEventProps = z.infer; type WebhookCacheProps (line 462) | type WebhookCacheProps = Pick< type WebhookPartner (line 467) | type WebhookPartner = z.infer; type TrackLeadResponse (line 469) | type TrackLeadResponse = z.infer; type TrackSaleResponse (line 471) | type TrackSaleResponse = z.infer; type Customer (line 473) | type Customer = z.infer; type CustomerEnriched (line 475) | type CustomerEnriched = z.infer; type UsageResponse (line 477) | type UsageResponse = z.infer; type PartnersCount (line 479) | type PartnersCount = Record; type CommissionsCount (line 481) | type CommissionsCount = Record< type CommissionResponse (line 490) | type CommissionResponse = z.infer; type PartnerEarningsResponse (line 492) | type PartnerEarningsResponse = z.infer; type CustomerProps (line 494) | type CustomerProps = z.infer; type PartnerPlatformProps (line 496) | type PartnerPlatformProps = z.infer; type PartnerProps (line 498) | type PartnerProps = z.infer & { type PartnerRewindProps (line 505) | type PartnerRewindProps = z.infer; type PartnerUserProps (line 507) | type PartnerUserProps = z.infer; type PartnerProfileCustomerProps (line 508) | type PartnerProfileCustomerProps = z.infer< type PartnerProfileLinkProps (line 512) | type PartnerProfileLinkProps = z.infer; type PartnerPayoutMethodSetting (line 514) | type PartnerPayoutMethodSetting = z.infer< type PartnerProfileReferralsCountByStatus (line 518) | type PartnerProfileReferralsCountByStatus = z.infer< type EnrolledPartnerProps (line 522) | type EnrolledPartnerProps = z.infer & { type NetworkPartnerProps (line 526) | type NetworkPartnerProps = z.infer; type PartnerConversionScore (line 528) | type PartnerConversionScore = z.infer< type NetworkProgramProps (line 532) | type NetworkProgramProps = z.infer; type NetworkProgramExtendedProps (line 534) | type NetworkProgramExtendedProps = z.infer< type EnrolledPartnerExtendedProps (line 538) | type EnrolledPartnerExtendedProps = z.infer< type DiscountProps (line 544) | type DiscountProps = z.infer; type DiscountCodeProps (line 546) | type DiscountCodeProps = z.infer; type ProgramProps (line 548) | type ProgramProps = Omit< type ProgramInviteEmailData (line 556) | type ProgramInviteEmailData = z.infer< type ProgramLanderData (line 560) | type ProgramLanderData = z.infer; type ProgramApplicationFormData (line 562) | type ProgramApplicationFormData = z.infer< type ProgramApplicationFormDataWithValues (line 566) | type ProgramApplicationFormDataWithValues = z.infer< type ProgramApplicationFormFieldWithValues (line 570) | type ProgramApplicationFormFieldWithValues = z.infer< type ProgramEnrollmentProps (line 573) | type ProgramEnrollmentProps = z.infer; type EligibilityConditionDB (line 574) | type EligibilityConditionDB = z.infer; type ApplicationRequirementsDB (line 575) | type ApplicationRequirementsDB = z.infer< type PayoutsCount (line 579) | type PayoutsCount = { type PayoutResponse (line 585) | type PayoutResponse = z.infer; type PartnerPayoutResponse (line 587) | type PartnerPayoutResponse = z.infer; type SegmentIntegrationCredentials (line 589) | type SegmentIntegrationCredentials = { type InvoiceProps (line 592) | type InvoiceProps = z.infer; type CustomerActivityResponse (line 594) | type CustomerActivityResponse = z.infer< type ClickEvent (line 598) | type ClickEvent = z.infer; type SaleEvent (line 600) | type SaleEvent = z.infer; type LeadEvent (line 602) | type LeadEvent = z.infer; type Folder (line 606) | type Folder = z.infer; type FolderAccessLevel (line 608) | type FolderAccessLevel = keyof typeof FOLDER_WORKSPACE_ACCESS; type FolderPermission (line 610) | type FolderPermission = (typeof FOLDER_PERMISSIONS)[number]; type FolderUser (line 612) | type FolderUser = Pick & { type FolderWithPermissions (line 617) | type FolderWithPermissions = { type FolderSummary (line 622) | type FolderSummary = Pick< type RewardProps (line 627) | type RewardProps = z.infer; type CreatePartnerProps (line 629) | type CreatePartnerProps = z.infer; type ProgramData (line 631) | type ProgramData = z.infer; type PaymentMethodOption (line 632) | type PaymentMethodOption = { type FolderLinkCount (line 639) | interface FolderLinkCount { type RewardContext (line 644) | type RewardContext = z.infer; type RewardCondition (line 646) | type RewardCondition = z.infer; type RewardConditions (line 648) | type RewardConditions = z.infer; type RewardConditionsArray (line 650) | type RewardConditionsArray = z.infer; type ClickEventTB (line 652) | type ClickEventTB = z.infer; type LeadEventTB (line 654) | type LeadEventTB = z.infer; type GroupProps (line 656) | type GroupProps = z.infer; type GroupWithFormDataProps (line 658) | type GroupWithFormDataProps = z.infer; type GroupWithProgramProps (line 660) | type GroupWithProgramProps = z.infer; type GroupExtendedProps (line 662) | type GroupExtendedProps = z.infer; type PartnerGroupDefaultLink (line 664) | type PartnerGroupDefaultLink = z.infer< type PartnerGroupAdditionalLink (line 668) | type PartnerGroupAdditionalLink = z.infer< type PartnerGroupProps (line 672) | type PartnerGroupProps = PartnerGroup & { type PartnerCommentProps (line 676) | type PartnerCommentProps = z.infer; type BountyProps (line 678) | type BountyProps = z.infer; type BountyListProps (line 679) | type BountyListProps = z.infer; type GroupBountySummaryProps (line 680) | type GroupBountySummaryProps = z.infer; type PartnerBountyProps (line 682) | type PartnerBountyProps = z.infer; type BountySubmissionProps (line 684) | type BountySubmissionProps = z.infer< type BountySubmissionRequirement (line 688) | type BountySubmissionRequirement = type SocialMetricsChannel (line 691) | type SocialMetricsChannel = type WorkflowCondition (line 694) | type WorkflowCondition = z.infer; type BountyPerformanceCondition (line 696) | type BountyPerformanceCondition = z.infer< type BountySocialMetricsIncrementalBonus (line 700) | type BountySocialMetricsIncrementalBonus = z.infer< type CampaignTriggerCondition (line 704) | type CampaignTriggerCondition = z.infer< type WorkflowConditionAttribute (line 708) | type WorkflowConditionAttribute = (typeof WORKFLOW_ATTRIBUTES)[number]; type WorkflowComparisonOperator (line 710) | type WorkflowComparisonOperator = type WorkflowAction (line 713) | type WorkflowAction = z.infer; type OperatorFn (line 715) | type OperatorFn = ( type BountySubmissionsQueryFilters (line 720) | type BountySubmissionsQueryFilters = z.infer< type Message (line 724) | type Message = z.infer; type CampaignList (line 726) | type CampaignList = z.infer; type Campaign (line 728) | type Campaign = z.infer; type UpdateCampaignFormData (line 730) | type UpdateCampaignFormData = z.infer; type CampaignSummary (line 732) | type CampaignSummary = z.infer; type StripeMode (line 734) | type StripeMode = "test" | "sandbox" | "live"; type EmailTemplateVariables (line 736) | type EmailTemplateVariables = Record< type TiptapNode (line 741) | interface TiptapNode { type CampaignWorkflowAttributeConfig (line 749) | interface CampaignWorkflowAttributeConfig { type WorkflowAttribute (line 755) | type WorkflowAttribute = (typeof WORKFLOW_ATTRIBUTES)[number]; type EmailDomainProps (line 757) | type EmailDomainProps = z.infer; type FraudGroupProps (line 759) | type FraudGroupProps = z.infer; type ExtendedFraudRuleType (line 761) | type ExtendedFraudRuleType = type FraudSeverity (line 768) | type FraudSeverity = "low" | "medium" | "high"; type FraudTriggeredRule (line 770) | interface FraudTriggeredRule { type FraudRuleInfo (line 775) | interface FraudRuleInfo { type FraudRuleProps (line 784) | type FraudRuleProps = z.infer; type FraudEventContext (line 786) | type FraudEventContext = z.infer; type PaidTrafficPlatform (line 788) | type PaidTrafficPlatform = (typeof PAID_TRAFFIC_PLATFORMS)[number]; type UpdateFraudRuleSettings (line 790) | type UpdateFraudRuleSettings = z.infer< type FraudGroupCountByPartner (line 794) | interface FraudGroupCountByPartner { type FraudGroupCountByType (line 799) | interface FraudGroupCountByType { type CreateFraudEventInput (line 804) | type CreateFraudEventInput = Pick< type WorkflowIdentity (line 814) | interface WorkflowIdentity { type PartnerMetrics (line 821) | interface PartnerMetrics { type WorkflowContext (line 828) | interface WorkflowContext { type ReferralProps (line 838) | type ReferralProps = z.infer; type ReferralFormDataField (line 840) | type ReferralFormDataField = z.infer; type UpdateReferralStatusPayload (line 842) | type UpdateReferralStatusPayload = z.infer< type CustomerSource (line 846) | type CustomerSource = (typeof CUSTOMER_SOURCES)[number]; type ReferralWithCustomer (line 848) | type ReferralWithCustomer = PartnerReferral & { type GetActivityLogsQuery (line 852) | type GetActivityLogsQuery = z.infer; type ActivityLogResourceType (line 854) | type ActivityLogResourceType = z.infer< type ActivityLogAction (line 858) | type ActivityLogAction = z.infer; type FieldDiff (line 860) | type FieldDiff = z.infer; type ChangeSet (line 862) | type ChangeSet = Record; type ActivityLog (line 864) | type ActivityLog = z.infer; type CreateBountyInput (line 866) | type CreateBountyInput = z.infer; type SocialContent (line 868) | type SocialContent = z.infer; type SubmissionRequirements (line 870) | type SubmissionRequirements = z.infer< type BountySocialPlatform (line 874) | type BountySocialPlatform = type BountySocialPlatformMetric (line 877) | type BountySocialPlatformMetric = type PostbackProps (line 879) | type PostbackProps = z.infer; type PostbackEventProps (line 881) | type PostbackEventProps = z.infer; type PostbackTrigger (line 883) | type PostbackTrigger = (typeof POSTBACK_TRIGGERS)[number]; type CommissionDetail (line 885) | type CommissionDetail = z.infer; type NullableOptional (line 887) | type NullableOptional = { FILE: apps/web/lib/upstash/format-redis-link.ts function formatRedisLink (line 6) | function formatRedisLink(link: ExpandedLink): RedisLinkProps { FILE: apps/web/lib/upstash/ratelimit-policy.ts constant RATE_LIMITS (line 1) | const RATE_LIMITS = { FILE: apps/web/lib/upstash/record-metatags.ts function recordMetatags (line 8) | async function recordMetatags(url: string, error: boolean) { FILE: apps/web/lib/upstash/redis-streams.ts type RedisStreamEntry (line 3) | type RedisStreamEntry = { class RedisStream (line 8) | class RedisStream { method constructor (line 11) | constructor(streamKey: string) { method processBatch (line 19) | async processBatch( method getStreamInfo (line 81) | async getStreamInfo(): Promise<{ constant WORKSPACE_USAGE_UPDATES_STREAM_KEY (line 142) | const WORKSPACE_USAGE_UPDATES_STREAM_KEY = "workspace:usage:updates"; type ClickEvent (line 146) | interface ClickEvent { constant PARTNER_ACTIVITY_STREAM_KEY (line 167) | const PARTNER_ACTIVITY_STREAM_KEY = "partner:activity:updates"; type PartnerActivityEvent (line 171) | interface PartnerActivityEvent { FILE: apps/web/lib/webhook/cache.ts constant WEBHOOK_CACHE_KEY_PREFIX (line 5) | const WEBHOOK_CACHE_KEY_PREFIX = "webhook"; class WebhookCache (line 7) | class WebhookCache { method mset (line 8) | async mset(webhooks: WebhookCacheProps[]) { method set (line 22) | async set(webhook: WebhookCacheProps) { method mget (line 31) | async mget(webhookIds: string[]) { method delete (line 39) | async delete(webhookId: string) { method deleteMany (line 43) | async deleteMany(webhookIds: string[]) { method _format (line 57) | _format(webhook: WebhookCacheProps) { method _createKey (line 67) | _createKey(webhookId: string) { FILE: apps/web/lib/webhook/constants.ts constant WEBHOOK_SECRET_LENGTH (line 1) | const WEBHOOK_SECRET_LENGTH = 16; constant WEBHOOK_ID_PREFIX (line 3) | const WEBHOOK_ID_PREFIX = "wh_"; constant WEBHOOK_SECRET_PREFIX (line 5) | const WEBHOOK_SECRET_PREFIX = "whsec_"; constant WEBHOOK_EVENT_ID_PREFIX (line 7) | const WEBHOOK_EVENT_ID_PREFIX = "evt_"; constant WORKSPACE_LEVEL_WEBHOOK_TRIGGERS (line 9) | const WORKSPACE_LEVEL_WEBHOOK_TRIGGERS = [ constant PROGRAM_LEVEL_WEBHOOK_TRIGGERS (line 17) | const PROGRAM_LEVEL_WEBHOOK_TRIGGERS = [ constant LINK_LEVEL_WEBHOOK_TRIGGERS (line 26) | const LINK_LEVEL_WEBHOOK_TRIGGERS = ["link.clicked"] as const; constant WEBHOOK_TRIGGERS (line 28) | const WEBHOOK_TRIGGERS = [ constant WEBHOOK_TRIGGER_DESCRIPTIONS (line 34) | const WEBHOOK_TRIGGER_DESCRIPTIONS: Record< constant WEBHOOK_FAILURE_NOTIFY_THRESHOLDS (line 52) | const WEBHOOK_FAILURE_NOTIFY_THRESHOLDS = [5, 10, 15] as const; constant WEBHOOK_FAILURE_DISABLE_THRESHOLD (line 53) | const WEBHOOK_FAILURE_DISABLE_THRESHOLD = 20 as const; FILE: apps/web/lib/webhook/create-webhook.ts function createWebhook (line 13) | async function createWebhook({ FILE: apps/web/lib/webhook/get-webhooks.ts type GetWebhooksProps (line 4) | interface GetWebhooksProps { function getWebhooks (line 11) | async function getWebhooks({ FILE: apps/web/lib/webhook/handle-external-payout-event.ts type WebhookPayload (line 6) | interface WebhookPayload { function handleExternalPayoutEvent (line 16) | async function handleExternalPayoutEvent({ FILE: apps/web/lib/webhook/qstash.ts function buildCallbackUrl (line 126) | function buildCallbackUrl(base: string, params: Record):... FILE: apps/web/lib/webhook/transform.ts type TransformWebhookProps (line 15) | interface TransformWebhookProps FILE: apps/web/lib/webhook/types.ts type ClickEventWebhookPayload (line 14) | type ClickEventWebhookPayload = z.infer; type LeadEventWebhookPayload (line 16) | type LeadEventWebhookPayload = z.infer; type SaleEventWebhookPayload (line 18) | type SaleEventWebhookPayload = z.infer; type PartnerEventWebhookPayload (line 20) | type PartnerEventWebhookPayload = z.infer; type PartnerApplicationWebhookPayload (line 22) | type PartnerApplicationWebhookPayload = z.infer< type CommissionEventWebhookPayload (line 26) | type CommissionEventWebhookPayload = z.infer< type BountyEventWebhookPayload (line 30) | type BountyEventWebhookPayload = z.infer; type PayoutEventWebhookPayload (line 32) | type PayoutEventWebhookPayload = z.infer< type WebhookEventPayload (line 36) | type WebhookEventPayload = FILE: apps/web/lib/webhook/validate-webhook.ts function validateWebhook (line 11) | async function validateWebhook({ FILE: apps/web/lib/well-known.ts type WellKnownConfig (line 1) | type WellKnownConfig = { type SupportedWellKnownFiles (line 16) | type SupportedWellKnownFiles = keyof WellKnownConfig; FILE: apps/web/lib/workspace-roles.ts constant WORKSPACE_ROLES (line 6) | const WORKSPACE_ROLES = [ constant ROLE_PLAN_REQUIREMENTS (line 13) | const ROLE_PLAN_REQUIREMENTS: Record = { function isRoleAvailableForPlan (line 46) | function isRoleAvailableForPlan({ function getAvailableRolesForPlan (line 63) | function getAvailableRolesForPlan( FILE: apps/web/lib/zod/schemas/activity-log.ts constant REWARD_EVENT_TO_RESOURCE_TYPE (line 53) | const REWARD_EVENT_TO_RESOURCE_TYPE = { FILE: apps/web/lib/zod/schemas/analytics.ts function parseAnalyticsQuery (line 386) | function parseAnalyticsQuery(searchParams: Record) { function parseEventsQuery (line 395) | function parseEventsQuery(searchParams: Record) { FILE: apps/web/lib/zod/schemas/campaigns.ts constant EMAIL_TEMPLATE_VARIABLES (line 13) | const EMAIL_TEMPLATE_VARIABLES = [ constant CAMPAIGN_WORKFLOW_ATTRIBUTE_CONFIG (line 19) | const CAMPAIGN_WORKFLOW_ATTRIBUTE_CONFIG: Record< FILE: apps/web/lib/zod/schemas/commissions.ts constant COMMISSIONS_MAX_PAGE_SIZE (line 88) | const COMMISSIONS_MAX_PAGE_SIZE = 100; constant CLAWBACK_REASONS (line 225) | const CLAWBACK_REASONS = [ constant CLAWBACK_REASONS_MAP (line 268) | const CLAWBACK_REASONS_MAP = Object.fromEntries( constant COMMISSION_EXPORT_COLUMNS (line 281) | const COMMISSION_EXPORT_COLUMNS = [ type CommissionExportColumnId (line 327) | type CommissionExportColumnId = constant DEFAULT_COMMISSION_EXPORT_COLUMNS (line 330) | const DEFAULT_COMMISSION_EXPORT_COLUMNS = FILE: apps/web/lib/zod/schemas/customers.ts constant CUSTOMERS_MAX_PAGE_SIZE (line 12) | const CUSTOMERS_MAX_PAGE_SIZE = 100; constant CUSTOMER_EXPORT_COLUMNS (line 220) | const CUSTOMER_EXPORT_COLUMNS = [ type CustomerExportColumnId (line 359) | type CustomerExportColumnId = (typeof CUSTOMER_EXPORT_COLUMNS)[number]["... constant CUSTOMER_EXPORT_DEFAULT_COLUMNS (line 361) | const CUSTOMER_EXPORT_DEFAULT_COLUMNS = CUSTOMER_EXPORT_COLUMNS.filter( FILE: apps/web/lib/zod/schemas/domains.ts constant DOMAINS_MAX_PAGE_SIZE (line 79) | const DOMAINS_MAX_PAGE_SIZE = 50; FILE: apps/web/lib/zod/schemas/folders.ts constant FOLDER_MAX_DESCRIPTION_LENGTH (line 35) | const FOLDER_MAX_DESCRIPTION_LENGTH = 500; constant FOLDERS_MAX_PAGE_SIZE (line 47) | const FOLDERS_MAX_PAGE_SIZE = 50; FILE: apps/web/lib/zod/schemas/fraud.ts constant MAX_RESOLUTION_REASON_LENGTH (line 9) | const MAX_RESOLUTION_REASON_LENGTH = 200; type CustomerEmailMatchType (line 11) | enum CustomerEmailMatchType { FILE: apps/web/lib/zod/schemas/groups.ts constant DEFAULT_PARTNER_GROUP (line 18) | const DEFAULT_PARTNER_GROUP = { constant MAX_DEFAULT_LINKS_PER_GROUP (line 25) | const MAX_DEFAULT_LINKS_PER_GROUP = 5; constant DEFAULT_ADDITIONAL_PARTNER_LINKS (line 28) | const DEFAULT_ADDITIONAL_PARTNER_LINKS = 10; constant MAX_ADDITIONAL_PARTNER_LINKS (line 29) | const MAX_ADDITIONAL_PARTNER_LINKS = 100; constant GROUPS_MAX_PAGE_SIZE (line 31) | const GROUPS_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/zod/schemas/invites.ts type Invite (line 13) | type Invite = z.infer["teammates"][number]; FILE: apps/web/lib/zod/schemas/links.ts constant MIN_TEST_PERCENTAGE (line 31) | const MIN_TEST_PERCENTAGE = 10; constant MAX_TEST_COUNT (line 32) | const MAX_TEST_COUNT = 4; constant LINKS_MAX_PAGE_SIZE (line 33) | const LINKS_MAX_PAGE_SIZE = 100; type ExportLinksColumn (line 266) | type ExportLinksColumn = (typeof exportLinksColumns)[number]; FILE: apps/web/lib/zod/schemas/messages.ts constant MAX_MESSAGE_LENGTH (line 7) | const MAX_MESSAGE_LENGTH = 2000; FILE: apps/web/lib/zod/schemas/misc.ts constant RECURRING_MAX_DURATIONS (line 7) | const RECURRING_MAX_DURATIONS = [0, 1, 3, 6, 12, 18, 24, 36, 48]; FILE: apps/web/lib/zod/schemas/partner-network.ts constant PARTNER_CONVERSION_SCORES (line 6) | const PARTNER_CONVERSION_SCORES = [ constant PARTNER_CONVERSION_SCORE_RATES (line 15) | const PARTNER_CONVERSION_SCORE_RATES: Record< constant PARTNER_NETWORK_MAX_PAGE_SIZE (line 29) | const PARTNER_NETWORK_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/zod/schemas/partner-profile.ts type PartnerProfileReferral (line 289) | type PartnerProfileReferral = z.infer< FILE: apps/web/lib/zod/schemas/partners.ts constant PARTNERS_MAX_PAGE_SIZE (line 29) | const PARTNERS_MAX_PAGE_SIZE = 100; constant ACTIVE_ENROLLMENT_STATUSES (line 31) | const ACTIVE_ENROLLMENT_STATUSES: ProgramEnrollmentStatus[] = [ constant INACTIVE_ENROLLMENT_STATUSES (line 36) | const INACTIVE_ENROLLMENT_STATUSES: ProgramEnrollmentStatus[] = [ constant BAN_PARTNER_REASONS (line 82) | const BAN_PARTNER_REASONS = { constant MAX_PARTNER_INDUSTRY_INTERESTS (line 250) | const MAX_PARTNER_INDUSTRY_INTERESTS = 8; constant MAX_PARTNER_DESCRIPTION_LENGTH (line 278) | const MAX_PARTNER_DESCRIPTION_LENGTH = 500; FILE: apps/web/lib/zod/schemas/payouts.ts constant PAYOUTS_MAX_PAGE_SIZE (line 29) | const PAYOUTS_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/zod/schemas/program-network.ts constant PROGRAM_NETWORK_MAX_PAGE_SIZE (line 33) | const PROGRAM_NETWORK_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/zod/schemas/program-onboarding.ts constant PROGRAM_ONBOARDING_STEPS (line 104) | const PROGRAM_ONBOARDING_STEPS = [ FILE: apps/web/lib/zod/schemas/program-resources.ts constant PROGRAM_RESOURCE_TYPES (line 3) | const PROGRAM_RESOURCE_TYPES = [ type ProgramResourceType (line 10) | type ProgramResourceType = (typeof PROGRAM_RESOURCE_TYPES)[number]; type ProgramResourceFile (line 38) | type ProgramResourceFile = z.infer; type ProgramResourceColor (line 39) | type ProgramResourceColor = z.infer; type ProgramResourceLink (line 40) | type ProgramResourceLink = z.infer; type ProgramResources (line 41) | type ProgramResources = z.infer; FILE: apps/web/lib/zod/schemas/programs.ts constant MAX_PROGRAM_PARTNER_COMMENT_LENGTH (line 238) | const MAX_PROGRAM_PARTNER_COMMENT_LENGTH = 2000; FILE: apps/web/lib/zod/schemas/rewards.ts constant COMMISSION_TYPES (line 6) | const COMMISSION_TYPES = [ type RewardConditionEntityAttribute (line 21) | type RewardConditionEntityAttribute = { type RewardConditionEntity (line 31) | type RewardConditionEntity = { constant PARTNER_ENTITY (line 37) | const PARTNER_ENTITY: RewardConditionEntity = { constant CUSTOMER_ENTITY (line 74) | const CUSTOMER_ENTITY: RewardConditionEntity = { constant REWARD_CONDITIONS (line 86) | const REWARD_CONDITIONS: Record< constant REWARD_CONDITION_ENTITIES (line 189) | const REWARD_CONDITION_ENTITIES = [ constant REWARD_CONDITION_ATTRIBUTES (line 195) | const REWARD_CONDITION_ATTRIBUTES = [ constant CONDITION_OPERATORS (line 203) | const CONDITION_OPERATORS = [ constant STRING_CONDITION_OPERATORS (line 216) | const STRING_CONDITION_OPERATORS: (typeof CONDITION_OPERATORS)[number][] = constant ENUM_CONDITION_OPERATORS (line 219) | const ENUM_CONDITION_OPERATORS: (typeof CONDITION_OPERATORS)[number][] = constant NUMBER_CONDITION_OPERATORS (line 222) | const NUMBER_CONDITION_OPERATORS: (typeof CONDITION_OPERATORS)[number][] = constant DATE_CONDITION_OPERATORS (line 232) | const DATE_CONDITION_OPERATORS: (typeof CONDITION_OPERATORS)[number][] = constant CONDITION_OPERATOR_LABELS (line 235) | const CONDITION_OPERATOR_LABELS = { constant PERCENTAGE_REWARD_AMOUNT_SCHEMA (line 268) | const PERCENTAGE_REWARD_AMOUNT_SCHEMA = z constant FLAT_REWARD_AMOUNT_SCHEMA (line 275) | const FLAT_REWARD_AMOUNT_SCHEMA = z constant REWARD_DESCRIPTION_MAX_LENGTH (line 316) | const REWARD_DESCRIPTION_MAX_LENGTH = 100; constant REWARD_TOOLTIP_DESCRIPTION_MAX_LENGTH (line 317) | const REWARD_TOOLTIP_DESCRIPTION_MAX_LENGTH = 2000; constant REWARD_EVENT_COLUMN_MAPPING (line 359) | const REWARD_EVENT_COLUMN_MAPPING = Object.freeze({ constant CUSTOMER_SOURCES (line 365) | const CUSTOMER_SOURCES = ["tracked", "submitted", "trial"] as const; FILE: apps/web/lib/zod/schemas/tags.ts constant TAGS_MAX_PAGE_SIZE (line 5) | const TAGS_MAX_PAGE_SIZE = 100; FILE: apps/web/lib/zod/schemas/utils.ts constant DESTINATION_URL_MAX_LENGTH (line 5) | const DESTINATION_URL_MAX_LENGTH = 32000; FILE: apps/web/lib/zod/schemas/utm.ts constant UTM_TAGS_PLURAL_LIST (line 92) | const UTM_TAGS_PLURAL_LIST = [ type UTM_TAGS_PLURAL (line 100) | type UTM_TAGS_PLURAL = FILE: apps/web/lib/zod/schemas/workflows.ts constant WORKFLOW_ATTRIBUTES (line 9) | const WORKFLOW_ATTRIBUTES = [ constant WORKFLOW_ATTRIBUTE_TRIGGER (line 18) | const WORKFLOW_ATTRIBUTE_TRIGGER: Record< constant WORKFLOW_COMPARISON_OPERATORS (line 30) | const WORKFLOW_COMPARISON_OPERATORS = ["gte", "between"] as const; constant SCHEDULED_WORKFLOW_TRIGGERS (line 32) | const SCHEDULED_WORKFLOW_TRIGGERS: WorkflowTrigger[] = [ constant WORKFLOW_SCHEDULES (line 36) | const WORKFLOW_SCHEDULES: Partial> = { constant OPERATOR_FUNCTIONS (line 40) | const OPERATOR_FUNCTIONS: Record< constant WORKFLOW_COMPARISON_OPERATOR_LABELS (line 66) | const WORKFLOW_COMPARISON_OPERATOR_LABELS: Record< type WORKFLOW_ACTION_TYPES (line 74) | enum WORKFLOW_ACTION_TYPES { constant WORKFLOW_LOGICAL_OPERATORS (line 80) | const WORKFLOW_LOGICAL_OPERATORS = ["AND"] as const; FILE: apps/web/lib/zod/schemas/workspace-preferences.ts type WorkspacePreferencesKey (line 25) | type WorkspacePreferencesKey = type WorkspacePreferencesValue (line 28) | type WorkspacePreferencesValue = FILE: apps/web/middleware.ts function middleware (line 35) | async function middleware(req: NextRequest, ev: NextFetchEvent) { FILE: apps/web/next.config.js method headers (line 104) | async headers() { method redirects (line 134) | async redirects() { method rewrites (line 198) | async rewrites() { FILE: apps/web/playwright/seed.ts constant E2E_PARTNER (line 8) | const E2E_PARTNER = { function main (line 14) | async function main() { FILE: apps/web/scripts/analyze-bundle.ts type Dependency (line 5) | interface Dependency { type PackageGroup (line 12) | interface PackageGroup { type PackageJson (line 18) | interface PackageJson { function getDirectorySize (line 24) | function getDirectorySize(dirPath: string): number { function formatBytes (line 48) | function formatBytes(bytes: number): string { function getDependencies (line 59) | function getDependencies(): Record { function analyzeDependencies (line 72) | function analyzeDependencies(): Dependency[] { function findDuplicatePackages (line 96) | function findDuplicatePackages(dependencySizes: Dependency[]): PackageGr... function printAnalysis (line 117) | function printAnalysis(dependencySizes: Dependency[]): void { function printOptimizationOpportunities (line 147) | function printOptimizationOpportunities(dependencySizes: Dependency[]): ... function main (line 188) | function main(): void { FILE: apps/web/scripts/analyze-domains.ts function main (line 4) | async function main() { FILE: apps/web/scripts/analyze-link-webhooks.ts function main (line 12) | async function main() { FILE: apps/web/scripts/analyze-top-utms.ts function main (line 7) | async function main() { FILE: apps/web/scripts/analyze-utm-usage.ts function main (line 4) | async function main() { FILE: apps/web/scripts/annature/import-domains.ts function main (line 8) | async function main() { FILE: apps/web/scripts/buffer/delete-old-links.ts function main (line 5) | async function main() { FILE: apps/web/scripts/buffer/migrate-to-case-sensitive.ts function main (line 13) | async function main() { FILE: apps/web/scripts/bulk-archive-links.ts function main (line 6) | async function main() { FILE: apps/web/scripts/bulk-create-domains.ts function main (line 13) | async function main() { FILE: apps/web/scripts/bulk-create-links.ts function main (line 9) | async function main() { FILE: apps/web/scripts/bulk-delete-links.ts function main (line 9) | async function main() { FILE: apps/web/scripts/bulk-update-links.ts function main (line 7) | async function main() { FILE: apps/web/scripts/cache-popular-urls.ts function main (line 6) | async function main() { FILE: apps/web/scripts/cal/backfill-referral-links.ts type BackfillLinkProp (line 10) | interface BackfillLinkProp { function main (line 20) | async function main() { FILE: apps/web/scripts/check-customers.ts function main (line 4) | async function main() { FILE: apps/web/scripts/conversion-customers.ts function main (line 6) | async function main() { FILE: apps/web/scripts/convert-case-sensitive.ts function main (line 8) | async function main() { FILE: apps/web/scripts/convert-manual-commissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/create-integration.ts function main (line 6) | async function main() { FILE: apps/web/scripts/create-key.ts function main (line 8) | async function main() { FILE: apps/web/scripts/deactivate-programs.ts function main (line 5) | async function main() { FILE: apps/web/scripts/delete-link-cache.ts function main (line 7) | async function main() { FILE: apps/web/scripts/dev/seed.ts type Workspace (line 23) | type Workspace = Pick< type DomainSeed (line 48) | type DomainSeed = Pick; type FolderSeed (line 50) | type FolderSeed = Pick { type PartnerSeed (line 106) | type PartnerSeed = Pick< type SeedData (line 116) | type SeedData = { function main (line 562) | async function main() { FILE: apps/web/scripts/download-links.ts function main (line 6) | async function main() { FILE: apps/web/scripts/download-top-links.ts function main (line 8) | async function main() { FILE: apps/web/scripts/dub-domain-users.ts function main (line 4) | async function main() { FILE: apps/web/scripts/dub-partner-rewind.ts constant REWIND_EARNINGS_MINIMUM (line 6) | const REWIND_EARNINGS_MINIMUM = 1_00; function main (line 8) | async function main() { FILE: apps/web/scripts/dub-sdk.ts function main (line 4) | async function main() { FILE: apps/web/scripts/dub-wrapped.ts function main (line 6) | async function main() { FILE: apps/web/scripts/find-link.ts function main (line 4) | async function main() { FILE: apps/web/scripts/find-workspaces-without-users.ts function main (line 6) | async function main() { FILE: apps/web/scripts/fix-broken-applications.ts function main (line 7) | async function main() { FILE: apps/web/scripts/fix-broken-link-tags.ts function main (line 4) | async function main() { FILE: apps/web/scripts/fix-broken-partner-users.ts function main (line 4) | async function main() { FILE: apps/web/scripts/fix-broken-root-domains.ts function main (line 8) | async function main() { FILE: apps/web/scripts/fix-broken-workspace-users.ts function main (line 4) | async function main() { FILE: apps/web/scripts/fix-usage-count.ts function getLastMonthDate (line 4) | function getLastMonthDate(billingCycleStart: number) { function getThisMonthDate (line 15) | function getThisMonthDate(billingCycleStart: number) { function main (line 26) | async function main() { FILE: apps/web/scripts/format-clicks.ts function createLinksMapFromFile (line 6) | function createLinksMapFromFile(filePath: string) { function getPartitionFileName (line 29) | function getPartitionFileName(timestamp: string) { function getWriteStreamForPartition (line 49) | function getWriteStreamForPartition(partitionFileName: string) { function main (line 60) | async function main() { FILE: apps/web/scripts/format-links.ts function main (line 17) | async function main() { FILE: apps/web/scripts/framer/1-process-framer-combined.ts function processFramerData (line 32) | async function processFramerData(linkToBackfill: { function main (line 134) | async function main() { FILE: apps/web/scripts/framer/2-sort-lead-events-by-date.ts type PayloadItem (line 11) | type PayloadItem = { function main (line 20) | async function main() { FILE: apps/web/scripts/framer/3-backfill-tb-events.ts type PayloadItem (line 17) | type PayloadItem = { constant FRAMER_WORKSPACE_ID (line 26) | const FRAMER_WORKSPACE_ID = "xxx"; constant DOMAIN (line 27) | const DOMAIN = "framer.link"; constant PAGE_NUMBER (line 28) | const PAGE_NUMBER = 14; constant PAGE_SIZE (line 29) | const PAGE_SIZE = 2500; function main (line 31) | async function main() { FILE: apps/web/scripts/framer/backfill-commissions.ts constant FRAMER_PROGRAM_ID (line 13) | const FRAMER_PROGRAM_ID = "prog_"; constant MONTH_TO_BACKFILL (line 14) | const MONTH_TO_BACKFILL = new Date("2025-05-15"); function main (line 16) | async function main() { FILE: apps/web/scripts/framer/check-pending-payout-totals.ts function main (line 4) | async function main() { FILE: apps/web/scripts/framer/get-links-to-backfill.ts function main (line 8) | async function main() { FILE: apps/web/scripts/framer/get-remaining-links-to-backfill.ts function main (line 16) | async function main() { function processCombinedData (line 39) | function processCombinedData() { FILE: apps/web/scripts/framer/mark-commissions-paid.ts function main (line 8) | async function main() { FILE: apps/web/scripts/framer/mark-commissions-pending.ts function main (line 8) | async function main() { FILE: apps/web/scripts/framer/process-lead-events.ts type RawDataProps (line 9) | type RawDataProps = { type ProcessedDataProps (line 16) | type ProcessedDataProps = { constant BATCH (line 27) | const BATCH = 7; constant FRAMER_WORKSPACE_ID (line 28) | const FRAMER_WORKSPACE_ID = "xxx"; function main (line 30) | async function main() { FILE: apps/web/scripts/framer/tally-commissions.ts function main (line 5) | async function main() { FILE: apps/web/scripts/get-api-users.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-customers.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-inactive-users.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-premium-workspaces.ts function main (line 7) | async function main() { FILE: apps/web/scripts/get-top-domains-for-links.ts function main (line 5) | async function main() { FILE: apps/web/scripts/get-top-links-for-workspace.ts function main (line 6) | async function main() { FILE: apps/web/scripts/get-users-by-links.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-users-with-multiple-free-workspaces.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-users.ts function main (line 6) | async function main() { FILE: apps/web/scripts/get-workspaces-by-clicks.ts function main (line 4) | async function main() { FILE: apps/web/scripts/get-workspaces-by-links.ts function main (line 4) | async function main() { FILE: apps/web/scripts/hash-speed.ts function main (line 3) | async function main() { FILE: apps/web/scripts/lua-convert.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrate-commission-attributes.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/backfill-application-groupId.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-attribution.ts function main (line 14) | async function main() { FILE: apps/web/scripts/migrations/backfill-banned-partner-links.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-click-commissions.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/backfill-commissions-rewardId.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-cross-program-ban-fraud-events.ts function main (line 8) | async function main() { FILE: apps/web/scripts/migrations/backfill-customer-first-sale.ts function main (line 18) | async function main() { FILE: apps/web/scripts/migrations/backfill-customer-partner-ids.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-customer-sales.ts function main (line 12) | async function main() { FILE: apps/web/scripts/migrations/backfill-customer-subscription-cancellation.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-customers.ts function main (line 17) | async function main() { FILE: apps/web/scripts/migrations/backfill-dashboards.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-deepview.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-default-payout-method.ts constant BATCH_SIZE (line 5) | const BATCH_SIZE = 500; function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-default-program-ids.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-discoverableat.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-domain-logo.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-folders-limit.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-folders-usage.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-group-links-pgdl-acme.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-group-links-pgdl.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/backfill-group-links-settings.ts function main (line 10) | async function main() { FILE: apps/web/scripts/migrations/backfill-group-settings.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-invoice-paid-at.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-invoice-payment-method.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-invoice-prefixes.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-link-commissions.ts function main (line 13) | async function main() { FILE: apps/web/scripts/migrations/backfill-link-partner-group-ids.ts constant LINKS_PER_BATCH (line 7) | const LINKS_PER_BATCH = 1000; constant PR_MERGE_TIMESTAMP (line 8) | const PR_MERGE_TIMESTAMP = new Date("2025-11-07T00:00:00Z"); function main (line 10) | async function main() { FILE: apps/web/scripts/migrations/backfill-link-stats.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-link-webhooks.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-missing-lead-commissions.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/backfill-missing-sales.ts function main (line 17) | async function main() { FILE: apps/web/scripts/migrations/backfill-notification-email-columns.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-notification-email-deliveredat.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-notification-preferences.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-partner-groupid-logs.ts function main (line 20) | async function main() { FILE: apps/web/scripts/migrations/backfill-partner-groups-verify.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-partner-groups.ts function main (line 10) | async function main() { FILE: apps/web/scripts/migrations/backfill-partner-platforms.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-payout-initiated-at.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-payout-method-hash.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-payout-method.ts constant BATCH_SIZE (line 5) | const BATCH_SIZE = 500; function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-payout-mode.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/backfill-performance-bounty-submissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-plain-customers.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-program-categories.ts type ProgramResult (line 18) | interface ProgramResult { function scrapeWebsite (line 35) | async function scrapeWebsite(url: string) { function categorizeProgram (line 61) | async function categorizeProgram( function main (line 132) | async function main() { FILE: apps/web/scripts/migrations/backfill-program-marketplace-descriptions.ts function scrapeWebsite (line 14) | async function scrapeWebsite(url: string) { function main (line 40) | async function main() { FILE: apps/web/scripts/migrations/backfill-program-marketplace.ts function scrapeWebsite (line 15) | async function scrapeWebsite(url: string) { function main (line 40) | async function main() { FILE: apps/web/scripts/migrations/backfill-referral-links.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/backfill-reward-activity-log.ts function toRewardActivitySnapshot (line 10) | function toRewardActivitySnapshot(reward: RewardProps) { function main (line 26) | async function main() { FILE: apps/web/scripts/migrations/backfill-reward-modifier-ids.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/backfill-saml-sso.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-short-links.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-stripe-connect.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-submission-completedat.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/backfill-total-commissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/migrate-application-formdata.ts function main (line 45) | async function main() { FILE: apps/web/scripts/migrations/migrate-application-submissions.ts function main (line 49) | async function main() { FILE: apps/web/scripts/migrations/migrate-bounties-submission-requirements.ts function main (line 8) | async function main() { FILE: apps/web/scripts/migrations/migrate-campaign-message-to-markdown.ts function main (line 4) | async function main() { function convertToMarkdown (line 55) | function convertToMarkdown(text: string): string { FILE: apps/web/scripts/migrations/migrate-discounts.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/migrate-domains.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/migrate-images.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/migrate-integrations.ts function main (line 3) | async function main() { FILE: apps/web/scripts/migrations/migrate-lander-data.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/migrate-links-to-workspaces.ts constant DUB_PROJECT_ID (line 4) | const DUB_PROJECT_ID = "cl7pj5kq4006835rbjlt2ofka"; constant DUB_USER_ID (line 5) | const DUB_USER_ID = "cl7p1s07k000687rbuhpwqkqa"; function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/migrate-partner-links.ts function main (line 7) | async function main() { FILE: apps/web/scripts/migrations/migrate-partners-with-tenantids.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/migrate-reward-amounts.ts function main (line 9) | async function main() { FILE: apps/web/scripts/migrations/migrate-rewards-remainder.ts function main (line 11) | async function main() { FILE: apps/web/scripts/migrations/migrate-rewards.ts function main (line 16) | async function main() { FILE: apps/web/scripts/migrations/migrate-sales.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/migrate-workflow-triggers.ts function main (line 4) | async function main() { FILE: apps/web/scripts/migrations/remove-duplicate-notification-emails.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/restore-group-ids.ts function main (line 8) | async function main() { FILE: apps/web/scripts/migrations/sanitize-partner-platform.ts function main (line 6) | async function main() { FILE: apps/web/scripts/migrations/update-discoverable-partners.ts function main (line 5) | async function main() { FILE: apps/web/scripts/migrations/update-payout-mode-to-internal.ts function main (line 4) | async function main() { FILE: apps/web/scripts/misc/cleanup-fraud-events.ts function main (line 5) | async function main() { FILE: apps/web/scripts/misc/cleanup-generic-email-fraud-events.ts function main (line 6) | async function main() { FILE: apps/web/scripts/misc/fraud-campaign-ids.ts function main (line 5) | async function main() { FILE: apps/web/scripts/misc/remove-fraud-events.ts function main (line 8) | async function main() { FILE: apps/web/scripts/misc/restore-link-analytics.ts function main (line 10) | async function main() { FILE: apps/web/scripts/misc/restore-links.ts function main (line 11) | async function main() { FILE: apps/web/scripts/misc/restore-program-enrollments.ts function main (line 34) | async function main() { FILE: apps/web/scripts/misc/restore-program-folders.ts function main (line 7) | async function main() { FILE: apps/web/scripts/move-links-to-folder.ts function main (line 8) | async function main() { FILE: apps/web/scripts/partners/aggregate-stats-seeding.ts function main (line 6) | async function main() { FILE: apps/web/scripts/partners/check-pending-paypal-payouts.ts function main (line 9) | async function main() { FILE: apps/web/scripts/partners/combine-payouts.ts function main (line 6) | async function main() { FILE: apps/web/scripts/partners/delete-partner-profile.ts function main (line 6) | async function main() { FILE: apps/web/scripts/partners/delete-partners-for-program.ts function main (line 7) | async function main() { FILE: apps/web/scripts/partners/delete-program-application.ts function main (line 4) | async function main() { FILE: apps/web/scripts/partners/delete-program-enrollment.ts function main (line 5) | async function main() { FILE: apps/web/scripts/partners/delete-program.ts function main (line 6) | async function main() { FILE: apps/web/scripts/partners/export-partners.ts function main (line 7) | async function main() { FILE: apps/web/scripts/partners/fix-partner-groups.ts function main (line 5) | async function main() { FILE: apps/web/scripts/partners/fix-partner-payouts.ts function main (line 5) | async function main() { FILE: apps/web/scripts/partners/get-largest-programs.ts function main (line 4) | async function main() { FILE: apps/web/scripts/partners/invalidate-partner-links.ts function main (line 6) | async function main() { FILE: apps/web/scripts/partners/merge-partner-profile.ts function main (line 12) | async function main() { FILE: apps/web/scripts/partners/update-links.ts function main (line 11) | async function main() { FILE: apps/web/scripts/partners/update-partner-country.ts function main (line 8) | async function main() { FILE: apps/web/scripts/partners/update-payout-dates.ts function main (line 4) | async function main() { FILE: apps/web/scripts/perplexity/backfill-leads.ts function main (line 24) | async function main() { FILE: apps/web/scripts/perplexity/backfill-tenantids.ts function main (line 15) | async function main() { FILE: apps/web/scripts/perplexity/ban-partners.ts function main (line 15) | async function main() { FILE: apps/web/scripts/perplexity/deactivate-partners.ts function main (line 7) | async function main() { FILE: apps/web/scripts/perplexity/move-partners.ts constant EMAIL_DOMAINS (line 4) | const EMAIL_DOMAINS = []; function main (line 6) | async function main() { FILE: apps/web/scripts/perplexity/partners-updated-countries.ts function main (line 9) | async function main() { FILE: apps/web/scripts/perplexity/review-bounties.ts function main (line 13) | async function main() { FILE: apps/web/scripts/perplexity/update-commissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/perplexity/update-notifications.ts function main (line 5) | async function main() { FILE: apps/web/scripts/persist-customer-avatars.ts constant R2_URL (line 7) | const R2_URL = "https://dubassets.com"; function main (line 9) | async function main() { FILE: apps/web/scripts/processed-payouts.ts function main (line 7) | async function main() { FILE: apps/web/scripts/programs/1-import-partners.ts type PartnerData (line 10) | type PartnerData = { function main (line 21) | async function main() { FILE: apps/web/scripts/programs/2-import-partner-links.ts type PartnerLinkData (line 10) | type PartnerLinkData = { function main (line 17) | async function main() { FILE: apps/web/scripts/programs/3-import-customer-leads.ts type CustomerData (line 13) | type CustomerData = { function main (line 23) | async function main() { FILE: apps/web/scripts/programs/4-export-stripe-invoices.ts type CustomerData (line 8) | type CustomerData = { function main (line 17) | async function main() { FILE: apps/web/scripts/programs/5-import-customer-sales.ts type InvoiceData (line 17) | type InvoiceData = { function main (line 26) | async function main() { FILE: apps/web/scripts/programs/add-to-marketplace.ts function scrapeWebsite (line 26) | async function scrapeWebsite(url: string) { function categorizeProgram (line 52) | async function categorizeProgram( function main (line 123) | async function main() { FILE: apps/web/scripts/programs/backfill-custom-commissions.ts function main (line 17) | async function main() { FILE: apps/web/scripts/programs/backfill-discount-codes.ts function main (line 14) | async function main() { FILE: apps/web/scripts/programs/backfill-reuse-commission.ts constant COMMISSION_TYPE (line 34) | const COMMISSION_TYPE = "sale" as "lead" | "sale"; constant PRODUCT_ID (line 35) | const PRODUCT_ID: string | undefined = undefined; function main (line 37) | async function main() { FILE: apps/web/scripts/programs/delete-program-enrollments.ts function main (line 7) | async function main() { FILE: apps/web/scripts/programs/update-commissions-canceled.ts function main (line 5) | async function main() { FILE: apps/web/scripts/programs/update-commissions-paid.ts function main (line 4) | async function main() { FILE: apps/web/scripts/remove-workspace-scopes.ts function main (line 4) | async function main() { FILE: apps/web/scripts/restore-backup.ts function main (line 9) | async function main() { FILE: apps/web/scripts/revert-partner-payout-demo.ts function main (line 6) | async function main() { FILE: apps/web/scripts/reward-conditions.ts function main (line 4) | async function main() { FILE: apps/web/scripts/seed-invite-codes.ts function main (line 5) | async function main() { FILE: apps/web/scripts/seed-support-embeddings.ts function fetchArticleUrls (line 17) | async function fetchArticleUrls(): Promise { function main (line 49) | async function main() { FILE: apps/web/scripts/send-batch-emails.ts function main (line 8) | async function main() { FILE: apps/web/scripts/sent-mail-reset.ts function main (line 4) | async function main() { FILE: apps/web/scripts/ship30/backfill-leads.ts function main (line 19) | async function main() { FILE: apps/web/scripts/sitemap-importer.ts function fetchSitemap (line 7) | async function fetchSitemap(url: string) { function main (line 21) | async function main() { FILE: apps/web/scripts/stripe/backfill-stripe-webhook-events.ts function main (line 7) | async function main() { FILE: apps/web/scripts/stripe/backfill-trace-id.ts function main (line 6) | async function main() { FILE: apps/web/scripts/stripe/delete-connected-account.ts function main (line 4) | async function main() { FILE: apps/web/scripts/stripe/fix-processed-payouts.ts function main (line 5) | async function main() { FILE: apps/web/scripts/stripe/get-connected-customer.ts function main (line 4) | async function main() { FILE: apps/web/scripts/stripe/manual-payouts.ts function main (line 5) | async function main() { FILE: apps/web/scripts/stripe/retrieve-balance.ts function main (line 4) | async function main() { FILE: apps/web/scripts/stripe/search-customers.ts function main (line 4) | async function main() { FILE: apps/web/scripts/stripe/update-payouts-schedule.ts function main (line 5) | async function main() { FILE: apps/web/scripts/stripe/update-stripe-customers.ts function main (line 6) | async function main() { FILE: apps/web/scripts/sync-conversions.ts function main (line 9) | async function main() { FILE: apps/web/scripts/sync-domain-clicks.ts function main (line 14) | async function main() { FILE: apps/web/scripts/sync-expired-links.ts function main (line 7) | async function main() { FILE: apps/web/scripts/sync-limits.ts function main (line 4) | async function main() { FILE: apps/web/scripts/sync-link-clicks.ts function main (line 9) | async function main() { FILE: apps/web/scripts/sync-links-metadata.ts function main (line 8) | async function main() { FILE: apps/web/scripts/sync-tag-analytics.ts function main (line 5) | async function main() { FILE: apps/web/scripts/tella/remind-applications.ts function main (line 5) | async function main() { FILE: apps/web/scripts/tella/update-commission-flat.ts function main (line 10) | async function main() { FILE: apps/web/scripts/tella/update-commission-percentage.ts function main (line 10) | async function main() { FILE: apps/web/scripts/tella/update-commissions.ts function main (line 9) | async function main() { FILE: apps/web/scripts/tella/update-reward-tier.ts function main (line 9) | async function main() { FILE: apps/web/scripts/test-paypal-payouts.ts function main (line 6) | async function main() { FILE: apps/web/scripts/testimonial/final-sync-commissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/testimonial/sync-commissions.ts function main (line 6) | async function main() { FILE: apps/web/scripts/testimonial/update-commissions.ts function main (line 8) | async function main() { FILE: apps/web/scripts/tinybird/delete-lead-event.ts function main (line 4) | async function main() { FILE: apps/web/scripts/tinybird/delete-links.ts function main (line 4) | async function main() { FILE: apps/web/scripts/tinybird/delete-sale-event.ts function main (line 4) | async function main() { FILE: apps/web/scripts/tinybird/update-click-event.ts function main (line 5) | async function main() { FILE: apps/web/scripts/tinybird/update-lead-event.ts function main (line 15) | async function main() { FILE: apps/web/scripts/tinybird/update-sale-event.ts function main (line 15) | async function main() { FILE: apps/web/scripts/trigger-update-partner-stats.ts function main (line 6) | async function main() { FILE: apps/web/scripts/unban-links.ts function main (line 6) | async function main() { FILE: apps/web/scripts/update-integrations.ts function main (line 4) | async function main() { FILE: apps/web/scripts/update-link-owner.ts function main (line 6) | async function main() { FILE: apps/web/scripts/update-not-found.ts function main (line 4) | async function main() { FILE: apps/web/scripts/update-payment-failed.ts function main (line 8) | async function main() { FILE: apps/web/scripts/update-payouts-limits.ts function main (line 8) | async function main() { FILE: apps/web/scripts/update-referral-form-data.ts function main (line 7) | async function main() { FILE: apps/web/scripts/update-spam-links.ts function main (line 4) | async function main() { FILE: apps/web/scripts/update-subscribers.ts function main (line 4) | async function main() { FILE: apps/web/scripts/update-user-notifications.ts function main (line 5) | async function main() { FILE: apps/web/scripts/update-webhook-cache.ts function main (line 5) | async function main() { FILE: apps/web/scripts/update-workspace-dates.ts function main (line 5) | async function main() { FILE: apps/web/scripts/update-workspace-tags.ts function main (line 5) | async function main() { FILE: apps/web/scripts/upload-users.ts function main (line 7) | async function main() { FILE: apps/web/scripts/wispr-flow/update-links.ts function main (line 6) | async function main() { FILE: apps/web/tests/folders/index.test.ts type FolderRecord (line 7) | type FolderRecord = z.infer; FILE: apps/web/tests/fraud/fraud-groups.test.ts type FraudGroup (line 8) | type FraudGroup = z.infer; FILE: apps/web/tests/fraud/index.test.ts function waitForFraudEvent (line 320) | async function waitForFraudEvent({ FILE: apps/web/tests/links/bulk-create-link.test.ts type LinkWithTags (line 10) | type LinkWithTags = Link & { type VerifyBulkLinksParams (line 24) | interface VerifyBulkLinksParams { FILE: apps/web/tests/links/create-link.test.ts type FolderRecord (line 12) | type FolderRecord = z.infer; FILE: apps/web/tests/misc/check-eligibility-requirements.test.ts function evaluate (line 4) | function evaluate( FILE: apps/web/tests/misc/filter-active-group-bounties.test.ts constant GROUP_ID (line 5) | const GROUP_ID = "grp_test_123"; constant OTHER_GROUP_ID (line 6) | const OTHER_GROUP_ID = "grp_other_456"; constant NOW (line 8) | const NOW = new Date("2025-06-01T12:00:00.000Z"); function makeCandidate (line 10) | function makeCandidate( FILE: apps/web/tests/partners/create-partner.test.ts function reEscape (line 12) | function reEscape(s: string) { FILE: apps/web/tests/rewards/click-reward.test.ts constant REWARD_ID (line 9) | const REWARD_ID = "rw_ZE0KAEtZuOGwNHtoVm1U0JpF"; FILE: apps/web/tests/setupTests.ts method constructor (line 13) | constructor(_config: any) {} method constructor (line 21) | constructor(_config: any) {} method constructor (line 24) | constructor(_config: any) {} FILE: apps/web/tests/utils/fetch-partner.ts function fetchPartner (line 5) | async function fetchPartner({ FILE: apps/web/tests/utils/helpers.ts function retry (line 38) | async function retry( function expectSortedById (line 61) | function expectSortedById( function expectSortedByCreatedAt (line 75) | function expectSortedByCreatedAt( function expectSortedByCreatedAtAsc (line 85) | function expectSortedByCreatedAtAsc< function expectNoOverlap (line 95) | function expectNoOverlap(a: T[], b: T[]) { FILE: apps/web/tests/utils/http.ts type Request (line 1) | type Request = { type HttpClientConfig (line 9) | type HttpClientConfig = { type Response (line 14) | type Response = { class HttpClient (line 19) | class HttpClient { method constructor (line 23) | public constructor(config: HttpClientConfig) { method request (line 28) | private async request( method get (line 54) | public async get(req: Request) { method post (line 58) | public async post(req: Request) { method patch (line 62) | public async patch(req: Request) { method put (line 66) | public async put(req: Request) { method delete (line 70) | public async delete(req: Request) { FILE: apps/web/tests/utils/integration-member.ts type Resources (line 8) | interface Resources { class IntegrationHarnessMember (line 15) | class IntegrationHarnessMember { method constructor (line 22) | constructor(ctx?: TestContext) { method init (line 34) | async init() { method deleteLink (line 62) | public async deleteLink(id: string) { FILE: apps/web/tests/utils/integration-old.ts type Resources (line 8) | interface Resources { class IntegrationHarnessOld (line 14) | class IntegrationHarnessOld { method constructor (line 21) | constructor(ctx?: TestContext) { method init (line 33) | async init() { method deleteLink (line 61) | public async deleteLink(id: string) { FILE: apps/web/tests/utils/integration.ts type Resources (line 8) | interface Resources { class IntegrationHarness (line 15) | class IntegrationHarness { method constructor (line 22) | constructor(ctx?: TestContext) { method init (line 34) | async init() { method deleteLink (line 69) | public async deleteLink(id: string) { method deleteTag (line 78) | public async deleteTag(id: string) { method deleteDomain (line 87) | public async deleteDomain(slug: string) { method deleteCustomer (line 94) | public async deleteCustomer(id: string) { method deleteFolder (line 101) | public async deleteFolder(id: string) { method deleteBounty (line 108) | public async deleteBounty(id: string) { method deleteCampaign (line 117) | public async deleteCampaign(id: string) { FILE: apps/web/tests/utils/resource.ts constant E2E_USER_ID (line 1) | const E2E_USER_ID = "clxz1q7c7000hbqx5ckv4r82h"; constant E2E_USER_ID_MEMBER (line 2) | const E2E_USER_ID_MEMBER = "user_1KAERYAJ10MDM56EB9XPX4ZZ8"; constant E2E_WORKSPACE_ID (line 3) | const E2E_WORKSPACE_ID = "ws_clrei1gld0002vs9mzn93p8ik"; constant E2E_LINK (line 5) | const E2E_LINK = { constant E2E_TRACK_CLICK_HEADERS (line 11) | const E2E_TRACK_CLICK_HEADERS = { constant E2E_TAG (line 17) | const E2E_TAG = { constant E2E_TAG_2 (line 23) | const E2E_TAG_2 = { constant E2E_WEBHOOK_ID (line 29) | const E2E_WEBHOOK_ID = "wh_MHR7sZXXtZ7keBaNYZ30rQ0v"; constant E2E_WRITE_ACCESS_FOLDER_ID (line 32) | const E2E_WRITE_ACCESS_FOLDER_ID = "fold_1JP8FMYP08RGJKJB3S4DNYH13"; constant E2E_READ_ONLY_FOLDER_ID (line 33) | const E2E_READ_ONLY_FOLDER_ID = "fold_1JP8FN462884CA6JJCVPAHAD4"; constant E2E_NO_ACCESS_FOLDER_ID (line 34) | const E2E_NO_ACCESS_FOLDER_ID = "fold_1JRZXGNNYWDA5QTT8CVDB3M23"; constant E2E_READ_ONLY_FOLDER_LINK_ID (line 35) | const E2E_READ_ONLY_FOLDER_LINK_ID = "link_1KAESR5Z733716RTT4E1RSTW6"; constant E2E_NO_ACCESS_FOLDER_LINK_ID (line 36) | const E2E_NO_ACCESS_FOLDER_LINK_ID = "link_1KAESQ2Z6Q35WDV5NGSEVPFB0"; constant E2E_PUBLIC_ANALYTICS_FOLDER_ID (line 37) | const E2E_PUBLIC_ANALYTICS_FOLDER_ID = "fold_1JP8FXWM7PECSA4SA7FMGHDWE"; constant E2E_CUSTOMER_ID (line 40) | const E2E_CUSTOMER_ID = "cm25onzuv0001s1bbxchrc0ae"; constant E2E_CUSTOMER_EXTERNAL_ID (line 41) | const E2E_CUSTOMER_EXTERNAL_ID = "cus_jTrfVKYN3Buc3F80JoqBiY0g"; constant E2E_CUSTOMER_SALE_CONDITIONS_EXTERNAL_ID (line 42) | const E2E_CUSTOMER_SALE_CONDITIONS_EXTERNAL_ID = constant E2E_CUSTOMER_COUNTRY_CONDITIONS_EXTERNAL_ID (line 44) | const E2E_CUSTOMER_COUNTRY_CONDITIONS_EXTERNAL_ID = constant E2E_CUSTOMER_SIGNUP_DATE_CONDITIONS_EXTERNAL_ID (line 46) | const E2E_CUSTOMER_SIGNUP_DATE_CONDITIONS_EXTERNAL_ID = constant E2E_SALE_REWARD (line 50) | const E2E_SALE_REWARD = { constant E2E_LEAD_REWARD (line 140) | const E2E_LEAD_REWARD = { constant E2E_CUSTOMER_WITH_DISCOUNT (line 178) | const E2E_CUSTOMER_WITH_DISCOUNT = { constant E2E_DISCOUNT (line 184) | const E2E_DISCOUNT = { constant E2E_PROGRAM (line 195) | const E2E_PROGRAM = { constant E2E_PARTNER (line 200) | const E2E_PARTNER = { constant E2E_PARTNER_GROUP (line 211) | const E2E_PARTNER_GROUP = { constant E2E_PARTNERS (line 216) | const E2E_PARTNERS = [ constant E2E_FRAUD_PARTNER (line 235) | const E2E_FRAUD_PARTNER = { constant E2E_FRAUD_REFERRAL_SOURCE_BANNED_DOMAIN (line 260) | const E2E_FRAUD_REFERRAL_SOURCE_BANNED_DOMAIN = FILE: apps/web/tests/utils/verify-commission.ts type VerifyCommissionProps (line 5) | interface VerifyCommissionProps { constant POLL_INTERVAL_MS (line 13) | const POLL_INTERVAL_MS = 5000; constant TIMEOUT_MS (line 14) | const TIMEOUT_MS = 30000; FILE: apps/web/tests/workflows/move-group-workflow.test.ts function cleanupOrphanedGroup (line 12) | async function cleanupOrphanedGroup( FILE: apps/web/tests/workflows/utils/track-e2e-lead.ts function trackE2ELead (line 4) | async function trackE2ELead( FILE: apps/web/tests/workflows/utils/verify-bounty-submission.ts type VerifyBountySubmissionProps (line 4) | interface VerifyBountySubmissionProps { constant POLL_INTERVAL_MS (line 12) | const POLL_INTERVAL_MS = 5000; constant TIMEOUT_MS (line 13) | const TIMEOUT_MS = 60000; FILE: apps/web/tests/workflows/utils/verify-campaign-sent.ts type VerifyCampaignSentProps (line 4) | interface VerifyCampaignSentProps { constant POLL_INTERVAL_MS (line 10) | const POLL_INTERVAL_MS = 5000; constant TIMEOUT_MS (line 11) | const TIMEOUT_MS = 60000; FILE: apps/web/tests/workflows/utils/verify-partner-group-move.ts type VerifyPartnerGroupMoveProps (line 5) | interface VerifyPartnerGroupMoveProps { constant POLL_INTERVAL_MS (line 11) | const POLL_INTERVAL_MS = 5000; constant TIMEOUT_MS (line 12) | const TIMEOUT_MS = 60000; FILE: apps/web/ui/account/delete-account.tsx function DeleteAccountSection (line 5) | function DeleteAccountSection() { FILE: apps/web/ui/account/update-default-workspace.tsx function UpdateDefaultWorkspace (line 9) | function UpdateDefaultWorkspace() { FILE: apps/web/ui/account/update-subscription.tsx function UpdateSubscription (line 8) | function UpdateSubscription() { FILE: apps/web/ui/account/upload-avatar.tsx function UploadAvatar (line 9) | function UploadAvatar() { FILE: apps/web/ui/account/user-id.tsx function UserId (line 6) | function UserId() { FILE: apps/web/ui/activity-logs/action-renderers/partner-group-changed-renderer.tsx type GroupChangeSet (line 7) | interface GroupChangeSet { function Label (line 12) | function Label({ children }: { children: ReactNode }) { function PartnerGroupChangedRenderer (line 18) | function PartnerGroupChangedRenderer({ log }: { log: ActivityLog }) { FILE: apps/web/ui/activity-logs/action-renderers/referral-created-renderer.tsx function Label (line 9) | function Label({ children }: { children: ReactNode }) { type ReferralCreatedRendererProps (line 15) | interface ReferralCreatedRendererProps { function ReferralCreatedRenderer (line 19) | function ReferralCreatedRenderer({ log }: ReferralCreatedRendererProps) { FILE: apps/web/ui/activity-logs/action-renderers/referral-status-changed-renderer.tsx type StatusChangeSet (line 8) | interface StatusChangeSet { function Label (line 13) | function Label({ children }: { children: ReactNode }) { function ReferralStatusChangedRenderer (line 19) | function ReferralStatusChangedRenderer({ log }: { log: ActivityLog }) { FILE: apps/web/ui/activity-logs/action-renderers/reward-activity-renderer.tsx type RewardActivityConfig (line 10) | interface RewardActivityConfig { constant REWARD_ACTIVITY_CONFIG (line 16) | const REWARD_ACTIVITY_CONFIG: Record< type RewardActivityRendererProps (line 60) | interface RewardActivityRendererProps { function RewardActivityRenderer (line 64) | function RewardActivityRenderer({ log }: RewardActivityRendererProps) { FILE: apps/web/ui/activity-logs/activity-entry-chips.tsx type ActivityChipProps (line 11) | interface ActivityChipProps { type GroupPillProps (line 16) | interface GroupPillProps extends Pick {} type SourcePillProps (line 18) | interface SourcePillProps { type UserChipProps (line 23) | interface UserChipProps { type ProgramChipProps (line 27) | interface ProgramChipProps { type ActorChipProps (line 31) | interface ActorChipProps { function ActivityChip (line 35) | function ActivityChip({ children, className }: ActivityChipProps) { function GroupPill (line 48) | function GroupPill({ name, color }: GroupPillProps) { function SourcePill (line 68) | function SourcePill({ icon, label }: SourcePillProps) { function UserChip (line 77) | function UserChip({ user }: UserChipProps) { function ProgramChip (line 90) | function ProgramChip({ program }: ProgramChipProps) { function SystemChip (line 103) | function SystemChip() { function ActorChip (line 112) | function ActorChip({ log }: ActorChipProps) { function ReferralStatusPill (line 128) | function ReferralStatusPill({ status }: { status: ReferralStatus }) { function ActivityLogUserAvatar (line 136) | function ActivityLogUserAvatar({ user }: { user: ActivityLog["user"] }) { FILE: apps/web/ui/activity-logs/activity-feed.tsx constant ACTIVITY_ITEM_MAP (line 7) | const ACTIVITY_ITEM_MAP: Record< type ActivityFeedProps (line 18) | interface ActivityFeedProps { function ActivityFeed (line 23) | function ActivityFeed({ logs, resourceType }: ActivityFeedProps) { function ActivityFeedSkeleton (line 43) | function ActivityFeedSkeleton({ count = 3 }: { count?: number }) { FILE: apps/web/ui/activity-logs/activity-log-context.tsx type ActivityLogView (line 6) | type ActivityLogView = "program" | "partner"; type ActivityLogContextValue (line 8) | interface ActivityLogContextValue { function ActivityLogProvider (line 18) | function ActivityLogProvider({ function useActivityLogContext (line 39) | function useActivityLogContext(): ActivityLogContextValue { FILE: apps/web/ui/activity-logs/activity-log-description.tsx type ActivityLogDescriptionProps (line 5) | interface ActivityLogDescriptionProps { type Actor (line 9) | interface Actor { function ActivityLogDescription (line 15) | function ActivityLogDescription({ FILE: apps/web/ui/activity-logs/activity-log-registry.tsx type ActorType (line 17) | type ActorType = "USER" | "SYSTEM"; type ActivityLogRenderer (line 19) | type ActivityLogRenderer = (props: { log: ActivityLog }) => ReactNode; function getActorType (line 21) | function getActorType(log: ActivityLog): ActorType { constant ACTIVITY_LOG_ICONS (line 25) | const ACTIVITY_LOG_ICONS: Partial< constant ACTIVITY_LOG_REGISTRY (line 46) | const ACTIVITY_LOG_REGISTRY: Array<{ function getActivityLogRenderer (line 90) | function getActivityLogRenderer( function getActivityLogIcon (line 96) | function getActivityLogIcon(log: ActivityLog): ReactNode { FILE: apps/web/ui/activity-logs/partner-group-activity-item.tsx type PartnerGroupActivityItemProps (line 9) | interface PartnerGroupActivityItemProps { function PartnerGroupActivityItem (line 14) | function PartnerGroupActivityItem({ FILE: apps/web/ui/activity-logs/partner-group-activity-section.tsx function PartnerGroupActivitySection (line 9) | function PartnerGroupActivitySection({ FILE: apps/web/ui/activity-logs/partner-group-history-sheet.tsx type PartnerGroupHistorySheetProps (line 10) | interface PartnerGroupHistorySheetProps { function PartnerGroupHistorySheetContent (line 16) | function PartnerGroupHistorySheetContent({ function PartnerGroupHistorySheet (line 41) | function PartnerGroupHistorySheet({ function usePartnerGroupHistorySheet (line 52) | function usePartnerGroupHistorySheet({ FILE: apps/web/ui/activity-logs/partner-referral-activity-section.tsx function PartnerReferralActivitySection (line 11) | function PartnerReferralActivitySection({ FILE: apps/web/ui/activity-logs/referral-activity-item.tsx type ReferralActivityItemProps (line 10) | interface ReferralActivityItemProps { function ReferralActivityItem (line 15) | function ReferralActivityItem({ FILE: apps/web/ui/activity-logs/referral-activity-section.tsx function ReferralActivitySection (line 9) | function ReferralActivitySection({ FILE: apps/web/ui/activity-logs/reward-activity-item.tsx type RewardActivityItemProps (line 7) | interface RewardActivityItemProps { function RewardActivityItem (line 12) | function RewardActivityItem({ FILE: apps/web/ui/activity-logs/reward-activity-section.tsx function RewardActivitySection (line 12) | function RewardActivitySection({ FILE: apps/web/ui/activity-logs/reward-history-sheet.tsx type RewardHistorySheetProps (line 13) | interface RewardHistorySheetProps { function RewardHistorySheetContent (line 19) | function RewardHistorySheetContent({ function RewardHistorySheet (line 48) | function RewardHistorySheet({ function useRewardHistorySheet (line 59) | function useRewardHistorySheet({ FILE: apps/web/ui/analytics/analytics-area-chart.tsx constant DEMO_DATA (line 14) | const DEMO_DATA = [ function AnalyticsAreaChart (line 30) | function AnalyticsAreaChart({ FILE: apps/web/ui/analytics/analytics-card.tsx function AnalyticsCard (line 23) | function AnalyticsCard({ function SubTabs (line 217) | function SubTabs({ FILE: apps/web/ui/analytics/analytics-export-button.tsx function AnalyticsExportButton (line 7) | function AnalyticsExportButton({ FILE: apps/web/ui/analytics/analytics-funnel-chart.tsx function AnalyticsFunnelChart (line 6) | function AnalyticsFunnelChart({ demo = false }: { demo?: boolean }) { FILE: apps/web/ui/analytics/analytics-loading-spinner.tsx function AnalyticsLoadingSpinner (line 8) | function AnalyticsLoadingSpinner() { FILE: apps/web/ui/analytics/analytics-options.tsx function AnalyticsOptions (line 8) | function AnalyticsOptions({ page }: { page: "analytics" | "events" }) { FILE: apps/web/ui/analytics/analytics-provider.tsx type AnalyticsDashboardProps (line 36) | type AnalyticsDashboardProps = { function AnalyticsProvider (line 101) | function AnalyticsProvider({ FILE: apps/web/ui/analytics/analytics-tabs.tsx type Tab (line 13) | type Tab = { function AnalyticsTabs (line 20) | function AnalyticsTabs({ FILE: apps/web/ui/analytics/bar-list.tsx function BarList (line 28) | function BarList({ function LineItem (line 276) | function LineItem({ FILE: apps/web/ui/analytics/chart-section.tsx type Tab (line 19) | type Tab = { function ChartSection (line 26) | function ChartSection() { function ConversionTrackingPaywall (line 149) | function ConversionTrackingPaywall() { FILE: apps/web/ui/analytics/chart-view-switcher.tsx function ChartViewSwitcher (line 6) | function ChartViewSwitcher({ className }: { className?: string }) { FILE: apps/web/ui/analytics/continent-icon.tsx function ContinentIcon (line 11) | function ContinentIcon({ FILE: apps/web/ui/analytics/device-icon.tsx function DeviceIcon (line 17) | function DeviceIcon({ FILE: apps/web/ui/analytics/device-section.tsx function DeviceSection (line 14) | function DeviceSection() { FILE: apps/web/ui/analytics/events/events-export-button.tsx function EventsExportButton (line 9) | function EventsExportButton({ FILE: apps/web/ui/analytics/events/events-provider.tsx function EventsProvider (line 10) | function EventsProvider({ children }: PropsWithChildren) { FILE: apps/web/ui/analytics/events/events-table.tsx type EventDatum (line 132) | type EventDatum = ClickEvent | LeadEvent | SaleEvent; type ColumnMeta (line 134) | type ColumnMeta = { function EventsTable (line 140) | function EventsTable({ FILE: apps/web/ui/analytics/events/events-tabs.tsx type TimeseriesData (line 9) | type TimeseriesData = { function EventsTabs (line 17) | function EventsTabs() { FILE: apps/web/ui/analytics/events/example-data.ts constant EXAMPLE_EVENTS_DATA (line 44) | const EXAMPLE_EVENTS_DATA = { FILE: apps/web/ui/analytics/events/index.tsx function AnalyticsEvents (line 13) | function AnalyticsEvents({ function EventsTableContainer (line 45) | function EventsTableContainer() { FILE: apps/web/ui/analytics/events/metadata-viewer.tsx function MetadataViewer (line 7) | function MetadataViewer({ FILE: apps/web/ui/analytics/events/row-menu-button.tsx function RowMenuButton (line 10) | function RowMenuButton({ row }: { row: Row }) { function MenuItem (line 60) | function MenuItem({ FILE: apps/web/ui/analytics/index.tsx function Analytics (line 23) | function Analytics({ function StatsGrid (line 57) | function StatsGrid() { FILE: apps/web/ui/analytics/link-preview.tsx function LinkPreviewTooltip (line 9) | function LinkPreviewTooltip({ data }: { data: LinkProps }) { FILE: apps/web/ui/analytics/location-section.tsx function LocationSection (line 18) | function LocationSection() { FILE: apps/web/ui/analytics/partner-section.tsx type TabId (line 15) | type TabId = "segments" | "links"; type SegmentsSubtab (line 16) | type SegmentsSubtab = "groups" | "tags"; type LinksSubtab (line 17) | type LinksSubtab = "short_links" | "destination_urls"; type Subtab (line 18) | type Subtab = SegmentsSubtab | LinksSubtab; constant TAB_CONFIG (line 20) | const TAB_CONFIG: Record< function PartnerSection (line 57) | function PartnerSection() { FILE: apps/web/ui/analytics/referrer-icon.tsx function ReferrerIcon (line 5) | function ReferrerIcon({ FILE: apps/web/ui/analytics/referrers-utms.tsx type TabId (line 14) | type TabId = "referers" | "utms"; type RefererSubtab (line 15) | type RefererSubtab = "referers" | "referer_urls"; type Subtab (line 16) | type Subtab = UTM_TAGS_PLURAL | RefererSubtab; constant TAB_CONFIG (line 18) | const TAB_CONFIG: Record< function ReferrersUTMs (line 42) | function ReferrersUTMs() { FILE: apps/web/ui/analytics/share-button.tsx function ShareButton (line 7) | function ShareButton() { FILE: apps/web/ui/analytics/toggle.tsx function AnalyticsToggle (line 39) | function AnalyticsToggle({ function UpgradeTooltip (line 310) | function UpgradeTooltip({ FILE: apps/web/ui/analytics/top-links.tsx type TabId (line 15) | type TabId = "links" | "urls"; type LinksSubtab (line 16) | type LinksSubtab = "links" | "folders" | "tags"; type UrlsSubtab (line 17) | type UrlsSubtab = "base_urls" | "full_urls"; type Subtab (line 18) | type Subtab = LinksSubtab | UrlsSubtab; constant TAB_CONFIG (line 20) | const TAB_CONFIG: Record< function TopLinks (line 56) | function TopLinks() { FILE: apps/web/ui/analytics/trigger-display.tsx constant TRIGGER_DISPLAY (line 3) | const TRIGGER_DISPLAY = { FILE: apps/web/ui/analytics/use-analytics-connected-status.ts function useAnalyticsConnectedStatus (line 3) | function useAnalyticsConnectedStatus() { FILE: apps/web/ui/analytics/use-analytics-filters.tsx function useAnalyticsFilters (line 78) | function useAnalyticsFilters({ FILE: apps/web/ui/analytics/use-analytics-query.tsx function useAnalyticsQuery (line 12) | function useAnalyticsQuery({ FILE: apps/web/ui/analytics/utils.ts type AnalyticsFilterResult (line 9) | type AnalyticsFilterResult = { function useAnalyticsFilterOption (line 22) | function useAnalyticsFilterOption( FILE: apps/web/ui/auth/auth-alternative-banner.tsx function AuthAlternativeBanner (line 4) | function AuthAlternativeBanner({ FILE: apps/web/ui/auth/auth-methods-separator.tsx function AuthMethodsSeparator (line 1) | function AuthMethodsSeparator() { FILE: apps/web/ui/auth/forgot-password-form.tsx method onSuccess (line 17) | onSuccess() { method onError (line 23) | onError({ error }) { FILE: apps/web/ui/auth/login/google-button.tsx function GoogleButton (line 8) | function GoogleButton({ next }: { next?: string }) { FILE: apps/web/ui/auth/login/login-form.tsx type AuthMethod (line 29) | type AuthMethod = (typeof authMethods)[number]; function LoginForm (line 72) | function LoginForm({ FILE: apps/web/ui/auth/register/context.tsx type RegisterContextType (line 10) | interface RegisterContextType { FILE: apps/web/ui/auth/register/signup-email.tsx type SignUpProps (line 14) | type SignUpProps = z.infer; FILE: apps/web/ui/auth/register/verify-email-form.tsx method onSuccess (line 26) | async onSuccess() { method onError (line 52) | onError({ error }) { FILE: apps/web/ui/colors.ts constant RESOURCE_COLORS_DATA (line 3) | const RESOURCE_COLORS_DATA = [ constant RESOURCE_COLORS (line 41) | const RESOURCE_COLORS = RESOURCE_COLORS_DATA.map( constant RAINBOW_CONIC_GRADIENT (line 49) | const RAINBOW_CONIC_GRADIENT = FILE: apps/web/ui/customers/customer-activity-list.tsx function CustomerActivityList (line 110) | function CustomerActivityList({ FILE: apps/web/ui/customers/customer-avatar.tsx function CustomerAvatar (line 4) | function CustomerAvatar({ FILE: apps/web/ui/customers/customer-details-column.tsx function CustomerDetailsColumn (line 29) | function CustomerDetailsColumn({ FILE: apps/web/ui/customers/customer-partner-earnings-table.tsx function CustomerPartnerEarningsTable (line 12) | function CustomerPartnerEarningsTable({ FILE: apps/web/ui/customers/customer-row-item.tsx function CustomerRowItem (line 7) | function CustomerRowItem({ FILE: apps/web/ui/customers/customer-sales-table.tsx function CustomerSalesTable (line 12) | function CustomerSalesTable({ FILE: apps/web/ui/customers/customer-selector.tsx type CustomerSelectorProps (line 13) | type CustomerSelectorProps = { function CustomerSelector (line 20) | function CustomerSelector({ FILE: apps/web/ui/customers/customer-stats.tsx function CustomerStats (line 16) | function CustomerStats({ FILE: apps/web/ui/customers/customer-tabs.tsx function CustomerTabs (line 8) | function CustomerTabs({ FILE: apps/web/ui/customers/customers-table/customers-table.tsx type ColumnMeta (line 53) | type ColumnMeta = { function CustomersTable (line 59) | function CustomersTable({ function RowMenuButton (line 526) | function RowMenuButton({ row }: { row: Row }) { FILE: apps/web/ui/customers/customers-table/example-data.ts constant EXAMPLE_CUSTOMER_DATA (line 3) | const EXAMPLE_CUSTOMER_DATA = [ FILE: apps/web/ui/customers/customers-table/use-customer-filters.tsx function useCustomerFilters (line 17) | function useCustomerFilters( function usePartnerFilterOptions (line 217) | function usePartnerFilterOptions(search: string) { FILE: apps/web/ui/customers/export-customers-button.tsx function ExportCustomersButton (line 8) | function ExportCustomersButton() { FILE: apps/web/ui/domains/add-edit-domain-form.tsx type FormData (line 60) | type FormData = z.infer; type DomainStatus (line 62) | type DomainStatus = "checking" | "conflict" | "has site" | "available" |... constant STATUS_CONFIG (line 64) | const STATUS_CONFIG: Record< function AddEditDomainForm (line 102) | function AddEditDomainForm({ constant DOMAIN_OPTIONS (line 621) | const DOMAIN_OPTIONS: { constant ADVANCED_OPTIONS (line 657) | const ADVANCED_OPTIONS = [ FILE: apps/web/ui/domains/domain-card-placeholder.tsx function DomainCardPlaceholder (line 1) | function DomainCardPlaceholder() { FILE: apps/web/ui/domains/domain-card-title-column.tsx function DomainCardTitleColumn (line 5) | function DomainCardTitleColumn({ FILE: apps/web/ui/domains/domain-card.tsx function DomainCard (line 59) | function DomainCard({ props }: { props: DomainProps }) { function DomainCardMenu (line 331) | function DomainCardMenu({ FILE: apps/web/ui/domains/domain-configuration.tsx function DomainConfiguration (line 6) | function DomainConfiguration({ FILE: apps/web/ui/domains/domain-selector.tsx type DomainSelectorProps (line 7) | interface DomainSelectorProps { function DomainSelector (line 14) | function DomainSelector({ FILE: apps/web/ui/domains/free-dot-link-banner.tsx function FreeDotLinkBanner (line 7) | function FreeDotLinkBanner() { FILE: apps/web/ui/domains/register-domain-form.tsx type DomainSearchResult (line 19) | interface DomainSearchResult { function RegisterDomainForm (line 26) | function RegisterDomainForm({ function UpgradeTooltipContent (line 370) | function UpgradeTooltipContent() { function DomainSavedToast (line 381) | function DomainSavedToast() { FILE: apps/web/ui/dub-partners-logo.tsx function DubPartnersLogo (line 4) | function DubPartnersLogo({ className }: { className?: string }) { FILE: apps/web/ui/folders/add-folder-form.tsx type AddFolderFormProps (line 19) | interface AddFolderFormProps { FILE: apps/web/ui/folders/edit-folder-form.tsx function EditFolderForm (line 14) | function EditFolderForm({ FILE: apps/web/ui/folders/edit-folder-sheet.tsx type EditFolderSheetProps (line 35) | interface EditFolderSheetProps { function useEditFolderSheet (line 334) | function useEditFolderSheet( FILE: apps/web/ui/folders/folder-card.tsx function FolderLinksCount (line 76) | function FolderLinksCount({ folder }: { folder: Folder }) { FILE: apps/web/ui/folders/folder-dropdown.tsx type FolderDropdownProps (line 22) | interface FolderDropdownProps { FILE: apps/web/ui/folders/folder-info-panel.tsx function FolderInfoPanel (line 12) | function FolderInfoPanel() { function FolderInfoPanelControls (line 135) | function FolderInfoPanelControls() { FILE: apps/web/ui/folders/move-link-form.tsx type MoveLinkFormProps (line 10) | interface MoveLinkFormProps { FILE: apps/web/ui/folders/rename-folder-form.tsx type RenameFolderFormProps (line 8) | interface RenameFolderFormProps { FILE: apps/web/ui/folders/simple-folder-card.tsx function SimpleFolderCard (line 5) | function SimpleFolderCard({ FILE: apps/web/ui/guides/guide-list.tsx function GuideList (line 32) | function GuideList() { FILE: apps/web/ui/guides/guide-selector.tsx type GuideSelectorProps (line 8) | interface GuideSelectorProps { function GuideSelector (line 39) | function GuideSelector({ function GuideList (line 98) | function GuideList({ FILE: apps/web/ui/guides/guide.tsx function Guide (line 18) | function Guide({ markdown }: { markdown: string }) { FILE: apps/web/ui/guides/icons/appwrite.tsx function Appwrite (line 3) | function Appwrite(props: SVGProps) { FILE: apps/web/ui/guides/icons/auth-js.tsx function AuthJs (line 3) | function AuthJs(props: SVGProps) { FILE: apps/web/ui/guides/icons/auth0.tsx function Auth0 (line 3) | function Auth0(props: SVGProps) { FILE: apps/web/ui/guides/icons/better-auth.tsx function BetterAuth (line 3) | function BetterAuth(props: SVGProps) { FILE: apps/web/ui/guides/icons/clerk.tsx function Clerk (line 3) | function Clerk(props: SVGProps) { FILE: apps/web/ui/guides/icons/code-editor.tsx function CodeEditor (line 3) | function CodeEditor(props: SVGProps) { FILE: apps/web/ui/guides/icons/custom.tsx function Custom (line 3) | function Custom(props: SVGProps) { FILE: apps/web/ui/guides/icons/framer.tsx function Framer (line 3) | function Framer(props: SVGProps) { FILE: apps/web/ui/guides/icons/gtm.tsx function GoogleTagManager (line 3) | function GoogleTagManager(props: SVGProps) { FILE: apps/web/ui/guides/icons/next-auth.tsx function NextAuth (line 3) | function NextAuth(props: SVGProps) { FILE: apps/web/ui/guides/icons/react.tsx function React (line 3) | function React(props: SVGProps) { FILE: apps/web/ui/guides/icons/segment.tsx function Segment (line 3) | function Segment(props: SVGProps) { FILE: apps/web/ui/guides/icons/shopify.tsx function Shopify (line 3) | function Shopify(props: SVGProps) { FILE: apps/web/ui/guides/icons/supabase.tsx function Supabase (line 3) | function Supabase(props: SVGProps) { FILE: apps/web/ui/guides/icons/webflow.tsx function Webflow (line 3) | function Webflow(props: SVGProps) { FILE: apps/web/ui/guides/icons/wordpress.tsx function Wordpress (line 3) | function Wordpress(props: SVGProps) { FILE: apps/web/ui/guides/install-stripe-integration-button.tsx function InstallStripeIntegrationButton (line 13) | function InstallStripeIntegrationButton() { FILE: apps/web/ui/guides/integrations.ts type IntegrationType (line 17) | type IntegrationType = "client-sdk" | "track-lead" | "track-sale"; type IntegrationGuide (line 19) | type IntegrationGuide = { FILE: apps/web/ui/guides/markdown.tsx function GuidesMarkdown (line 11) | function GuidesMarkdown({ function CodeBlock (line 66) | function CodeBlock({ node, children, ...rest }: any) { FILE: apps/web/ui/integrations/integration-card.tsx function IntegrationCard (line 14) | function IntegrationCard( function Wrapper (line 55) | function Wrapper({ function Badge (line 84) | function Badge({ className, ...rest }: HTMLProps) { FILE: apps/web/ui/layout/changelog-popup.tsx constant CHANGELOG_URL (line 9) | const CHANGELOG_URL = "https://dub.link/builder"; constant CHANGELOG_IMAGE_URL (line 10) | const CHANGELOG_IMAGE_URL = "https://assets.dub.co/blog/new-link-builder... constant CHANGELOG_TITLE (line 11) | const CHANGELOG_TITLE = "Introducing the new Dub Link Builder"; constant CHANGELOG_DESCRIPTION (line 12) | const CHANGELOG_DESCRIPTION = constant CHANGELOG_ID (line 14) | const CHANGELOG_ID = "hideChangelogPopup10032024"; function ChangelogPopup (line 16) | function ChangelogPopup() { function ChangelogPopupInner (line 24) | function ChangelogPopupInner() { FILE: apps/web/ui/layout/layout-loader.tsx function LayoutLoader (line 3) | function LayoutLoader() { FILE: apps/web/ui/layout/main-nav.tsx type SideNavContext (line 18) | type SideNavContext = { function MainNav (line 28) | function MainNav({ FILE: apps/web/ui/layout/page-content/index.tsx function PageContent (line 10) | function PageContent({ FILE: apps/web/ui/layout/page-content/nav-button.tsx function NavButton (line 7) | function NavButton() { FILE: apps/web/ui/layout/page-content/page-content-header.tsx type PageContentHeaderProps (line 9) | type PageContentHeaderProps = { function PageContentHeader (line 17) | function PageContentHeader({ FILE: apps/web/ui/layout/page-content/page-content-old.tsx function PageContentOld (line 13) | function PageContentOld({ FILE: apps/web/ui/layout/page-content/page-content-with-side-panel.tsx function PageContentWithSidePanel (line 27) | function PageContentWithSidePanel({ FILE: apps/web/ui/layout/page-content/toggle-side-panel-button.tsx function ToggleSidePanelButton (line 4) | function ToggleSidePanelButton({ FILE: apps/web/ui/layout/page-nav-tabs.tsx type PageNavTabsTab (line 10) | type PageNavTabsTab = { type PageNavTabsQuicklink (line 17) | type PageNavTabsQuicklink = { type PageNavTabsProps (line 24) | type PageNavTabsProps = { function PageNavTabs (line 30) | function PageNavTabs({ basePath, tabs, quickLinks }: PageNavTabsProps) { FILE: apps/web/ui/layout/page-width-wrapper.tsx function PageWidthWrapper (line 4) | function PageWidthWrapper({ FILE: apps/web/ui/layout/settings-layout.tsx function SettingsLayout (line 5) | function SettingsLayout({ children }: PropsWithChildren) { FILE: apps/web/ui/layout/sidebar/affiliate-program-popup.tsx function AffiliateProgramPopup (line 15) | function AffiliateProgramPopup({ FILE: apps/web/ui/layout/sidebar/app-sidebar-nav.tsx type SidebarNavData (line 64) | type SidebarNavData = { constant NAV_AREAS (line 111) | const NAV_AREAS: SidebarNavAreas = { function AppSidebarNav (line 480) | function AppSidebarNav({ FILE: apps/web/ui/layout/sidebar/dub-partners-popup.tsx function DubPartnersPopup (line 21) | function DubPartnersPopup({ function DubPartnersPopupInner (line 64) | function DubPartnersPopupInner({ FILE: apps/web/ui/layout/sidebar/help-button.tsx function HelpButton (line 3) | async function HelpButton() { FILE: apps/web/ui/layout/sidebar/icons/compass.tsx function Compass (line 3) | function Compass({ FILE: apps/web/ui/layout/sidebar/icons/connected-dots4.tsx function ConnectedDots4 (line 3) | function ConnectedDots4({ FILE: apps/web/ui/layout/sidebar/icons/cursor-rays.tsx function CursorRays (line 4) | function CursorRays({ FILE: apps/web/ui/layout/sidebar/icons/gear.tsx function Gear (line 3) | function Gear({ FILE: apps/web/ui/layout/sidebar/icons/hyperlink.tsx function Hyperlink (line 3) | function Hyperlink({ FILE: apps/web/ui/layout/sidebar/icons/lines-y.tsx constant SCALES (line 4) | const SCALES = [0.3, 1.5, 1.75, 0.75]; function LinesY (line 6) | function LinesY({ FILE: apps/web/ui/layout/sidebar/icons/user.tsx function User (line 3) | function User({ FILE: apps/web/ui/layout/sidebar/news-rsc.tsx function NewsRSC (line 5) | async function NewsRSC() { FILE: apps/web/ui/layout/sidebar/news.tsx type NewsArticle (line 9) | interface NewsArticle { constant OFFSET_FACTOR (line 16) | const OFFSET_FACTOR = 4; constant SCALE_FACTOR (line 17) | const SCALE_FACTOR = 0.03; constant OPACITY_FACTOR (line 18) | const OPACITY_FACTOR = 0.1; function News (line 20) | function News({ articles }: { articles: NewsArticle[] }) { function NewsCard (line 104) | function NewsCard({ function AnimatedLogo (line 283) | function AnimatedLogo(props: SVGProps) { FILE: apps/web/ui/layout/sidebar/partner-program-dropdown.tsx function PartnerProgramDropdown (line 25) | function PartnerProgramDropdown() { function PartnerDropdownPlaceholder (line 142) | function PartnerDropdownPlaceholder() { function ProgramList (line 152) | function ProgramList({ FILE: apps/web/ui/layout/sidebar/partners-sidebar-nav.tsx type SidebarNavData (line 38) | type SidebarNavData = { constant NAV_AREAS (line 88) | const NAV_AREAS: SidebarNavAreas = { function PartnersSidebarNav (line 292) | function PartnersSidebarNav({ FILE: apps/web/ui/layout/sidebar/refer-button.tsx function ReferButton (line 11) | function ReferButton({ function AffiliateProgramPopupWrapper (line 38) | function AffiliateProgramPopupWrapper({ FILE: apps/web/ui/layout/sidebar/sidebar-nav.tsx type NavItemCommon (line 30) | type NavItemCommon = { type NavSubItemType (line 40) | type NavSubItemType = NavItemCommon; type NavItemType (line 42) | type NavItemType = NavItemCommon & { type NavGroupType (line 47) | type NavGroupType = { type SidebarNavGroups (line 62) | type SidebarNavGroups> = ( type SidebarNavAreas (line 66) | type SidebarNavAreas> = Record< constant SIDEBAR_WIDTH (line 81) | const SIDEBAR_WIDTH = 304; constant SIDEBAR_GROUPS_WIDTH (line 82) | const SIDEBAR_GROUPS_WIDTH = 64; constant SIDEBAR_AREAS_WIDTH (line 83) | const SIDEBAR_AREAS_WIDTH = SIDEBAR_WIDTH - SIDEBAR_GROUPS_WIDTH; function SidebarNav (line 85) | function SidebarNav>({ function SidebarAreasPanel (line 166) | function SidebarAreasPanel>({ function NavGroupTooltip (line 304) | function NavGroupTooltip({ function NavGroupItem (line 356) | function NavGroupItem({ function NavItem (line 413) | function NavItem({ item }: { item: NavItemType | NavSubItemType }) { function Area (line 517) | function Area({ FILE: apps/web/ui/layout/sidebar/sidebar-usage.tsx function SidebarUsage (line 21) | function SidebarUsage() { function UsageInner (line 27) | function UsageInner() { type UsageRowProps (line 160) | type UsageRowProps = { FILE: apps/web/ui/layout/sidebar/use-program-applications-count.tsx function useProgramApplicationsCount (line 5) | function useProgramApplicationsCount({ FILE: apps/web/ui/layout/sidebar/user-dropdown.tsx function UserDropdown (line 24) | function UserDropdown() { type UserOptionProps (line 140) | type UserOptionProps = { function UserOption (line 146) | function UserOption({ FILE: apps/web/ui/layout/sidebar/workspace-dropdown.tsx function WorkspaceDropdown (line 23) | function WorkspaceDropdown() { function WorkspaceDropdownPlaceholder (line 116) | function WorkspaceDropdownPlaceholder() { function WorkspaceList (line 122) | function WorkspaceList({ FILE: apps/web/ui/layout/sidebar/year-in-review-card.tsx function YearInReviewCard (line 9) | function YearInReviewCard() { FILE: apps/web/ui/layout/toolbar/onboarding/onboarding-button.tsx function OnboardingButton (line 24) | function OnboardingButton() { function OnboardingButtonInner (line 36) | function OnboardingButtonInner({ FILE: apps/web/ui/layout/toolbar/toolbar.tsx type ToolbarProps (line 6) | type ToolbarProps = { function Toolbar (line 10) | function Toolbar(props: ToolbarProps) { FILE: apps/web/ui/layout/upgrade-banner.tsx function useUpgradeBannerVisible (line 10) | function useUpgradeBannerVisible() { function UpgradeBanner (line 18) | function UpgradeBanner() { FILE: apps/web/ui/layout/user-survey/index.tsx type UserSurveyStatus (line 14) | type UserSurveyStatus = "idle" | "loading" | "success"; constant HIDDEN_COOKIE_ID (line 21) | const HIDDEN_COOKIE_ID = "hideUserSurveyPopup"; function UserSurveyButton (line 23) | function UserSurveyButton() { function UserSurveyPopupInner (line 67) | function UserSurveyPopupInner({ hide }: { hide: () => void }) { FILE: apps/web/ui/layout/user-survey/survey-form.tsx function SurveyForm (line 53) | function SurveyForm({ FILE: apps/web/ui/links/archived-links-hint.tsx function ArchivedLinksHint (line 9) | function ArchivedLinksHint() { function ArchivedLinksHintHelper (line 17) | function ArchivedLinksHintHelper() { FILE: apps/web/ui/links/comments-badge.tsx function CommentsBadge (line 7) | function CommentsBadge({ comments }: { comments: string }) { FILE: apps/web/ui/links/destination-url-input.tsx type DestinationUrlInputProps (line 12) | type DestinationUrlInputProps = { FILE: apps/web/ui/links/link-analytics-badge.tsx function LinkAnalyticsBadge (line 28) | function LinkAnalyticsBadge({ FILE: apps/web/ui/links/link-builder/constants.ts type MoreItem (line 19) | type MoreItem = { constant MORE_ITEMS (line 34) | const MORE_ITEMS: MoreItem[] = [ constant MOBILE_MORE_ITEMS (line 92) | const MOBILE_MORE_ITEMS: MoreItem[] = [ FILE: apps/web/ui/links/link-builder/controls/link-builder-folder-selector.tsx function LinkBuilderFolderSelector (line 6) | function LinkBuilderFolderSelector() { FILE: apps/web/ui/links/link-builder/draft-controls.tsx type DraftControlsHandle (line 23) | type DraftControlsHandle = { type DraftControlsProps (line 28) | type DraftControlsProps = { method onSubmitSuccessful (line 86) | onSubmitSuccessful() { method onClose (line 90) | onClose() { function DraftOption (line 178) | function DraftOption({ function RestoreDraftIcon (line 236) | function RestoreDraftIcon(props: SVGProps) { FILE: apps/web/ui/links/link-builder/link-action-bar.tsx function LinkActionBar (line 9) | function LinkActionBar({ children }: PropsWithChildren) { FILE: apps/web/ui/links/link-builder/link-builder-header.tsx function LinkBuilderHeader (line 23) | function LinkBuilderHeader({ function LinkSelector (line 163) | function LinkSelector({ FILE: apps/web/ui/links/link-builder/link-builder-provider.tsx type LinkFormData (line 13) | type LinkFormData = ExpandedLinkProps; type LinkBuilderProps (line 15) | type LinkBuilderProps = { function useLinkBuilderContext (line 37) | function useLinkBuilderContext() { function LinkBuilderProvider (line 47) | function LinkBuilderProvider({ FILE: apps/web/ui/links/link-builder/link-creator-info.tsx function LinkCreatorInfo (line 8) | function LinkCreatorInfo({ link }: { link: ExpandedLinkProps }) { FILE: apps/web/ui/links/link-builder/link-feature-buttons.tsx function LinkFeatureButtons (line 10) | function LinkFeatureButtons({ FILE: apps/web/ui/links/link-builder/link-partner-details.tsx function LinkPartnerDetails (line 9) | function LinkPartnerDetails({ FILE: apps/web/ui/links/link-builder/link-preview.tsx type Tab (line 45) | type Tab = (typeof tabs)[number]; type OGPreviewProps (line 61) | type OGPreviewProps = PropsWithChildren<{ function DefaultOGPreview (line 295) | function DefaultOGPreview({ title, description, children }: OGPreviewPro... function FacebookOGPreview (line 332) | function FacebookOGPreview({ function LinkedInOGPreview (line 382) | function LinkedInOGPreview({ title, hostname, children }: OGPreviewProps) { function XOGPreview (line 414) | function XOGPreview({ title, hostname, children }: OGPreviewProps) { FILE: apps/web/ui/links/link-builder/more-dropdown.tsx function MoreDropdown (line 18) | function MoreDropdown({ FILE: apps/web/ui/links/link-builder/multi-tags-icon.tsx function MultiTagsIcon (line 5) | function MultiTagsIcon({ tags }: { tags: Pick[] }) { FILE: apps/web/ui/links/link-builder/options-list.tsx constant TOGGLES (line 16) | const TOGGLES = MORE_ITEMS.filter(({ type }) => type === "boolean"); function OptionsList (line 18) | function OptionsList() { function ToggleBadge (line 85) | function ToggleBadge({ function LinkCloakingToggleBadge (line 109) | function LinkCloakingToggleBadge({ FILE: apps/web/ui/links/link-builder/qr-code-preview.tsx function QRCodePreview (line 22) | function QRCodePreview() { FILE: apps/web/ui/links/link-builder/tag-select.tsx function getTagOption (line 26) | function getTagOption(tag: TagProps) { FILE: apps/web/ui/links/link-builder/use-link-builder-submit.tsx function useLinkBuilderSubmit (line 11) | function useLinkBuilderSubmit({ FILE: apps/web/ui/links/link-builder/use-metatags.ts function useMetatags (line 10) | function useMetatags({ enabled = true }: { enabled?: boolean } = {}) { FILE: apps/web/ui/links/link-builder/utm-templates-button.tsx function UTMTemplatesButton (line 17) | function UTMTemplatesButton({ function UTMTemplateList (line 86) | function UTMTemplateList({ function UTMTemplateOption (line 125) | function UTMTemplateOption({ FILE: apps/web/ui/links/link-card-placeholder.tsx function LinkCardPlaceholder (line 5) | function LinkCardPlaceholder() { FILE: apps/web/ui/links/link-card.tsx function useLinkCardContext (line 35) | function useLinkCardContext() { FILE: apps/web/ui/links/link-controls.tsx constant OPTIONS (line 34) | const OPTIONS = { function LinkControls (line 46) | function LinkControls({ FILE: apps/web/ui/links/link-details-column.tsx function useOrganizedTags (line 20) | function useOrganizedTags(tags: ResponseLink["tags"]) { function LinkDetailsColumn (line 45) | function LinkDetailsColumn({ link }: { link: ResponseLink }) { function TagsTooltip (line 94) | function TagsTooltip({ function TagButton (line 117) | function TagButton({ tag, plus }: { tag: TagProps; plus?: number }) { FILE: apps/web/ui/links/link-display.tsx function LinkDisplay (line 27) | function LinkDisplay() { FILE: apps/web/ui/links/link-icon.tsx function LinkIcon (line 6) | function LinkIcon({ FILE: apps/web/ui/links/link-not-found.tsx function LinkNotFound (line 3) | function LinkNotFound() { FILE: apps/web/ui/links/link-selection-provider.tsx type LinkSelectionContext (line 11) | interface LinkSelectionContext { function LinkSelectionProvider (line 22) | function LinkSelectionProvider({ function useLinkSelection (line 91) | function useLinkSelection() { FILE: apps/web/ui/links/link-sort.tsx function LinkSort (line 8) | function LinkSort() { FILE: apps/web/ui/links/link-title-column.tsx constant LOGO_SIZE_CLASS_NAME (line 74) | const LOGO_SIZE_CLASS_NAME = function LinkTitleColumn (line 77) | function LinkTitleColumn({ link }: { link: ResponseLink }) { function UnverifiedTooltip (line 173) | function UnverifiedTooltip({ function SettingsBadge (line 214) | function SettingsBadge({ link }: { link: ResponseLink }) { function UserAvatarWithTooltip (line 405) | function UserAvatarWithTooltip({ user }: { user: UserProps }) { FILE: apps/web/ui/links/links-container.tsx type ResponseLink (line 27) | type ResponseLink = ExpandedLinkProps & { function LinksContainer (line 31) | function LinksContainer({ function LinksList (line 75) | function LinksList({ FILE: apps/web/ui/links/links-display-provider.tsx type LinksDisplayKey (line 22) | type LinksDisplayKey = keyof z.infer; type LinksDisplayValue (line 23) | type LinksDisplayValue = z.infer< function useLinksDisplayOption (line 27) | function useLinksDisplayOption( function LinksDisplayProvider (line 74) | function LinksDisplayProvider({ children }: PropsWithChildren) { FILE: apps/web/ui/links/links-toolbar.tsx type BulkAction (line 33) | type BulkAction = { FILE: apps/web/ui/links/short-link-input.tsx type ShortLinkInputProps (line 49) | type ShortLinkInputProps = { function DefaultDomainPrompt (line 401) | function DefaultDomainPrompt({ function DomainCombobox (line 442) | function DomainCombobox({ FILE: apps/web/ui/links/simple-link-card.tsx function SimpleLinkCard (line 6) | function SimpleLinkCard({ FILE: apps/web/ui/links/tag-badge.tsx function TagBadge (line 7) | function TagBadge({ function randomBadgeColor (line 52) | function randomBadgeColor() { FILE: apps/web/ui/links/tests-badge.tsx function TestsBadge (line 9) | function TestsBadge({ FILE: apps/web/ui/links/use-available-domains.ts function useAvailableDomains (line 24) | function useAvailableDomains( FILE: apps/web/ui/links/use-folder-filter-options.ts function useFolderFilterOptions (line 8) | function useFolderFilterOptions({ search }: { search: string }) { FILE: apps/web/ui/links/use-link-filters.tsx function useLinkFilters (line 16) | function useLinkFilters() { function useTagFilterOptions (line 186) | function useTagFilterOptions({ function useDomainFilterOptions (line 250) | function useDomainFilterOptions({ folderId }: { folderId: string }) { function useUserFilterOptions (line 278) | function useUserFilterOptions({ folderId }: { folderId: string }) { FILE: apps/web/ui/messages/message-markdown.tsx function MessageMarkdown (line 7) | function MessageMarkdown({ FILE: apps/web/ui/messages/messages-context.tsx type MessagesPanel (line 3) | type MessagesPanel = "index" | "main"; function useMessagesContext (line 13) | function useMessagesContext() { FILE: apps/web/ui/messages/messages-list.tsx function stripMarkdown (line 5) | function stripMarkdown(text: string): string { function MessagesList (line 18) | function MessagesList({ FILE: apps/web/ui/messages/messages-panel.tsx type Sender (line 16) | interface Sender { function MessagesPanel (line 23) | function MessagesPanel({ function StatusIndicator (line 252) | function StatusIndicator({ function MessageAvatar (line 294) | function MessageAvatar({ function MessageHeader (line 329) | function MessageHeader({ function CampaignMessage (line 379) | function CampaignMessage({ FILE: apps/web/ui/messages/toggle-side-panel-button.tsx function ToggleSidePanelButton (line 4) | function ToggleSidePanelButton({ FILE: apps/web/ui/modals/add-customer-modal.tsx type AddCustomerInitialData (line 25) | type AddCustomerInitialData = { name?: string; email?: string }; type AddCustomerModalProps (line 27) | interface AddCustomerModalProps { type FormData (line 34) | type FormData = z.infer; type StripeCustomer (line 35) | type StripeCustomer = z.infer; function getCustomerInitials (line 37) | function getCustomerInitials(customer: StripeCustomer): string { function useAddCustomerModal (line 498) | function useAddCustomerModal({ FILE: apps/web/ui/modals/add-discount-code-modal.tsx type FormData (line 24) | type FormData = z.infer; type AddDiscountCodeModalProps (line 26) | interface AddDiscountCodeModalProps { function useAddDiscountCodeModal (line 234) | function useAddDiscountCodeModal({ FILE: apps/web/ui/modals/add-edit-domain-modal.tsx function AddEditDomainModal (line 15) | function AddEditDomainModal({ function AddDomainButton (line 49) | function AddDomainButton({ function useAddEditDomainModal (line 85) | function useAddEditDomainModal({ FILE: apps/web/ui/modals/add-edit-email-domain-modal.tsx type AddEditEmailDomainModalProps (line 13) | interface AddEditEmailDomainModalProps { type FormData (line 21) | type FormData = z.input; function AddEditEmailDomainModalContent (line 23) | function AddEditEmailDomainModalContent({ function AddEditEmailDomainModal (line 237) | function AddEditEmailDomainModal({ function useAddEditEmailDomainModal (line 254) | function useAddEditEmailDomainModal( FILE: apps/web/ui/modals/add-edit-tag-modal.tsx function AddEditTagModal (line 31) | function AddEditTagModal({ function AddTagButton (line 204) | function AddTagButton({ function useAddEditTagModal (line 246) | function useAddEditTagModal({ props }: { props?: TagProps } = {}) { FILE: apps/web/ui/modals/add-edit-token-modal.tsx type APIKeyProps (line 33) | type APIKeyProps = { type ScopePreset (line 40) | type ScopePreset = "all_access" | "read_only" | "restricted"; function AddEditTokenModal (line 48) | function AddEditTokenModal({ function AddTokenButton (line 325) | function AddTokenButton({ function useAddEditTokenModal (line 353) | function useAddEditTokenModal({ FILE: apps/web/ui/modals/add-edit-utm-template.modal.tsx function AddEditUtmTemplateModal (line 21) | function AddEditUtmTemplateModal({ function AddUtmTemplateButton (line 156) | function AddUtmTemplateButton({ function useAddEditUtmTemplateModal (line 176) | function useAddEditUtmTemplateModal({ FILE: apps/web/ui/modals/add-folder-modal.tsx type AddFolderModalProps (line 14) | interface AddFolderModalProps { function AddFolderButton (line 38) | function AddFolderButton({ function useAddFolderModal (line 75) | function useAddFolderModal({ FILE: apps/web/ui/modals/add-partner-link-modal.tsx type AddPartnerLinkModalProps (line 23) | interface AddPartnerLinkModalProps { type FormData (line 30) | interface FormData { function useAddPartnerLinkModal (line 216) | function useAddPartnerLinkModal({ FILE: apps/web/ui/modals/add-payment-method-modal.tsx function AddPaymentMethodModal (line 13) | function AddPaymentMethodModal({ function AddPaymentMethodModalInner (line 33) | function AddPaymentMethodModalInner({ function useAddPaymentMethodModal (line 159) | function useAddPaymentMethodModal() { FILE: apps/web/ui/modals/add-workspace-modal.tsx function AddWorkspaceModalHelper (line 13) | function AddWorkspaceModalHelper({ function useAddWorkspaceModal (line 71) | function useAddWorkspaceModal() { FILE: apps/web/ui/modals/application-settings-modal.tsx type FormData (line 29) | type FormData = { function ApplicationSettingsModal (line 35) | function ApplicationSettingsModal({ function useApplicationSettingsModal (line 280) | function useApplicationSettingsModal() { FILE: apps/web/ui/modals/archive-domain-modal.tsx function ArchiveDomainModal (line 34) | function ArchiveDomainModal({ function useArchiveDomainModal (line 130) | function useArchiveDomainModal({ props }: { props: DomainProps }) { FILE: apps/web/ui/modals/archive-link-modal.tsx type ArchiveLinkModalProps (line 35) | type ArchiveLinkModalProps = { function ArchiveLinkModal (line 41) | function ArchiveLinkModal(props: ArchiveLinkModalProps) { function ArchiveLinkModalInner (line 52) | function ArchiveLinkModalInner({ function useArchiveLinkModal (line 152) | function useArchiveLinkModal({ FILE: apps/web/ui/modals/archive-partner-modal.tsx function ArchivePartnerModal (line 18) | function ArchivePartnerModal({ function useArchivePartnerModal (line 105) | function useArchivePartnerModal({ FILE: apps/web/ui/modals/ban-partner-modal.tsx type BanPartnerFormData (line 23) | type BanPartnerFormData = z.infer & { function BanPartnerModal (line 27) | function BanPartnerModal({ function useBanPartnerModal (line 183) | function useBanPartnerModal({ FILE: apps/web/ui/modals/bulk-approve-partners-modal.tsx function BulkApprovePartnersModal (line 20) | function BulkApprovePartnersModal({ function useBulkApprovePartnersModal (line 134) | function useBulkApprovePartnersModal({ FILE: apps/web/ui/modals/bulk-archive-partners-modal.tsx type BulkArchivePartnersProps (line 17) | interface BulkArchivePartnersProps { function BulkArchivePartnersModal (line 24) | function BulkArchivePartnersModal({ function useBulkArchivePartnersModal (line 147) | function useBulkArchivePartnersModal({ FILE: apps/web/ui/modals/bulk-ban-partners-modal.tsx type BulkBanPartnersFormData (line 24) | type BulkBanPartnersFormData = z.infer & { type BulkBanPartnersProps (line 28) | interface BulkBanPartnersProps { function BulkBanPartnersModal (line 38) | function BulkBanPartnersModal({ function useBulkBanPartnersModal (line 276) | function useBulkBanPartnersModal({ FILE: apps/web/ui/modals/bulk-deactivate-partners-modal.tsx type BulkDeactivatePartnersFormData (line 18) | type BulkDeactivatePartnersFormData = { type BulkDeactivatePartnersProps (line 22) | interface BulkDeactivatePartnersProps { function BulkDeactivatePartnersModal (line 29) | function BulkDeactivatePartnersModal({ function useBulkDeactivatePartnersModal (line 199) | function useBulkDeactivatePartnersModal({ FILE: apps/web/ui/modals/bulk-reject-partners-modal.tsx function BulkRejectPartnersModal (line 18) | function BulkRejectPartnersModal({ function useBulkRejectPartnersModal (line 145) | function useBulkRejectPartnersModal({ FILE: apps/web/ui/modals/bulk-resolve-fraud-groups-modal.tsx type BulkResolveFraudGroupsFormData (line 23) | type BulkResolveFraudGroupsFormData = z.infer< type BulkResolveFraudGroupsProps (line 29) | interface BulkResolveFraudGroupsProps { function BulkResolveFraudGroupsModal (line 36) | function BulkResolveFraudGroupsModal({ function useBulkResolveFraudGroupsModal (line 195) | function useBulkResolveFraudGroupsModal({ FILE: apps/web/ui/modals/change-group-modal.tsx type ChangeGroupModalProps (line 20) | type ChangeGroupModalProps = { function ChangeGroupModal (line 34) | function ChangeGroupModal({ function useChangeGroupModal (line 201) | function useChangeGroupModal({ FILE: apps/web/ui/modals/confirm-approve-bounty-submission-modal.tsx type ConfirmApproveBountySubmissionModalProps (line 16) | type ConfirmApproveBountySubmissionModalProps = { function ConfirmApproveBountySubmissionModal (line 25) | function ConfirmApproveBountySubmissionModal({ function useConfirmApproveBountySubmissionModal (line 156) | function useConfirmApproveBountySubmissionModal(options?: { FILE: apps/web/ui/modals/confirm-modal.tsx type PromptModelProps (line 4) | type PromptModelProps = { function ConfirmModal (line 25) | function ConfirmModal({ function KeyboardShortcut (line 96) | function KeyboardShortcut({ function useConfirmModal (line 109) | function useConfirmModal(props: PromptModelProps) { FILE: apps/web/ui/modals/confirm-referral-status-change-modal.tsx type StatusField (line 19) | type StatusField = "notes" | "externalId" | "saleAmount" | "stripeCustom... type StatusChangeFormData (line 21) | type StatusChangeFormData = { type StatusConfig (line 28) | type StatusConfig = { constant STATUS_CONFIG (line 36) | const STATUS_CONFIG: Record = { type ConfirmReferralStatusChangeModalProps (line 76) | type ConfirmReferralStatusChangeModalProps = { function ConfirmReferralStatusChangeModal (line 83) | function ConfirmReferralStatusChangeModal({ function useConfirmReferralStatusChangeModal (line 347) | function useConfirmReferralStatusChangeModal(options?: { FILE: apps/web/ui/modals/confirm-set-default-group-modal.tsx type GroupForModal (line 13) | type GroupForModal = Pick; type ConfirmSetDefaultGroupModalProps (line 15) | interface ConfirmSetDefaultGroupModalProps { function ConfirmSetDefaultGroupModal (line 22) | function ConfirmSetDefaultGroupModal({ function useConfirmSetDefaultGroupModal (line 108) | function useConfirmSetDefaultGroupModal() { FILE: apps/web/ui/modals/deactivate-partner-modal.tsx type DeactivatePartnerFormData (line 19) | type DeactivatePartnerFormData = { function DeactivatePartnerModal (line 23) | function DeactivatePartnerModal({ function useDeactivatePartnerModal (line 148) | function useDeactivatePartnerModal({ FILE: apps/web/ui/modals/delete-account-modal.tsx function DeleteAccountModal (line 15) | function DeleteAccountModal({ function useDeleteAccountModal (line 134) | function useDeleteAccountModal() { FILE: apps/web/ui/modals/delete-discount-code-modal.tsx type DeleteDiscountCodeModalProps (line 9) | interface DeleteDiscountCodeModalProps { FILE: apps/web/ui/modals/delete-domain-modal.tsx function DeleteDomainModal (line 15) | function DeleteDomainModal({ function useDeleteDomainModal (line 120) | function useDeleteDomainModal({ props }: { props?: DomainProps }) { FILE: apps/web/ui/modals/delete-email-domain-modal.tsx type DeleteEmailDomainModalProps (line 8) | interface DeleteEmailDomainModalProps { function useDeleteEmailDomainModal (line 121) | function useDeleteEmailDomainModal( FILE: apps/web/ui/modals/delete-folder-modal.tsx type DeleteFolderModalProps (line 8) | interface DeleteFolderModalProps { function useDeleteFolderModal (line 122) | function useDeleteFolderModal( FILE: apps/web/ui/modals/delete-group-modal.tsx type DeleteGroupModalProps (line 11) | interface DeleteGroupModalProps { function useDeleteGroupModal (line 146) | function useDeleteGroupModal( FILE: apps/web/ui/modals/delete-link-modal.tsx type DeleteLinkModalProps (line 16) | type DeleteLinkModalProps = { function DeleteLinkModal (line 23) | function DeleteLinkModal(props: DeleteLinkModalProps) { function DeleteLinkModalInner (line 34) | function DeleteLinkModalInner({ function useDeleteLinkModal (line 142) | function useDeleteLinkModal({ FILE: apps/web/ui/modals/delete-partner-link-modal.tsx type DeletePartnerLinkModalProps (line 19) | type DeletePartnerLinkModalProps = { function DeletePartnerLinkModal (line 26) | function DeletePartnerLinkModal(props: DeletePartnerLinkModalProps) { function DeletePartnerLinkModalInner (line 37) | function DeletePartnerLinkModalInner({ function useDeletePartnerLinkModal (line 158) | function useDeletePartnerLinkModal({ FILE: apps/web/ui/modals/delete-token-modal.tsx function DeleteTokenModal (line 15) | function DeleteTokenModal({ function useDeleteTokenModal (line 160) | function useDeleteTokenModal({ token }: { token: TokenProps }) { FILE: apps/web/ui/modals/delete-webhook-modal.tsx function DeleteWebhookModal (line 15) | function DeleteWebhookModal({ function useDeleteWebhookModal (line 127) | function useDeleteWebhookModal({ FILE: apps/web/ui/modals/delete-workspace-modal.tsx function DeleteWorkspaceModal (line 16) | function DeleteWorkspaceModal({ function useDeleteWorkspaceModal (line 182) | function useDeleteWorkspaceModal() { FILE: apps/web/ui/modals/disable-fraud-rules-modal.tsx type ConfigurableRuleType (line 18) | type ConfigurableRuleType = keyof UpdateFraudRuleSettings; type DisableFraudRulesModalProps (line 20) | interface DisableFraudRulesModalProps { function DisableFraudRulesModal (line 26) | function DisableFraudRulesModal({ function getRulesBeingDisabled (line 173) | function getRulesBeingDisabled({ function useDisableFraudRulesModal (line 192) | function useDisableFraudRulesModal({ FILE: apps/web/ui/modals/domain-auto-renewal-modal.tsx function DomainAutoRenewalModal (line 16) | function DomainAutoRenewalModal({ function useDomainAutoRenewalModal (line 138) | function useDomainAutoRenewalModal({ domain }: { domain: DomainProps }) { FILE: apps/web/ui/modals/domain-verification-modal.tsx type DomainVerificationModalProps (line 15) | interface DomainVerificationModalProps { function DomainVerificationModal (line 22) | function DomainVerificationModal(props: DomainVerificationModalProps) { function DomainVerificationModalInner (line 33) | function DomainVerificationModalInner({ function useDomainVerificationModal (line 101) | function useDomainVerificationModal({ FILE: apps/web/ui/modals/dot-link-offer-modal.tsx function DotLinkOfferModal (line 26) | function DotLinkOfferModal({ function useDotLinkOfferModal (line 118) | function useDotLinkOfferModal() { function Hero (line 139) | function Hero() { function BackgroundGradient (line 215) | function BackgroundGradient({ className }: { className?: string }) { FILE: apps/web/ui/modals/edit-customer-modal.tsx type FormData (line 11) | type FormData = z.infer; type EditCustomerModalProps (line 13) | type EditCustomerModalProps = { function EditCustomerModal (line 22) | function EditCustomerModal({ function useEditCustomerModal (line 169) | function useEditCustomerModal() { FILE: apps/web/ui/modals/edit-referral-modal.tsx type EditReferralFormData (line 17) | type EditReferralFormData = Omit< type EditReferralModalProps (line 24) | type EditReferralModalProps = { function getInputTypeForField (line 30) | function getInputTypeForField( function convertFormDataArrayToObject (line 39) | function convertFormDataArrayToObject( function EditReferralModal (line 50) | function EditReferralModal({ function useEditReferralModal (line 289) | function useEditReferralModal() { FILE: apps/web/ui/modals/export-applications-modal.tsx type FormData (line 19) | interface FormData { function ExportApplicationsModal (line 23) | function ExportApplicationsModal({ function useExportApplicationsModal (line 162) | function useExportApplicationsModal() { FILE: apps/web/ui/modals/export-commissions-modal.tsx type FormData (line 30) | interface FormData { function ExportCommissionsModal (line 35) | function ExportCommissionsModal({ function useExportCommissionsModal (line 209) | function useExportCommissionsModal() { FILE: apps/web/ui/modals/export-customers-modal.tsx type FormData (line 31) | interface FormData { function ExportCustomersModal (line 36) | function ExportCustomersModal({ function useExportCustomersModal (line 242) | function useExportCustomersModal() { FILE: apps/web/ui/modals/export-links-modal.tsx type FormData (line 29) | type FormData = { function ExportLinksModal (line 39) | function ExportLinksModal({ function useExportLinksModal (line 256) | function useExportLinksModal() { FILE: apps/web/ui/modals/export-partners-modal.tsx type FormData (line 28) | interface FormData { function ExportPartnersModal (line 33) | function ExportPartnersModal({ function useExportPartnersModal (line 201) | function useExportPartnersModal() { FILE: apps/web/ui/modals/google-oauth-modal.tsx function GoogleOauthModal (line 12) | function GoogleOauthModal({ function useGoogleOauthModal (line 68) | function useGoogleOauthModal() { FILE: apps/web/ui/modals/import-bitly-modal.tsx function ImportBitlyModal (line 29) | function ImportBitlyModal({ function useImportBitlyModal (line 293) | function useImportBitlyModal() { FILE: apps/web/ui/modals/import-csv-modal/field-mapping.tsx function FieldMapping (line 25) | function FieldMapping() { function FieldRow (line 66) | function FieldRow({ FILE: apps/web/ui/modals/import-csv-modal/index.tsx type ImportCsvFormData (line 64) | type ImportCsvFormData = { function useCsvContext (line 78) | function useCsvContext() { function ImportCsvModal (line 90) | function ImportCsvModal({ function useImportCsvModal (line 272) | function useImportCsvModal() { FILE: apps/web/ui/modals/import-csv-modal/select-file.tsx constant MAX_ROWS_LIMIT (line 8) | const MAX_ROWS_LIMIT = 50000; function SelectFile (line 10) | function SelectFile() { FILE: apps/web/ui/modals/import-firstpromoter-modal.tsx function ImportFirstPromoterModal (line 18) | function ImportFirstPromoterModal({ function CredentialsForm (line 76) | function CredentialsForm({ onClose }: { onClose: () => void }) { function useImportFirstPromoterModal (line 178) | function useImportFirstPromoterModal() { FILE: apps/web/ui/modals/import-partnerstack-modal.tsx function ImportPartnerStackModal (line 17) | function ImportPartnerStackModal({ function TokenForm (line 79) | function TokenForm({ onClose }: { onClose: () => void }) { function useImportPartnerStackModal (line 171) | function useImportPartnerStackModal() { FILE: apps/web/ui/modals/import-rebrandly-modal.tsx function ImportRebrandlyModal (line 31) | function ImportRebrandlyModal({ function useImportRebrandlyModal (line 308) | function useImportRebrandlyModal() { FILE: apps/web/ui/modals/import-rewardful-modal.tsx function ImportRewardfulModal (line 37) | function ImportRewardfulModal({ function TokenStep (line 252) | function TokenStep({ function CampaignsStep (line 306) | function CampaignsStep({ function useImportRewardfulModal (line 530) | function useImportRewardfulModal() { FILE: apps/web/ui/modals/import-short-modal.tsx function ImportShortModal (line 29) | function ImportShortModal({ function useImportShortModal (line 278) | function useImportShortModal() { FILE: apps/web/ui/modals/import-tolt-modal.tsx type Step (line 21) | type Step = "set-token" | "program-info"; function ImportToltModal (line 23) | function ImportToltModal({ function TokenForm (line 108) | function TokenForm({ function ProgramInfo (line 215) | function ProgramInfo({ function useImportToltModal (line 293) | function useImportToltModal() { FILE: apps/web/ui/modals/invite-code-modal.tsx function InviteCodeModal (line 12) | function InviteCodeModal({ function useInviteCodeModal (line 66) | function useInviteCodeModal() { FILE: apps/web/ui/modals/invite-partner-user-modal.tsx type FormData (line 20) | type FormData = { function InvitePartnerUserModal (line 24) | function InvitePartnerUserModal({ function useInvitePartnerUserModal (line 170) | function useInvitePartnerUserModal() { FILE: apps/web/ui/modals/invite-referral-modal.tsx function InviteReferralModal (line 16) | function InviteReferralModal({ function useInviteReferralModal (line 84) | function useInviteReferralModal() { FILE: apps/web/ui/modals/invite-workspace-user-modal.tsx function InviteWorkspaceUserModal (line 11) | function InviteWorkspaceUserModal({ function useInviteWorkspaceUserModal (line 48) | function useInviteWorkspaceUserModal({ FILE: apps/web/ui/modals/link-builder/ab-testing-modal.tsx function ABTestingModal (line 48) | function ABTestingModal({ function getABTestingLabel (line 493) | function getABTestingLabel({ function ABTestingButton (line 507) | function ABTestingButton({ function useABTestingModal (line 538) | function useABTestingModal() { function TrafficSplitSlider (line 566) | function TrafficSplitSlider({ FILE: apps/web/ui/modals/link-builder/ab-testing/ab-testing-modal.tsx function ABTestingModal (line 49) | function ABTestingModal({ function ABTestingModalInner (line 67) | function ABTestingModalInner({ function ABTestingEdit (line 88) | function ABTestingEdit({ function ABTestingComplete (line 536) | function ABTestingComplete({ function getABTestingLabel (line 592) | function getABTestingLabel({ function ABTestingButton (line 606) | function ABTestingButton({ function useABTestingModal (line 642) | function useABTestingModal() { FILE: apps/web/ui/modals/link-builder/ab-testing/end-ab-testing-modal.tsx function EndABTestingModal (line 12) | function EndABTestingModal({ function useEndABTestingModal (line 111) | function useEndABTestingModal({ FILE: apps/web/ui/modals/link-builder/ab-testing/traffic-split-slider.tsx function TrafficSplitSlider (line 5) | function TrafficSplitSlider({ FILE: apps/web/ui/modals/link-builder/advanced-modal.tsx function AdvancedModal (line 14) | function AdvancedModal({ function useAdvancedModal (line 175) | function useAdvancedModal() { FILE: apps/web/ui/modals/link-builder/expiration-modal.tsx function ExpirationModal (line 26) | function ExpirationModal({ function getExpirationLabel (line 202) | function getExpirationLabel({ function ExpirationButton (line 210) | function ExpirationButton({ function useExpirationModal (line 235) | function useExpirationModal() { FILE: apps/web/ui/modals/link-builder/index.tsx type LinkBuilderModalProps (line 52) | type LinkBuilderModalProps = { function LinkBuilder (line 58) | function LinkBuilder(props: LinkBuilderProps & LinkBuilderModalProps) { function LinkBuilderOuter (line 62) | function LinkBuilderOuter({ function LinkBuilderInner (line 79) | function LinkBuilderInner({ type CreateLinkButtonProps (line 258) | type CreateLinkButtonProps = Partial; function CreateLinkButton (line 260) | function CreateLinkButton({ function useLinkBuilder (line 327) | function useLinkBuilder({ FILE: apps/web/ui/modals/link-builder/og-modal.tsx function OGModal (line 34) | function OGModal({ function OGModalInner (line 47) | function OGModalInner({ function useOGModal (line 476) | function useOGModal() { FILE: apps/web/ui/modals/link-builder/partners-modal.tsx function PartnersModal (line 13) | function PartnersModal({ function PartnerModalInner (line 31) | function PartnerModalInner({ function usePartnersModal (line 143) | function usePartnersModal() { FILE: apps/web/ui/modals/link-builder/password-modal.tsx function PasswordModal (line 17) | function PasswordModal({ function PasswordModalInner (line 35) | function PasswordModalInner({ function getPasswordLabel (line 206) | function getPasswordLabel({ password }: Pick) { function PasswordButton (line 210) | function PasswordButton({ function usePasswordModal (line 233) | function usePasswordModal() { FILE: apps/web/ui/modals/link-builder/targeting-modal.tsx function TargetingModal (line 25) | function TargetingModal({ function getTargetingLabel (line 378) | function getTargetingLabel({ function TargetingButton (line 403) | function TargetingButton({ function useTargetingModal (line 434) | function useTargetingModal() { FILE: apps/web/ui/modals/link-builder/unsplash-search.tsx function UnsplashSearch (line 9) | function UnsplashSearch({ FILE: apps/web/ui/modals/link-builder/use-link-drafts.ts type LinkDraft (line 6) | type LinkDraft = { function useLinkDrafts (line 12) | function useLinkDrafts({ FILE: apps/web/ui/modals/link-builder/utm-modal.tsx type UTMModalProps (line 28) | type UTMModalProps = { function UTMModal (line 33) | function UTMModal(props: UTMModalProps) { function UTMModalInner (line 45) | function UTMModalInner({ setShowUTMModal }: UTMModalProps) { function UTMButton (line 272) | function UTMButton({ function useUTMModal (line 304) | function useUTMModal() { FILE: apps/web/ui/modals/link-builder/utm-templates-combo.tsx function UTMTemplatesCombo (line 19) | function UTMTemplatesCombo({ FILE: apps/web/ui/modals/link-builder/webhooks-modal.tsx function WebhooksModal (line 17) | function WebhooksModal({ function WebhooksModalInner (line 35) | function WebhooksModalInner({ function useWebhooksModal (line 145) | function useWebhooksModal() { function WebhookSelect (line 166) | function WebhookSelect({ FILE: apps/web/ui/modals/link-conversion-tracking-modal.tsx type LinkConversionTrackingModalProps (line 16) | interface LinkConversionTrackingModalProps { function LinkConversionTrackingModal (line 22) | function LinkConversionTrackingModal(props: LinkConversionTrackingModalP... function LinkConversionTrackingModalInner (line 33) | function LinkConversionTrackingModalInner({ function useLinkConversionTrackingModal (line 174) | function useLinkConversionTrackingModal({ FILE: apps/web/ui/modals/link-qr-modal.tsx constant DEFAULT_COLORS (line 47) | const DEFAULT_COLORS = [ type QRCodeDesign (line 58) | type QRCodeDesign = { type LinkQRModalProps (line 63) | type LinkQRModalProps = { function LinkQRModal (line 68) | function LinkQRModal( function LinkQRModalInner (line 85) | function LinkQRModalInner({ function DownloadPopover (line 353) | function DownloadPopover({ function CopyPopover (line 437) | function CopyPopover({ function useLinkQRModal (line 527) | function useLinkQRModal(props: LinkQRModalProps) { FILE: apps/web/ui/modals/manage-usage-modal.tsx type ManageUsageModalProps (line 22) | type ManageUsageModalProps = { function ManageUsageModalContent (line 28) | function ManageUsageModalContent({ type }: ManageUsageModalProps) { function ManageUsageModal (line 257) | function ManageUsageModal(props: ManageUsageModalProps) { function useManageUsageModal (line 268) | function useManageUsageModal( FILE: apps/web/ui/modals/modal-provider.tsx function ModalProvider (line 61) | function ModalProvider({ children }: { children: ReactNode }) { function ModalProviderClient (line 69) | function ModalProviderClient({ children }: { children: ReactNode }) { FILE: apps/web/ui/modals/move-link-to-folder-modal.tsx type MoveLinkToFolderModalProps (line 6) | interface MoveLinkToFolderModalProps { function useMoveLinkToFolderModal (line 37) | function useMoveLinkToFolderModal( FILE: apps/web/ui/modals/oauth-app-created-modal.tsx type OAuthAppCreatedModalProps (line 14) | interface OAuthAppCreatedModalProps { function OAuthAppCreatedModal (line 20) | function OAuthAppCreatedModal({ function useOAuthAppCreatedModal (line 131) | function useOAuthAppCreatedModal({ FILE: apps/web/ui/modals/partner-link-modal.tsx type PartnerLinkFormData (line 53) | interface PartnerLinkFormData { type PartnerLinkModalProps (line 59) | interface PartnerLinkModalProps { function PartnerLinkModal (line 65) | function PartnerLinkModal({ function QRCodePreview (line 84) | function QRCodePreview({ function PartnerLinkModalContent (line 158) | function PartnerLinkModalContent({ function DestinationDomainCombobox (line 520) | function DestinationDomainCombobox({ function usePartnerLinkModal (line 598) | function usePartnerLinkModal( FILE: apps/web/ui/modals/partner-link-qr-modal.tsx constant DEFAULT_COLORS (line 34) | const DEFAULT_COLORS = [ type QRCodeDesign (line 45) | type QRCodeDesign = { type PartnerLinkQRModalProps (line 50) | type PartnerLinkQRModalProps = { function PartnerLinkQRModal (line 55) | function PartnerLinkQRModal( function PartnerLinkQRModalInner (line 72) | function PartnerLinkQRModalInner({ function DownloadPopover (line 269) | function DownloadPopover({ function CopyPopover (line 353) | function CopyPopover({ function usePartnerLinkQRModal (line 443) | function usePartnerLinkQRModal(props: PartnerLinkQRModalProps) { FILE: apps/web/ui/modals/plan-change-confirmation-modal.tsx function PlanChangeConfirmationModal (line 16) | function PlanChangeConfirmationModal({ function usePlanChangeConfirmationModal (line 81) | function usePlanChangeConfirmationModal({ FILE: apps/web/ui/modals/primary-domain-modal.tsx function PrimaryDomainModal (line 14) | function PrimaryDomainModal({ function usePrimaryDomainModal (line 86) | function usePrimaryDomainModal({ props }: { props: DomainProps }) { FILE: apps/web/ui/modals/program-welcome-modal.tsx function ProgramWelcomeModal (line 21) | function ProgramWelcomeModal({ function useProgramWelcomeModal (line 132) | function useProgramWelcomeModal() { FILE: apps/web/ui/modals/prompt-modal.tsx type PromptModelProps (line 11) | type PromptModelProps = { function PromptModal (line 23) | function PromptModal({ function usePromptModal (line 90) | function usePromptModal(props: PromptModelProps) { FILE: apps/web/ui/modals/reactivate-partner-modal.tsx function ReactivatePartnerModal (line 17) | function ReactivatePartnerModal({ function useReactivatePartnerModal (line 100) | function useReactivatePartnerModal({ FILE: apps/web/ui/modals/register-domain-modal.tsx type RegisterDomainProps (line 5) | interface RegisterDomainProps { function useRegisterDomainModal (line 46) | function useRegisterDomainModal( FILE: apps/web/ui/modals/register-domain-success-modal.tsx type RegisterDomainSuccessProps (line 6) | interface RegisterDomainSuccessProps { function useRegisterDomainSuccessModal (line 74) | function useRegisterDomainSuccessModal() { FILE: apps/web/ui/modals/reject-partner-application-modal.tsx type RejectPartnerApplicationModalProps (line 16) | interface RejectPartnerApplicationModalProps { function RejectPartnerApplicationModal (line 27) | function RejectPartnerApplicationModal({ function useRejectPartnerApplicationModal (line 141) | function useRejectPartnerApplicationModal({ FILE: apps/web/ui/modals/remove-oauth-app-modal.tsx function RemoveOAuthAppModal (line 14) | function RemoveOAuthAppModal({ function useRemoveOAuthAppModal (line 130) | function useRemoveOAuthAppModal({ FILE: apps/web/ui/modals/remove-partner-user-modal.tsx function RemovePartnerUserModal (line 18) | function RemovePartnerUserModal({ function useRemovePartnerUserModal (line 155) | function useRemovePartnerUserModal({ FILE: apps/web/ui/modals/remove-saml-modal.tsx function RemoveSAMLModal (line 14) | function RemoveSAMLModal({ function useRemoveSAMLModal (line 132) | function useRemoveSAMLModal() { FILE: apps/web/ui/modals/remove-scim-modal.tsx function RemoveSCIMModal (line 15) | function RemoveSCIMModal({ function useRemoveSCIMModal (line 134) | function useRemoveSCIMModal() { FILE: apps/web/ui/modals/remove-workspace-user-modal.tsx function RemoveWorkspaceUserModal (line 21) | function RemoveWorkspaceUserModal({ function useRemoveWorkspaceUserModal (line 226) | function useRemoveWorkspaceUserModal({ user }: { user: UserProps }) { FILE: apps/web/ui/modals/rename-folder-modal.tsx type RenameFolderModalProps (line 6) | interface RenameFolderModalProps { function useRenameFolderModal (line 33) | function useRenameFolderModal(folder: Pick) { FILE: apps/web/ui/modals/saml-modal.tsx function SAMLModal (line 16) | function SAMLModal({ function useSAMLModal (line 218) | function useSAMLModal() { FILE: apps/web/ui/modals/scim-modal.tsx function SCIMModal (line 26) | function SCIMModal({ function useSCIMModal (line 270) | function useSCIMModal() { FILE: apps/web/ui/modals/send-test-webhook-modal.tsx function SendTestWebhookModal (line 16) | function SendTestWebhookModal({ function useSendTestWebhookModal (line 108) | function useSendTestWebhookModal({ FILE: apps/web/ui/modals/set-default-folder-modal.tsx function SetDefaultFolderModal (line 17) | function SetDefaultFolderModal({ function useDefaultFolderModal (line 108) | function useDefaultFolderModal({ folder }: { folder: FolderSummary }) { FILE: apps/web/ui/modals/share-dashboard-modal.tsx type ShareDashboardModalInnerProps (line 33) | type ShareDashboardModalInnerProps = type ShareDashboardModalProps (line 45) | type ShareDashboardModalProps = { function ShareDashboardModal (line 50) | function ShareDashboardModal(props: ShareDashboardModalProps) { function ShareDashboardModalInner (line 58) | function ShareDashboardModalInner({ function LinkCard (line 339) | function LinkCard({ function FolderCard (line 408) | function FolderCard({ function useShareDashboardModal (line 465) | function useShareDashboardModal(props: ShareDashboardModalInnerProps) { FILE: apps/web/ui/modals/social-verification-by-code-modal.tsx type SocialVerificationByCodeModalProps (line 11) | interface SocialVerificationByCodeModalProps { type PlatformInfo (line 19) | interface PlatformInfo { constant PLATFORM_INFO (line 29) | const PLATFORM_INFO: Record< function SocialVerificationByCodeModal (line 71) | function SocialVerificationByCodeModal( function SocialVerificationByCodeModalInner (line 84) | function SocialVerificationByCodeModalInner({ function Step (line 205) | function Step({ FILE: apps/web/ui/modals/submit-oauth-app-modal.tsx constant DEFAULT_MESSAGE (line 16) | const DEFAULT_MESSAGE = function SubmitOAuthAppModal (line 19) | function SubmitOAuthAppModal({ function useSubmitOAuthAppModal (line 107) | function useSubmitOAuthAppModal({ FILE: apps/web/ui/modals/tag-link-modal.tsx type TagLinkModalProps (line 19) | interface TagLinkModalProps { function TagLinkModal (line 25) | function TagLinkModal(props: TagLinkModalProps) { function TagLinkModalInner (line 36) | function TagLinkModalInner({ setShowTagLinkModal, links }: TagLinkModalP... function useTagLinkModal (line 137) | function useTagLinkModal({ FILE: apps/web/ui/modals/token-created-modal.tsx function TokenCreatedModal (line 11) | function TokenCreatedModal({ function useTokenCreatedModal (line 66) | function useTokenCreatedModal({ token }: { token: string }) { FILE: apps/web/ui/modals/transfer-domain-modal.tsx type TransferDomainModalProps (line 16) | type TransferDomainModalProps = { function TransferDomainModal (line 23) | function TransferDomainModal(props: TransferDomainModalProps) { function TransferDomainModalInner (line 34) | function TransferDomainModalInner({ function useTransferDomainModal (line 173) | function useTransferDomainModal({ FILE: apps/web/ui/modals/transfer-link-modal.tsx type TransferLinkModalProps (line 17) | type TransferLinkModalProps = { function TransferLinkModal (line 24) | function TransferLinkModal(props: TransferLinkModalProps) { function TransferLinkModalInner (line 35) | function TransferLinkModalInner({ function useTransferLinkModal (line 165) | function useTransferLinkModal({ FILE: apps/web/ui/modals/unban-partner-modal.tsx type UnbanPartnerFormData (line 19) | type UnbanPartnerFormData = { function UnbanPartnerModal (line 23) | function UnbanPartnerModal({ function useUnbanPartnerModal (line 147) | function useUnbanPartnerModal({ FILE: apps/web/ui/modals/uninstall-integration-modal.tsx function UninstallIntegrationModal (line 15) | function UninstallIntegrationModal({ function useUninstallIntegrationModal (line 105) | function useUninstallIntegrationModal({ FILE: apps/web/ui/modals/update-partner-user-modal.tsx function UpdatePartnerUserModal (line 16) | function UpdatePartnerUserModal({ function useUpdatePartnerUserModal (line 118) | function useUpdatePartnerUserModal({ FILE: apps/web/ui/modals/update-workspace-user-role.tsx function WorkspaceUserRoleModal (line 17) | function WorkspaceUserRoleModal({ function useWorkspaceUserRoleModal (line 120) | function useWorkspaceUserRoleModal({ FILE: apps/web/ui/modals/upgraded-modal.tsx function UpgradedModal (line 19) | function UpgradedModal({ function useUpgradedModal (line 157) | function useUpgradedModal() { FILE: apps/web/ui/oauth-apps/add-edit-app-form.tsx function AddOAuthAppForm (line 46) | function AddOAuthAppForm({ FILE: apps/web/ui/oauth-apps/add-edit-integration-form.tsx function AddEditIntegrationForm (line 27) | function AddEditIntegrationForm({ FILE: apps/web/ui/oauth-apps/oauth-app-card.tsx function OAuthAppCard (line 8) | function OAuthAppCard(oAuthApp: OAuthAppProps) { FILE: apps/web/ui/oauth-apps/oauth-app-credentials.tsx function OAuthAppCredentials (line 5) | function OAuthAppCredentials({ FILE: apps/web/ui/oauth-apps/oauth-app-placeholder.tsx function OAuthAppPlaceholder (line 1) | function OAuthAppPlaceholder() { FILE: apps/web/ui/partners/activity-event.tsx function ActivityEvent (line 6) | function ActivityEvent({ FILE: apps/web/ui/partners/bounties/bounty-description.tsx function BountyDescription (line 6) | function BountyDescription({ bounty }: { bounty: PartnerBountyProps }) { FILE: apps/web/ui/partners/bounties/bounty-incremental-bonus-tooltip.tsx function BountyIncrementalBonusTooltip (line 5) | function BountyIncrementalBonusTooltip({ function getBountyIncrementalBonusDescription (line 28) | function getBountyIncrementalBonusDescription( FILE: apps/web/ui/partners/bounties/bounty-performance.tsx function PerformanceBountyProgress (line 10) | function PerformanceBountyProgress({ function SubmissionBountyProgress (line 57) | function SubmissionBountyProgress({ FILE: apps/web/ui/partners/bounties/bounty-platform-icons.ts constant PLATFORM_ICONS (line 5) | const PLATFORM_ICONS: Record< FILE: apps/web/ui/partners/bounties/bounty-progress-bar-row.tsx function EmphasisNumber (line 4) | function EmphasisNumber({ children }: { children: ReactNode }) { function BountyProgressBarRow (line 10) | function BountyProgressBarRow({ FILE: apps/web/ui/partners/bounties/bounty-reward-criteria.tsx function getBountyRewardCriteria (line 6) | function getBountyRewardCriteria( function BountyRewardCriteria (line 47) | function BountyRewardCriteria({ FILE: apps/web/ui/partners/bounties/bounty-reward-description.tsx function BountyRewardDescription (line 7) | function BountyRewardDescription({ FILE: apps/web/ui/partners/bounties/bounty-social-content-preview.tsx type BountySocialContentPreviewProps (line 12) | interface BountySocialContentPreviewProps { type GetSocialContentEmbedUrlParams (line 17) | interface GetSocialContentEmbedUrlParams { type GetSocialContentEmbedAspectRatioParams (line 22) | interface GetSocialContentEmbedAspectRatioParams { function getSocialContentEmbedUrl (line 27) | function getSocialContentEmbedUrl({ function getSocialContentEmbedAspectRatio (line 121) | function getSocialContentEmbedAspectRatio({ function BountySocialContentPreview (line 155) | function BountySocialContentPreview({ FILE: apps/web/ui/partners/bounties/bounty-social-content.tsx function socialContentRequirementChecks (line 17) | function socialContentRequirementChecks({ function SocialContentRequirementChecks (line 43) | function SocialContentRequirementChecks({ function SocialContentUrlField (line 101) | function SocialContentUrlField({ function SocialAccountNotVerifiedWarning (line 213) | function SocialAccountNotVerifiedWarning({ FILE: apps/web/ui/partners/bounties/bounty-social-metrics-rewards-table.tsx type SubmissionForRewards (line 37) | interface SubmissionForRewards { function getDisplayStatus (line 43) | function getDisplayStatus( function BountySocialMetricsRewardsTable (line 70) | function BountySocialMetricsRewardsTable({ FILE: apps/web/ui/partners/bounties/bounty-status-badge.tsx constant NEW_BOUNTY_DAYS (line 6) | const NEW_BOUNTY_DAYS = 14; constant EXPIRING_SOON_DAYS (line 7) | const EXPIRING_SOON_DAYS = 2; type BountyBadgeStateResult (line 9) | interface BountyBadgeStateResult { function getBountyBadgeState (line 15) | function getBountyBadgeState( function BountyStatusBadge (line 84) | function BountyStatusBadge({ bounty }: { bounty: PartnerBountyProps }) { FILE: apps/web/ui/partners/bounties/bounty-submission-details-sheet.tsx type PartnerBountySubmission (line 36) | type PartnerBountySubmission = PartnerBountyProps["submissions"][number]; type BountySubmissionDetailsSheetProps (line 38) | interface BountySubmissionDetailsSheetProps { function SocialContentPreview (line 47) | function SocialContentPreview({ function SubmissionDetailsView (line 120) | function SubmissionDetailsView({ function SubmissionRewardTable (line 308) | function SubmissionRewardTable({ function BountySubmissionDetailsSheet (line 381) | function BountySubmissionDetailsSheet({ function useBountySubmissionDetailsSheet (line 453) | function useBountySubmissionDetailsSheet({ FILE: apps/web/ui/partners/bounties/bounty-submission-requirements.tsx function getBountySubmissionRequirements (line 5) | function getBountySubmissionRequirements(bounty: PartnerBountyProps) { function BountySubmissionRequirements (line 40) | function BountySubmissionRequirements({ FILE: apps/web/ui/partners/bounties/bounty-thumbnail-image.tsx function BountyThumbnailImage (line 4) | function BountyThumbnailImage({ FILE: apps/web/ui/partners/bounties/claim-bounty-context.tsx type ClaimBountyContextValue (line 11) | type ClaimBountyContextValue = { function ClaimBountyProvider (line 22) | function ClaimBountyProvider({ function useClaimBountyContext (line 45) | function useClaimBountyContext() { FILE: apps/web/ui/partners/bounties/claim-bounty-sheet.tsx type FileInput (line 42) | interface FileInput { function ImagesField (line 49) | function ImagesField({ function UrlsField (line 232) | function UrlsField({ bounty }: { bounty: PartnerBountyProps }) { function DescriptionField (line 316) | function DescriptionField() { type ClaimBountySheetProps (line 350) | interface ClaimBountySheetProps { function ClaimBountySheetContent (line 357) | function ClaimBountySheetContent({ function ClaimBountySheet (line 678) | function ClaimBountySheet({ function useClaimBountySheet (line 698) | function useClaimBountySheet( FILE: apps/web/ui/partners/bounties/reject-bounty-submission-modal.tsx type RejectBountySubmissionModalProps (line 19) | interface RejectBountySubmissionModalProps { method onError (line 56) | onError({ error }) { function useRejectBountySubmissionModal (line 185) | function useRejectBountySubmissionModal( FILE: apps/web/ui/partners/bounties/use-claim-bounty-form.ts type CreateBountySubmissionInput (line 8) | type CreateBountySubmissionInput = z.infer< function useClaimBountyForm (line 12) | function useClaimBountyForm() { FILE: apps/web/ui/partners/bounties/use-social-content.ts type UseSocialContentParams (line 6) | interface UseSocialContentParams { function useSocialContent (line 11) | function useSocialContent({ bountyId, url }: UseSocialContentParams) { FILE: apps/web/ui/partners/comission-type-icon.tsx constant ICONS_MAP (line 11) | const ICONS_MAP = { FILE: apps/web/ui/partners/commission-row-menu.tsx function CommissionRowMenu (line 19) | function CommissionRowMenu({ row }: { row: Row }) { function MenuItem (line 121) | function MenuItem({ FILE: apps/web/ui/partners/commission-status-badges.tsx type CommissionTooltipDataProps (line 18) | interface CommissionTooltipDataProps { FILE: apps/web/ui/partners/confirm-payouts-sheet.tsx type SelectPaymentMethod (line 69) | type SelectPaymentMethod = function ConfirmPayoutsSheetContent (line 76) | function ConfirmPayoutsSheetContent() { function ConfirmPayoutsSheet (line 864) | function ConfirmPayoutsSheet() { function ConfirmPayoutsButton (line 894) | function ConfirmPayoutsButton({ function buildPayoutFeeTooltip (line 1082) | function buildPayoutFeeTooltip({ FILE: apps/web/ui/partners/constants.ts constant REWARD_EVENTS (line 3) | const REWARD_EVENTS = { constant STRIPE_ERROR_MAP (line 27) | const STRIPE_ERROR_MAP: Record< FILE: apps/web/ui/partners/conversion-score-icon.tsx function ConversionScoreIcon (line 6) | function ConversionScoreIcon({ FILE: apps/web/ui/partners/country-combobox.tsx function CountryCombobox (line 5) | function CountryCombobox({ FILE: apps/web/ui/partners/discounts/add-edit-discount-sheet.tsx type DiscountSheetProps (line 39) | interface DiscountSheetProps { type FormData (line 45) | type FormData = z.infer; constant COUPON_CREATION_OPTIONS (line 49) | const COUPON_CREATION_OPTIONS = [ function DiscountSheetContent (line 62) | function DiscountSheetContent({ function DiscountSheetCard (line 533) | function DiscountSheetCard({ function AmountInput (line 561) | function AmountInput({ disabled }: { disabled?: boolean }) { function DiscountSheet (line 594) | function DiscountSheet({ function useDiscountSheet (line 609) | function useDiscountSheet( FILE: apps/web/ui/partners/discounts/discount-code-badge.tsx function DiscountCodeBadge (line 5) | function DiscountCodeBadge({ code }: { code: string }) { FILE: apps/web/ui/partners/eligibility-requirements.tsx type ConditionKey (line 12) | type ConditionKey = EligibilityConditionDB["key"]; type EligibilityOperator (line 14) | type EligibilityOperator = EligibilityConditionDB["operator"]; type EligibilityCondition (line 16) | type EligibilityCondition = { constant CONDITION_CONFIGS (line 23) | const CONDITION_CONFIGS: Record< constant OPERATOR_LABELS (line 40) | const OPERATOR_LABELS: Record = { function isValueValid (line 45) | function isValueValid(value: string[] | null): boolean { function generateId (line 49) | function generateId(): string { constant COUNTRY_ITEMS (line 53) | const COUNTRY_ITEMS = Object.entries(COUNTRIES).map(([code, name]) => ({ function CountryValueInput (line 65) | function CountryValueInput({ function ValueBadge (line 187) | function ValueBadge({ function ConditionRow (line 213) | function ConditionRow({ function EligibilityRequirements (line 278) | function EligibilityRequirements({ FILE: apps/web/ui/partners/external-payouts-indicator.tsx function ExternalPayoutsIndicator (line 4) | function ExternalPayoutsIndicator({ FILE: apps/web/ui/partners/format-discount-description.ts function formatDiscountDescription (line 5) | function formatDiscountDescription( FILE: apps/web/ui/partners/format-reward-description.ts function formatRewardDescription (line 4) | function formatRewardDescription(reward: RewardProps) { FILE: apps/web/ui/partners/fraud-risks/commissions-on-hold-table.tsx constant COMMISSIONS_ON_HOLD_PAGE_SIZE (line 23) | const COMMISSIONS_ON_HOLD_PAGE_SIZE = 10; function CommissionsOnHoldTable (line 25) | function CommissionsOnHoldTable({ FILE: apps/web/ui/partners/fraud-risks/fraud-disclaimer-banner.tsx function FraudDisclaimerBanner (line 4) | function FraudDisclaimerBanner({ className }: { className?: string }) { FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/fraud-cross-program-ban-table.tsx type EventDataProps (line 10) | type EventDataProps = z.infer< function FraudCrossProgramBanTable (line 14) | function FraudCrossProgramBanTable() { FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/fraud-matching-customer-email-table.tsx type EventDataProps (line 16) | type EventDataProps = z.infer<(typeof fraudEventSchemas)["customerEmailM... constant MATCH_TYPE_LABELS (line 18) | const MATCH_TYPE_LABELS: Record = { function FraudMatchingCustomerEmailTable (line 24) | function FraudMatchingCustomerEmailTable() { FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/fraud-paid-traffic-detected-table.tsx type EventDataProps (line 27) | type EventDataProps = z.infer< constant PAID_TRAFFIC_PLATFORM_ICONS (line 31) | const PAID_TRAFFIC_PLATFORM_ICONS: Record< function FraudPaidTrafficDetectedTable (line 44) | function FraudPaidTrafficDetectedTable() { function HighlightedUrl (line 183) | function HighlightedUrl({ FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/fraud-partner-info-table.tsx type EventDataProps (line 14) | type EventDataProps = z.infer<(typeof fraudEventSchemas)["partnerFraudRe... function FraudPartnerInfoTable (line 16) | function FraudPartnerInfoTable() { FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/fraud-referral-source-banned-table.tsx type EventDataProps (line 12) | type EventDataProps = z.infer< function FraudReferralSourceBannedTable (line 16) | function FraudReferralSourceBannedTable() { FILE: apps/web/ui/partners/fraud-risks/fraud-events-tables/index.tsx constant FRAUD_EVENTS_TABLES (line 10) | const FRAUD_EVENTS_TABLES: Partial; function ResolveFraudGroupModal (line 29) | function ResolveFraudGroupModal({ function useResolveFraudGroupModal (line 163) | function useResolveFraudGroupModal({ FILE: apps/web/ui/partners/fraud-risks/resolved-fraud-group-table.tsx constant RESOLVED_FRAUD_GROUP_PAGE_SIZE (line 17) | const RESOLVED_FRAUD_GROUP_PAGE_SIZE = 10; function ResolvedFraudGroupTable (line 19) | function ResolvedFraudGroupTable({ partnerId }: { partnerId: string }) { FILE: apps/web/ui/partners/groups/design/application-form/application-hero-preview.tsx function ApplicationFormHero (line 5) | function ApplicationFormHero({ FILE: apps/web/ui/partners/groups/design/application-form/fields/form-control.tsx type FormControlProps (line 4) | type FormControlProps = { FILE: apps/web/ui/partners/groups/design/application-form/fields/image-upload-field.tsx type ImageUploadFieldData (line 23) | type ImageUploadFieldData = z.infer< type FileInput (line 27) | interface FileInput { function ImageUploadFieldContent (line 34) | function ImageUploadFieldContent({ function ImageUploadField (line 303) | function ImageUploadField({ FILE: apps/web/ui/partners/groups/design/application-form/fields/index.tsx constant FIELD_COMPONENTS (line 10) | const FIELD_COMPONENTS: Record< FILE: apps/web/ui/partners/groups/design/application-form/fields/long-text-field.tsx function LongTextField (line 8) | function LongTextField({ FILE: apps/web/ui/partners/groups/design/application-form/fields/multiple-choice-field.tsx type MultipleChoiceFieldData (line 7) | type MultipleChoiceFieldData = z.infer< type MultipleChoiceFieldProps (line 11) | type MultipleChoiceFieldProps = { function MultipleChoiceField (line 17) | function MultipleChoiceField({ FILE: apps/web/ui/partners/groups/design/application-form/fields/select-field.tsx type SelectFieldData (line 8) | type SelectFieldData = z.infer & { function ImageUploadFieldModalInner (line 73) | function ImageUploadFieldModalInner({ function ImageUploadFieldThumbnail (line 253) | function ImageUploadFieldThumbnail() { FILE: apps/web/ui/partners/groups/design/application-form/modals/long-text-field-modal.tsx constant MIN_LENGTH (line 12) | const MIN_LENGTH = 1; constant MAX_LENGTH (line 13) | const MAX_LENGTH = 5000; constant DEFAULT_MAX_LENGTH (line 14) | const DEFAULT_MAX_LENGTH = 500; type LongTextFieldData (line 16) | type LongTextFieldData = z.infer< type LongTextFieldModalProps (line 20) | type LongTextFieldModalProps = { function LongTextFieldModal (line 27) | function LongTextFieldModal(props: LongTextFieldModalProps) { type FormData (line 35) | type FormData = Omit & { function LongTextFieldModalInner (line 73) | function LongTextFieldModalInner({ function LongTextFieldThumbnail (line 276) | function LongTextFieldThumbnail() { FILE: apps/web/ui/partners/groups/design/application-form/modals/multiple-choice-field-modal.tsx type MultipleChoiceFieldData (line 18) | type MultipleChoiceFieldData = z.infer< type MultipleChoiceFieldModalProps (line 22) | type MultipleChoiceFieldModalProps = { function MultipleChoiceFieldModal (line 29) | function MultipleChoiceFieldModal(props: MultipleChoiceFieldModalProps) { function MultipleChoiceFieldModalInner (line 37) | function MultipleChoiceFieldModalInner({ function MultipleChoiceFieldThumbnail (line 300) | function MultipleChoiceFieldThumbnail() { FILE: apps/web/ui/partners/groups/design/application-form/modals/select-field-modal.tsx type SelectFieldData (line 18) | type SelectFieldData = z.infer & { function ShortTextFieldModalInner (line 73) | function ShortTextFieldModalInner({ function ShortTextFieldThumbnail (line 275) | function ShortTextFieldThumbnail() { FILE: apps/web/ui/partners/groups/design/application-form/modals/website-and-socials-field-modal.tsx type WebsiteAndSocialsFieldData (line 24) | type WebsiteAndSocialsFieldData = z.infer< type WebsiteAndSocialsSiteData (line 28) | type WebsiteAndSocialsSiteData = z.infer< type WebsiteAndSocialsFieldDataType (line 32) | type WebsiteAndSocialsFieldDataType = z.infer< type WebsiteAndSocialsFieldModalProps (line 36) | type WebsiteAndSocialsFieldModalProps = { function WebsiteAndSocialsFieldModal (line 43) | function WebsiteAndSocialsFieldModal( function WebsiteAndSocialsFieldModalInner (line 53) | function WebsiteAndSocialsFieldModalInner({ function SiteControl (line 228) | function SiteControl({ function WebsiteAndSocialsFieldThumbnail (line 311) | function WebsiteAndSocialsFieldThumbnail() { FILE: apps/web/ui/partners/groups/design/application-form/program-application-form.tsx type FormData (line 25) | type FormData = { function ProgramApplicationForm (line 33) | function ProgramApplicationForm({ FILE: apps/web/ui/partners/groups/design/application-form/program-terms-preview.tsx constant PROGRAM_TERMS_CHANNEL (line 10) | const PROGRAM_TERMS_CHANNEL = "program-terms-updated"; function ProgramTermsPreview (line 12) | function ProgramTermsPreview() { FILE: apps/web/ui/partners/groups/design/branding-context-provider.tsx type BrandingContextProviderProps (line 14) | type BrandingContextProviderProps = { function BrandingContextProvider (line 38) | function BrandingContextProvider({ FILE: apps/web/ui/partners/groups/design/branding-form.tsx type BrandingFormData (line 42) | type BrandingFormData = { function useBrandingFormContext (line 47) | function useBrandingFormContext() { type DraftData (line 51) | type DraftData = BrandingFormData & { draftSavedAt: string | null }; function BrandingForm (line 53) | function BrandingForm() { constant PREVIEW_TABS (line 85) | const PREVIEW_TABS = [ function BrandingFormInner (line 160) | function BrandingFormInner({ function Drafts (line 405) | function Drafts({ function PublishMenu (line 462) | function PublishMenu({ FILE: apps/web/ui/partners/groups/design/branding-settings-form.tsx constant FIELDS (line 16) | const FIELDS = ["logo", "wordmark", "brandColor"] as const; function BrandingSettingsForm (line 18) | function BrandingSettingsForm() { function FormRow (line 174) | function FormRow({ FILE: apps/web/ui/partners/groups/design/edit-list.tsx function EditList (line 28) | function EditList({ function EditListItem (line 73) | function EditListItem({ function ExpandableEditListItem (line 130) | function ExpandableEditListItem({ FILE: apps/web/ui/partners/groups/design/lander/lander-ai-banner.tsx function LanderAIBanner (line 15) | function LanderAIBanner() { FILE: apps/web/ui/partners/groups/design/lander/lander-preview-controls.tsx function LanderPreviewControls (line 16) | function LanderPreviewControls() { FILE: apps/web/ui/partners/groups/design/lander/modals/accordion-block-modal.tsx type AccordionBlockData (line 18) | type AccordionBlockData = z.infer< type AccordionBlockModalProps (line 22) | type AccordionBlockModalProps = { function AccordionBlockModal (line 29) | function AccordionBlockModal(props: AccordionBlockModalProps) { function AccordionBlockModalInner (line 41) | function AccordionBlockModalInner({ function AccordionBlockThumbnail (line 251) | function AccordionBlockThumbnail() { FILE: apps/web/ui/partners/groups/design/lander/modals/add-block-modal.tsx type AddBlockModalProps (line 20) | type AddBlockModalProps = { function AddBlockModal (line 26) | function AddBlockModal(props: AddBlockModalProps) { constant DESIGNER_BLOCKS (line 37) | const DESIGNER_BLOCKS: ({ function AddBlockModalInner (line 83) | function AddBlockModalInner({ FILE: apps/web/ui/partners/groups/design/lander/modals/earnings-calculator-block-modal.tsx type EarningsCalculatorBlockData (line 21) | type EarningsCalculatorBlockData = z.infer< type EarningsCalculatorBlockModalProps (line 25) | type EarningsCalculatorBlockModalProps = { constant MAX_PRODUCT_PRICE (line 32) | const MAX_PRODUCT_PRICE = 10_000; function EarningsCalculatorBlockModal (line 34) | function EarningsCalculatorBlockModal( function EarningsCalculatorBlockModalInner (line 44) | function EarningsCalculatorBlockModalInner({ function Preview (line 204) | function Preview({ FILE: apps/web/ui/partners/groups/design/lander/modals/edit-hero-modal.tsx type EditHeroModalProps (line 16) | type EditHeroModalProps = { function EditHeroModal (line 21) | function EditHeroModal(props: EditHeroModalProps) { function EditHeroModalInner (line 32) | function EditHeroModalInner({ setShowEditHeroModal }: EditHeroModalProps) { function useEditHeroModal (line 154) | function useEditHeroModal() { FILE: apps/web/ui/partners/groups/design/lander/modals/files-block-modal.tsx type FilesBlockData (line 18) | type FilesBlockData = z.infer["dat... type FilesBlockModalProps (line 20) | type FilesBlockModalProps = { function FilesBlockModal (line 27) | function FilesBlockModal(props: FilesBlockModalProps) { function FilesBlockModalInner (line 39) | function FilesBlockModalInner({ function FilesBlockThumbnail (line 274) | function FilesBlockThumbnail() { FILE: apps/web/ui/partners/groups/design/lander/modals/generate-lander-modal.tsx type GenerateLanderFormData (line 7) | type GenerateLanderFormData = { type GenerateLanderModalProps (line 12) | type GenerateLanderModalProps = { function GenerateLanderModal (line 19) | function GenerateLanderModal(props: GenerateLanderModalProps) { function GenerateLanderModalInner (line 30) | function GenerateLanderModalInner({ FILE: apps/web/ui/partners/groups/design/lander/modals/image-block-modal.tsx type ImageBlockFormData (line 12) | type ImageBlockFormData = z.infer[... type ImageBlockModalProps (line 14) | type ImageBlockModalProps = { function ImageBlockModal (line 21) | function ImageBlockModal(props: ImageBlockModalProps) { function ImageBlockModalInner (line 29) | function ImageBlockModalInner({ function ImageBlockThumbnail (line 191) | function ImageBlockThumbnail() { FILE: apps/web/ui/partners/groups/design/lander/modals/text-block-modal.tsx type TextBlockData (line 16) | type TextBlockData = z.infer["data"]; type TextBlockModalProps (line 18) | type TextBlockModalProps = { function TextBlockModal (line 25) | function TextBlockModal(props: TextBlockModalProps) { function TextBlockModalInner (line 33) | function TextBlockModalInner({ function TextBlockThumbnail (line 140) | function TextBlockThumbnail() { FILE: apps/web/ui/partners/groups/design/preview-window.tsx function PreviewWindow (line 8) | function PreviewWindow({ FILE: apps/web/ui/partners/groups/design/previews/application-preview.tsx function ApplicationPreview (line 42) | function ApplicationPreview({ function AddFieldButton (line 376) | function AddFieldButton({ onClick }: { onClick: () => void }) { function EditIndicatorGrid (line 389) | function EditIndicatorGrid() { function EditToolbar (line 405) | function EditToolbar({ function EditToolbarTooltip (line 476) | function EditToolbarTooltip({ FILE: apps/web/ui/partners/groups/design/previews/embed-preview.tsx function EmbedPreview (line 12) | function EmbedPreview({ group }: { group: GroupWithProgramProps }) { FILE: apps/web/ui/partners/groups/design/previews/lander-preview.tsx function LanderPreview (line 43) | function LanderPreview({ group }: { group: GroupWithProgramProps }) { function AddBlockButton (line 360) | function AddBlockButton({ onClick }: { onClick: () => void }) { function EditIndicatorGrid (line 373) | function EditIndicatorGrid() { function EditToolbar (line 389) | function EditToolbar({ function EditToolbarTooltip (line 460) | function EditToolbarTooltip({ FILE: apps/web/ui/partners/groups/design/previews/portal-preview.tsx function PortalPreview (line 16) | function PortalPreview({ group }: { group: GroupWithProgramProps }) { FILE: apps/web/ui/partners/groups/design/studs-pattern.tsx function StudsPattern (line 3) | function StudsPattern() { FILE: apps/web/ui/partners/groups/group-color-circle.tsx function GroupColorCircle (line 5) | function GroupColorCircle({ FILE: apps/web/ui/partners/groups/group-color-picker.tsx function GroupColorPicker (line 12) | function GroupColorPicker({ function Swatch (line 75) | function Swatch({ FILE: apps/web/ui/partners/groups/group-selector.tsx type Group (line 10) | type Group = Pick; type GroupSelectorProps (line 12) | type GroupSelectorProps = { function GroupSelector (line 19) | function GroupSelector({ FILE: apps/web/ui/partners/groups/group-settings-row.tsx function GroupSettingsRow (line 4) | function GroupSettingsRow({ FILE: apps/web/ui/partners/groups/groups-multi-select.tsx type GroupSelectorProps (line 20) | interface GroupSelectorProps { function GroupsMultiSelect (line 26) | function GroupsMultiSelect({ FILE: apps/web/ui/partners/groups/reward-discount-partners-card.tsx function RewardDiscountPartnersCard (line 14) | function RewardDiscountPartnersCard({ groupId }: { groupId: string }) { function PartnersCompactTable (line 91) | function PartnersCompactTable({ function PartnerPreviewOrCount (line 173) | function PartnerPreviewOrCount({ FILE: apps/web/ui/partners/hero-background.tsx constant BG_INVERTED (line 7) | const BG_INVERTED = "rgb(var(--bg-inverted))"; function HeroBackground (line 9) | function HeroBackground({ function RainbowGradient (line 354) | function RainbowGradient({ className }: { className?: string }) { FILE: apps/web/ui/partners/lander/blocks/accordion-block.tsx function AccordionBlock (line 12) | function AccordionBlock({ FILE: apps/web/ui/partners/lander/blocks/block-description.tsx function BlockDescription (line 1) | function BlockDescription({ description }: { description?: string }) { FILE: apps/web/ui/partners/lander/blocks/block-markdown.tsx function BlockMarkdown (line 4) | function BlockMarkdown({ FILE: apps/web/ui/partners/lander/blocks/block-title.tsx function BlockTitle (line 1) | function BlockTitle({ title }: { title?: string }) { FILE: apps/web/ui/partners/lander/blocks/earnings-calculator-block.tsx constant SLIDER_MIN (line 15) | const SLIDER_MIN = 1; constant SLIDER_MAX (line 16) | const SLIDER_MAX = 50; function EarningsCalculatorBlock (line 18) | function EarningsCalculatorBlock({ FILE: apps/web/ui/partners/lander/blocks/files-block.tsx function FilesBlock (line 7) | function FilesBlock({ FILE: apps/web/ui/partners/lander/blocks/image-block.tsx function ImageBlock (line 5) | function ImageBlock({ FILE: apps/web/ui/partners/lander/blocks/index.tsx constant BLOCK_COMPONENTS (line 9) | const BLOCK_COMPONENTS: Record< FILE: apps/web/ui/partners/lander/blocks/text-block.tsx function TextBlock (line 6) | function TextBlock({ FILE: apps/web/ui/partners/lander/blocks/wave-pattern.tsx function WavePattern (line 3) | function WavePattern() { FILE: apps/web/ui/partners/lander/lander-hero.tsx function LanderHero (line 6) | function LanderHero({ FILE: apps/web/ui/partners/lander/lander-rewards.tsx constant MAX_VISIBLE_BOUNTIES (line 17) | const MAX_VISIBLE_BOUNTIES = 3; function LanderRewards (line 19) | function LanderRewards({ FILE: apps/web/ui/partners/mark-commission-duplicate-modal.tsx type ModalProps (line 15) | interface ModalProps { function MarkCommissionDuplicateModal (line 21) | function MarkCommissionDuplicateModal({ function ModalInner (line 33) | function ModalInner({ function useMarkCommissionDuplicateModal (line 159) | function useMarkCommissionDuplicateModal({ FILE: apps/web/ui/partners/mark-commission-fraud-or-canceled-modal.tsx type ModalProps (line 15) | interface ModalProps { function MarkCommissionFraudOrCanceledModal (line 22) | function MarkCommissionFraudOrCanceledModal({ function ModalInner (line 39) | function ModalInner({ function useMarkCommissionFraudOrCanceledModal (line 170) | function useMarkCommissionFraudOrCanceledModal({ FILE: apps/web/ui/partners/merge-accounts/account-input-group.tsx type AccountInputGroupProps (line 3) | interface AccountInputGroupProps { function AccountInputGroup (line 8) | function AccountInputGroup({ title, children }: AccountInputGroupProps) { FILE: apps/web/ui/partners/merge-accounts/form-context.tsx type Account (line 11) | interface Account { type FormContextType (line 17) | interface FormContextType { FILE: apps/web/ui/partners/merge-accounts/merge-account-form.tsx function MergeAccountForm (line 13) | function MergeAccountForm({ FILE: apps/web/ui/partners/merge-accounts/merge-partner-accounts-modal.tsx type MergePartnerAccountsModalProps (line 17) | interface MergePartnerAccountsModalProps { function MergePartnerAccountsModal (line 52) | function MergePartnerAccountsModal(props: MergePartnerAccountsModalProps) { function MergePartnerAccountsModalInner (line 66) | function MergePartnerAccountsModalInner({ function useMergePartnerAccountsModal (line 145) | function useMergePartnerAccountsModal() { FILE: apps/web/ui/partners/merge-accounts/otp-input-field.tsx type OTPInputFieldProps (line 4) | interface OTPInputFieldProps { function OTPInputField (line 10) | function OTPInputField({ value, onChange, label }: OTPInputFieldProps) { FILE: apps/web/ui/partners/merge-accounts/send-verification-code-form.tsx function SendVerificationCodeForm (line 15) | function SendVerificationCodeForm({ FILE: apps/web/ui/partners/merge-accounts/step-progress-bar.tsx function getStepClassName (line 1) | function getStepClassName(isActive: boolean): string { function StepProgressBar (line 5) | function StepProgressBar({ step }: { step: number }) { FILE: apps/web/ui/partners/merge-accounts/verify-code-form.tsx function VerifyCodeForm (line 14) | function VerifyCodeForm({ FILE: apps/web/ui/partners/overview/blocks/commissions-block.tsx function CommissionsBlock (line 13) | function CommissionsBlock() { FILE: apps/web/ui/partners/overview/blocks/conversion-block.tsx function ConversionBlock (line 11) | function ConversionBlock() { FILE: apps/web/ui/partners/overview/blocks/countries-block.tsx function CountriesBlock (line 13) | function CountriesBlock() { FILE: apps/web/ui/partners/overview/blocks/links-block.tsx function LinksBlock (line 19) | function LinksBlock() { FILE: apps/web/ui/partners/overview/blocks/partners-block.tsx function PartnersBlock (line 15) | function PartnersBlock() { FILE: apps/web/ui/partners/overview/blocks/sale-type-block.tsx function SaleTypeBlock (line 12) | function SaleTypeBlock() { FILE: apps/web/ui/partners/overview/blocks/traffic-sources-block.tsx function TrafficSourcesBlock (line 24) | function TrafficSourcesBlock() { FILE: apps/web/ui/partners/overview/exceeded-events-limit.tsx function ExceededEventsLimit (line 6) | function ExceededEventsLimit() { FILE: apps/web/ui/partners/overview/program-overview-block.tsx function ProgramOverviewBlock (line 6) | function ProgramOverviewBlock({ FILE: apps/web/ui/partners/overview/program-overview-card.tsx function ProgramOverviewCard (line 4) | function ProgramOverviewCard({ FILE: apps/web/ui/partners/partner-about.tsx function PartnerAbout (line 13) | function PartnerAbout({ function ListPill (line 129) | function ListPill({ icon: Icon, label }: { icon?: Icon; label: string }) { FILE: apps/web/ui/partners/partner-advanced-settings-modal.tsx type FormData (line 24) | type FormData = { function PartnerAdvancedSettingsModal (line 30) | function PartnerAdvancedSettingsModal({ function usePartnerAdvancedSettingsModal (line 217) | function usePartnerAdvancedSettingsModal({ FILE: apps/web/ui/partners/partner-application-details.tsx function PartnerApplicationDetails (line 9) | function PartnerApplicationDetails({ function ApplicationFormImageGrid (line 71) | function ApplicationFormImageGrid({ function PartnerApplicationDetailsSkeleton (line 104) | function PartnerApplicationDetailsSkeleton() { FILE: apps/web/ui/partners/partner-application-sheet.tsx type PartnerApplicationSheetProps (line 28) | type PartnerApplicationSheetProps = { function PartnerApplicationSheetContent (line 35) | function PartnerApplicationSheetContent({ function PartnerApplicationAbout (line 169) | function PartnerApplicationAbout({ function PartnerApplicationComments (line 190) | function PartnerApplicationComments({ partnerId }: { partnerId: string }) { function PartnerApplicationSheet (line 199) | function PartnerApplicationSheet({ function PartnerApproval (line 224) | function PartnerApproval({ function PartnerRejectButton (line 295) | function PartnerRejectButton({ FILE: apps/web/ui/partners/partner-avatar.tsx function PartnerAvatar (line 4) | function PartnerAvatar({ FILE: apps/web/ui/partners/partner-comments.tsx function PartnerComments (line 31) | function PartnerComments({ partnerId }: { partnerId: string }) { function CommentCard (line 130) | function CommentCard({ function CommentCardDisplay (line 397) | function CommentCardDisplay({ FILE: apps/web/ui/partners/partner-info-cards.tsx type PartnerInfoCardsProps (line 54) | type PartnerInfoCardsProps = { type BasicField (line 70) | type BasicField = { function PartnerInfoCards (line 77) | function PartnerInfoCards({ FILE: apps/web/ui/partners/partner-info-group.tsx function PartnerInfoGroup (line 11) | function PartnerInfoGroup({ FILE: apps/web/ui/partners/partner-info-section.tsx function PartnerInfoSection (line 8) | function PartnerInfoSection({ FILE: apps/web/ui/partners/partner-info-stats.tsx function PartnerInfoStats (line 7) | function PartnerInfoStats({ FILE: apps/web/ui/partners/partner-link-selector.tsx function PartnerLinkSelector (line 25) | function PartnerLinkSelector({ FILE: apps/web/ui/partners/partner-network/conversion-score-tooltip.tsx function ConversionScoreTooltip (line 10) | function ConversionScoreTooltip({ FILE: apps/web/ui/partners/partner-network/invites-usage.tsx function InvitesUsage (line 7) | function InvitesUsage() { FILE: apps/web/ui/partners/partner-network/network-partner-sheet.tsx type NetworkPartnerSheetProps (line 29) | type NetworkPartnerSheetProps = { function NetworkPartnerSheetContent (line 36) | function NetworkPartnerSheetContent({ function NetworkPartnerSheet (line 165) | function NetworkPartnerSheet({ function PartnerControls (line 190) | function PartnerControls({ function PartnerIgnoreButton (line 268) | function PartnerIgnoreButton({ FILE: apps/web/ui/partners/partner-platform-card.tsx function PartnerPlatformCard (line 12) | function PartnerPlatformCard({ FILE: apps/web/ui/partners/partner-platform-summary.tsx function PartnerPlatformSummary (line 7) | function PartnerPlatformSummary({ FILE: apps/web/ui/partners/partner-platforms-form.tsx type PartnerPlatformsFormData (line 50) | type PartnerPlatformsFormData = z.infer; type PartnerPlatformsFormProps (line 52) | interface PartnerPlatformsFormProps { function getPlatformData (line 59) | function getPlatformData( function getPlatformIdentifier (line 67) | function getPlatformIdentifier( function usePartnerPlatformsForm (line 78) | function usePartnerPlatformsForm({ type PartnerPlatformsFormWithFormProps (line 95) | type PartnerPlatformsFormWithFormProps = PartnerPlatformsFormProps & { function useVerifiedState (line 548) | function useVerifiedState({ function VerifyButton (line 589) | function VerifyButton({ function FormRow (line 644) | function FormRow({ FILE: apps/web/ui/partners/partner-profile-sheet.tsx type PartnerProfileSheetProps (line 8) | type PartnerProfileSheetProps = { function PartnerProfileSheetContent (line 13) | function PartnerProfileSheetContent({ partner }: PartnerProfileSheetProp... function PartnerProfileSheet (line 52) | function PartnerProfileSheet({ FILE: apps/web/ui/partners/partner-row-item.tsx type PartnerRowItemProps (line 15) | interface PartnerRowItemProps { constant PAYOUT_STATUS_CONFIG (line 27) | const PAYOUT_STATUS_CONFIG = { function usePartnerPayoutStatus (line 69) | function usePartnerPayoutStatus(partner: PartnerRowItemProps["partner"]) { function PartnerPayoutStatusTooltip (line 103) | function PartnerPayoutStatusTooltip({ function PartnerRowItem (line 167) | function PartnerRowItem({ FILE: apps/web/ui/partners/partner-selector.tsx type Partner (line 10) | type Partner = Pick; type PartnerSelectorProps (line 12) | type PartnerSelectorProps = { function PartnerSelector (line 19) | function PartnerSelector({ FILE: apps/web/ui/partners/partner-sheet-tabs.tsx function PartnerSheetTabs (line 7) | function PartnerSheetTabs({ FILE: apps/web/ui/partners/partner-social-column.tsx constant PLATFORMS_WITH_AT (line 6) | const PLATFORMS_WITH_AT: PlatformType[] = [ function PartnerSocialColumn (line 13) | function PartnerSocialColumn({ FILE: apps/web/ui/partners/partner-star-button.tsx type PartnerStarButtonProps (line 12) | type PartnerStarButtonProps = { function PartnerStarButton (line 19) | function PartnerStarButton({ FILE: apps/web/ui/partners/partners-upgrade-modal.tsx type PartnersUpgradeModalProps (line 24) | type PartnersUpgradeModalProps = { function PartnersUpgradeModal (line 31) | function PartnersUpgradeModal({ function usePartnersUpgradeModal (line 295) | function usePartnersUpgradeModal( FILE: apps/web/ui/partners/payout-row-menu.tsx function PayoutRowMenu (line 14) | function PayoutRowMenu({ row }: { row: Row }) { function MenuItem (line 88) | function MenuItem({ FILE: apps/web/ui/partners/payout-status-descriptions.ts constant PAYOUT_STATUS_DESCRIPTIONS (line 8) | const PAYOUT_STATUS_DESCRIPTIONS: Record< FILE: apps/web/ui/partners/payouts/bank-account-requirements-modal.tsx function BankAccountRequirementsModal (line 10) | function BankAccountRequirementsModal({ function useBankAccountRequirementsModal (line 93) | function useBankAccountRequirementsModal({ FILE: apps/web/ui/partners/payouts/connect-payout-button.tsx type ConnectPayoutButtonProps (line 12) | interface ConnectPayoutButtonProps extends ButtonProps { function ConnectPayoutButton (line 18) | function ConnectPayoutButton({ FILE: apps/web/ui/partners/payouts/connect-payout-modal.tsx function ConnectPayoutModal (line 9) | function ConnectPayoutModal({ function PayoutMethodSelectorSkeleton (line 69) | function PayoutMethodSelectorSkeleton() { function useConnectPayoutModal (line 95) | function useConnectPayoutModal() { FILE: apps/web/ui/partners/payouts/payout-method-cards.tsx constant CARD_VARIANTS (line 16) | const CARD_VARIANTS = { function PayoutMethodSelector (line 43) | function PayoutMethodSelector({ function PayoutMethodIcon (line 113) | function PayoutMethodIcon({ function PayoutMethodCard (line 140) | function PayoutMethodCard({ FILE: apps/web/ui/partners/payouts/payout-method-config.ts constant PAYOUT_METHODS (line 14) | const PAYOUT_METHODS = [ constant PAYOUT_METHOD_ICON_CONFIG (line 59) | const PAYOUT_METHOD_ICON_CONFIG = Object.fromEntries( function getPayoutMethodIconConfig (line 69) | function getPayoutMethodIconConfig(type: PartnerPayoutMethod) { function getPayoutMethodLabel (line 75) | function getPayoutMethodLabel(type: PartnerPayoutMethod): string { type PayoutMethodFeature (line 79) | type PayoutMethodFeature = { FILE: apps/web/ui/partners/payouts/payout-method-dropdown.tsx function PayoutMethodDropdown (line 15) | function PayoutMethodDropdown() { function PayoutMethodItem (line 101) | function PayoutMethodItem({ function SelectedMethodDisplay (line 151) | function SelectedMethodDisplay({ function PayoutMethodSkeleton (line 192) | function PayoutMethodSkeleton() { FILE: apps/web/ui/partners/payouts/stablecoin-payout-banner.tsx function StablecoinPayoutBanner (line 12) | function StablecoinPayoutBanner() { FILE: apps/web/ui/partners/payouts/stablecoin-payout-card.tsx function StablecoinPayoutCard (line 11) | function StablecoinPayoutCard() { FILE: apps/web/ui/partners/payouts/stablecoin-payout-icon.tsx function StablecoinPayoutIcon (line 11) | function StablecoinPayoutIcon({ FILE: apps/web/ui/partners/payouts/stablecoin-payout-modal.tsx function StablecoinPayoutModal (line 8) | function StablecoinPayoutModal({ function useStablecoinPayoutModal (line 156) | function useStablecoinPayoutModal({ FILE: apps/web/ui/partners/payouts/use-payout-connect-flow.tsx function usePayoutConnectFlow (line 14) | function usePayoutConnectFlow(options?: { closeParent?: () => void }) { FILE: apps/web/ui/partners/payouts/use-stablecoin-payout-promo.tsx type StablecoinPayoutPromoStatus (line 4) | type StablecoinPayoutPromoStatus = function useStablecoinPayoutPromo (line 7) | function useStablecoinPayoutPromo(): { FILE: apps/web/ui/partners/program-application-sheet.tsx type ProgramApplicationSheetProps (line 35) | interface ProgramApplicationSheetProps { type FormData (line 46) | type FormData = Omit< function ProgramApplicationSheetContent (line 53) | function ProgramApplicationSheetContent({ function ProgramApplicationSheetForm (line 97) | function ProgramApplicationSheetForm({ function ProgramApplicationSheet (line 325) | function ProgramApplicationSheet({ function useProgramApplicationSheet (line 340) | function useProgramApplicationSheet( FILE: apps/web/ui/partners/program-card.tsx function ProgramCard (line 11) | function ProgramCard({ function ProgramCardEarnings (line 88) | function ProgramCardEarnings({ function ProgramCardSkeleton (line 156) | function ProgramCardSkeleton() { FILE: apps/web/ui/partners/program-category-select.tsx function ProgramCategorySelect (line 9) | function ProgramCategorySelect({ FILE: apps/web/ui/partners/program-color-picker.tsx constant COLORS (line 9) | const COLORS = [ function ProgramColorPicker (line 30) | function ProgramColorPicker({ function Swatch (line 114) | function Swatch({ FILE: apps/web/ui/partners/program-eligibility-card.tsx function oxfordJoin (line 10) | function oxfordJoin(items: string[]): string { function formatConditionText (line 17) | function formatConditionText(condition: EligibilityConditionDB): string { function ProgramEligibilityCard (line 42) | function ProgramEligibilityCard({ FILE: apps/web/ui/partners/program-invite-card.tsx function ProgramInviteCard (line 19) | function ProgramInviteCard({ FILE: apps/web/ui/partners/program-link-configuration.tsx type DomainProps (line 16) | type DomainProps = { type ProgramLinkConfigurationProps (line 21) | type ProgramLinkConfigurationProps = { function ProgramLinkConfiguration (line 27) | function ProgramLinkConfiguration({ function DomainOnboarding (line 120) | function DomainOnboarding({ domain, onDomainChange }: DomainProps) { function DomainOnboardingSelection (line 293) | function DomainOnboardingSelection({ FILE: apps/web/ui/partners/program-marketplace/program-marketplace-banner.tsx function ProgramMarketplaceBanner (line 12) | function ProgramMarketplaceBanner() { FILE: apps/web/ui/partners/program-marketplace/program-marketplace-card.tsx function ProgramMarketplaceCard (line 12) | function ProgramMarketplaceCard() { FILE: apps/web/ui/partners/program-marketplace/program-marketplace-logos.tsx constant LOGOS (line 4) | const LOGOS = [ constant PROGRAM_MARKETPLACE_LOGO_COUNT (line 30) | const PROGRAM_MARKETPLACE_LOGO_COUNT = LOGOS.length; function ProgramMarketplaceLogos (line 32) | function ProgramMarketplaceLogos({ className }: { className?: string }) { FILE: apps/web/ui/partners/program-marketplace/program-rewards-display.tsx type RewardItem (line 10) | type RewardItem = { type ProgramRewardsDisplayProps (line 17) | interface ProgramRewardsDisplayProps { function ProgramRewardsDisplay (line 28) | function ProgramRewardsDisplay({ FILE: apps/web/ui/partners/program-marketplace/programs-promo-banner.tsx function ProgramsPromoBanner (line 12) | function ProgramsPromoBanner() { FILE: apps/web/ui/partners/program-marketplace/programs-promo-card.tsx function ProgramsPromoCard (line 12) | function ProgramsPromoCard() { FILE: apps/web/ui/partners/program-marketplace/use-program-marketplace-promo.tsx type MarketplacePromoStatus (line 4) | type MarketplacePromoStatus = (typeof marketplacePromoStatuses)[number]; function useProgramMarketplacePromo (line 6) | function useProgramMarketplacePromo(): { FILE: apps/web/ui/partners/program-onboarding-form-wrapper.tsx function ProgramOnboardingFormWrapper (line 7) | function ProgramOnboardingFormWrapper({ FILE: apps/web/ui/partners/program-reward-description.tsx function ProgramRewardDescription (line 7) | function ProgramRewardDescription({ FILE: apps/web/ui/partners/program-reward-list.tsx function ProgramRewardList (line 15) | function ProgramRewardList({ FILE: apps/web/ui/partners/program-reward-modifiers-tooltip.tsx type ProgramRewardModifiersTooltipProps (line 22) | interface ProgramRewardModifiersTooltipProps { type ProgramRewardModifiersTooltipContentProps (line 26) | interface ProgramRewardModifiersTooltipContentProps { function ProgramRewardModifiersTooltip (line 33) | function ProgramRewardModifiersTooltip({ function ProgramRewardModifiersTooltipContent (line 56) | function ProgramRewardModifiersTooltipContent({ function formatSubscriptionDuration (line 224) | function formatSubscriptionDuration(v: number): string { FILE: apps/web/ui/partners/program-reward-terms.tsx function ProgramRewardTerms (line 3) | function ProgramRewardTerms({ FILE: apps/web/ui/partners/program-rewards-panel.tsx type ProgramRewardsPanelProps (line 13) | interface ProgramRewardsPanelProps { function CustomRewardModifiersTooltip (line 19) | function CustomRewardModifiersTooltip({ reward }: { reward: RewardProps ... FILE: apps/web/ui/partners/program-selector.tsx type ProgramSelectorProps (line 8) | type ProgramSelectorProps = { function ProgramSelector (line 15) | function ProgramSelector({ FILE: apps/web/ui/partners/program-stats-filter.tsx function ProgramStatsFilter (line 5) | function ProgramStatsFilter({ FILE: apps/web/ui/partners/resources/resource-card.tsx function ResourceCardSkeleton (line 21) | function ResourceCardSkeleton() { function ResourceCard (line 33) | function ResourceCard({ FILE: apps/web/ui/partners/resources/resource-section.tsx function ResourceSection (line 7) | function ResourceSection({ FILE: apps/web/ui/partners/rewards/add-edit-reward-sheet.tsx type RewardSheetProps (line 69) | interface RewardSheetProps { type FormData (line 87) | type FormData = z.infer; function RewardSheetContent (line 150) | function RewardSheetContent({ constant REWARD_HELPER_CONTENT (line 620) | const REWARD_HELPER_CONTENT: Record< function RewardHelperBlock (line 648) | function RewardHelperBlock({ event }: { event: EventType }) { function RewardSheetCard (line 701) | function RewardSheetCard({ function AmountInput (line 723) | function AmountInput() { function RewardSheet (line 766) | function RewardSheet({ function useRewardSheet (line 788) | function useRewardSheet( FILE: apps/web/ui/partners/rewards/reward-preview-card.tsx function RewardPreviewCard (line 15) | function RewardPreviewCard() { function PartnersCompactTable (line 49) | function PartnersCompactTable({ function PartnerPreviewOrCount (line 131) | function PartnerPreviewOrCount({ FILE: apps/web/ui/partners/rewards/rewards-logic.tsx constant REWARD_TYPES (line 58) | const REWARD_TYPES = [ function RewardsLogic (line 69) | function RewardsLogic({ function ConditionalGroup (line 142) | function ConditionalGroup({ function ConditionLogic (line 282) | function ConditionLogic({ function OperatorDropdown (line 703) | function OperatorDropdown({ modifierIndex }: { modifierIndex: number }) { function ResultTerms (line 758) | function ResultTerms({ modifierIndex }: { modifierIndex: number }) { function ResultAmountInput (line 879) | function ResultAmountInput({ function AmountInput (line 911) | function AmountInput({ FILE: apps/web/ui/partners/rewind/constants.ts constant REWIND_YEAR (line 1) | const REWIND_YEAR = 2025; constant REWIND_ASSETS_PATH (line 3) | const REWIND_ASSETS_PATH = constant REWIND_STEPS (line 6) | const REWIND_STEPS: { constant REWIND_PERCENTILES (line 48) | const REWIND_PERCENTILES = [ FILE: apps/web/ui/partners/rewind/partner-rewind-banner.tsx function PartnerRewindBanner (line 12) | function PartnerRewindBanner() { FILE: apps/web/ui/partners/rewind/partner-rewind-card.tsx function PartnerRewindCard (line 11) | function PartnerRewindCard() { FILE: apps/web/ui/partners/rewind/use-partner-rewind-status.tsx type PartnerRewindStatus (line 4) | type PartnerRewindStatus = (typeof partnerRewindStatuses)[number]; function usePartnerRewindStatus (line 6) | function usePartnerRewindStatus(): { FILE: apps/web/ui/partners/trusted-partner-badge.tsx function TrustedPartnerBadge (line 3) | function TrustedPartnerBadge() { FILE: apps/web/ui/partners/use-country-change-warning-modal.tsx function useCountryChangeWarningModal (line 6) | function useCountryChangeWarningModal() { FILE: apps/web/ui/placeholders/bubble-icon.tsx function BubbleIcon (line 5) | function BubbleIcon({ children }: PropsWithChildren) { FILE: apps/web/ui/placeholders/button-link.tsx function ButtonLink (line 8) | function ButtonLink({ FILE: apps/web/ui/placeholders/cta.tsx constant RATINGS (line 8) | const RATINGS = [ function CTA (line 29) | function CTA({ FILE: apps/web/ui/placeholders/feature-graphics/analytics.tsx function Analytics (line 3) | function Analytics() { FILE: apps/web/ui/placeholders/feature-graphics/collaboration.tsx function Collaboration (line 3) | function Collaboration() { function BadgeCap (line 35) | function BadgeCap({ className }: { className?: string }) { FILE: apps/web/ui/placeholders/feature-graphics/domains.tsx constant DOMAINS (line 5) | const DOMAINS = [ function Domains (line 21) | function Domains() { FILE: apps/web/ui/placeholders/feature-graphics/personalization.tsx constant OPTIONS (line 13) | const OPTIONS = [ function Personalization (line 41) | function Personalization() { function DummySwitch (line 72) | function DummySwitch({ checked }: { checked: boolean }) { FILE: apps/web/ui/placeholders/feature-graphics/qr.tsx function QR (line 15) | function QR() { function QRCode (line 78) | function QRCode({ hideLogo }: { hideLogo: boolean }) { FILE: apps/web/ui/placeholders/features-section.tsx function FeaturesSection (line 12) | function FeaturesSection({ function FeatureCard (line 120) | function FeatureCard({ FILE: apps/web/ui/placeholders/hero.tsx constant HERO_GRADIENT (line 4) | const HERO_GRADIENT = `radial-gradient(77% 116% at 37% 67%, #EEA5BA, rgb... function Hero (line 11) | function Hero({ children }: PropsWithChildren) { FILE: apps/web/ui/placeholders/logos.tsx function Logos (line 21) | function Logos({ FILE: apps/web/ui/postbacks/add-edit-postback-modal.tsx type PostbackForEdit (line 22) | type PostbackForEdit = z.infer; type FormData (line 24) | type FormData = z.infer; type AddEditPostbackModalProps (line 26) | interface AddEditPostbackModalProps { function AddEditPostbackModal (line 34) | function AddEditPostbackModal({ type AddEditPostbackModalWrapperProps (line 270) | interface AddEditPostbackModalWrapperProps { function AddEditPostbackModalWrapper (line 277) | function AddEditPostbackModalWrapper({ function useAddEditPostbackModal (line 300) | function useAddEditPostbackModal( FILE: apps/web/ui/postbacks/partner-postback-actions.tsx type PostbackActionsProps (line 23) | interface PostbackActionsProps { function PostbackActions (line 31) | function PostbackActions({ FILE: apps/web/ui/postbacks/postback-card.tsx function PostbackCard (line 7) | function PostbackCard(postback: PostbackProps) { FILE: apps/web/ui/postbacks/postback-detail-skeleton.tsx function PostbackDetailSkeleton (line 3) | function PostbackDetailSkeleton() { FILE: apps/web/ui/postbacks/postback-event-details-sheet.tsx type PostbackEventDetailsSheetProps (line 11) | interface PostbackEventDetailsSheetProps { function PostbackEventDetailsSheetContent (line 17) | function PostbackEventDetailsSheetContent({ function PostbackEventDetailsSheet (line 114) | function PostbackEventDetailsSheet({ function usePostbackEventDetailsSheet (line 130) | function usePostbackEventDetailsSheet() { FILE: apps/web/ui/postbacks/postback-event-list.tsx type PostbackEventListProps (line 9) | type PostbackEventListProps = PropsWithChildren<{ FILE: apps/web/ui/postbacks/postback-placeholder.tsx function PostbackPlaceholder (line 1) | function PostbackPlaceholder() { FILE: apps/web/ui/postbacks/postback-secret-modal.tsx type PostbackSecretModalProps (line 7) | interface PostbackSecretModalProps { function PostbackSecretModal (line 13) | function PostbackSecretModal({ function usePostbackSecretModal (line 74) | function usePostbackSecretModal() { FILE: apps/web/ui/postbacks/postback-status.tsx function PostbackStatus (line 5) | function PostbackStatus({ disabledAt }: Pick) { FILE: apps/web/ui/postbacks/send-test-postback-modal.tsx type FormData (line 14) | type FormData = z.infer; type SendTestPostbackModalProps (line 16) | interface SendTestPostbackModalProps { function SendTestPostbackModal (line 24) | function SendTestPostbackModal({ FILE: apps/web/ui/referrals/form-fields/country-field.tsx type CountryFieldData (line 7) | type CountryFieldData = z.infer; function CountryField (line 9) | function CountryField({ FILE: apps/web/ui/referrals/form-fields/date-field.tsx type DateFieldData (line 7) | type DateFieldData = z.infer; function DateField (line 9) | function DateField({ FILE: apps/web/ui/referrals/form-fields/form-control.tsx type FormControlProps (line 4) | type FormControlProps = { FILE: apps/web/ui/referrals/form-fields/index.tsx constant FIELD_COMPONENTS (line 12) | const FIELD_COMPONENTS: Record< type ReferralFormFieldProps (line 25) | interface ReferralFormFieldProps { FILE: apps/web/ui/referrals/form-fields/multi-select-field.tsx type MultiSelectFieldData (line 7) | type MultiSelectFieldData = z.infer; function MultiSelectField (line 9) | function MultiSelectField({ FILE: apps/web/ui/referrals/form-fields/number-field.tsx type NumberFieldData (line 7) | type NumberFieldData = z.infer; function NumberField (line 9) | function NumberField({ FILE: apps/web/ui/referrals/form-fields/phone-field.tsx type PhoneFieldData (line 7) | type PhoneFieldData = z.infer; function PhoneField (line 9) | function PhoneField({ FILE: apps/web/ui/referrals/form-fields/select-field.tsx type SelectFieldData (line 8) | type SelectFieldData = z.infer; function SelectField (line 10) | function SelectField({ FILE: apps/web/ui/referrals/form-fields/text-field.tsx type TextFieldData (line 8) | type TextFieldData = z.infer; function TextField (line 10) | function TextField({ FILE: apps/web/ui/referrals/form-fields/textarea-field.tsx type TextareaFieldData (line 8) | type TextareaFieldData = z.infer; function TextareaField (line 10) | function TextareaField({ FILE: apps/web/ui/referrals/partner-profile-referral-sheet.tsx type PartnerProfileReferralSheetProps (line 16) | type PartnerProfileReferralSheetProps = { function PartnerProfileReferralSheetContent (line 23) | function PartnerProfileReferralSheetContent({ function PartnerProfileReferralSheet (line 101) | function PartnerProfileReferralSheet({ FILE: apps/web/ui/referrals/partner-profile-referrals-empty-state.tsx constant EMPTY_STATE_CARDS (line 13) | const EMPTY_STATE_CARDS = [ function PartnerProfileReferralsEmptyState (line 37) | function PartnerProfileReferralsEmptyState() { FILE: apps/web/ui/referrals/partner-referral-sheet.tsx type ReferralSheetProps (line 19) | type ReferralSheetProps = { function ReferralSheetContent (line 26) | function ReferralSheetContent({ function ReferralSheet (line 167) | function ReferralSheet({ FILE: apps/web/ui/referrals/partner-referral-table.tsx type PartnerReferralProps (line 30) | type PartnerReferralProps = z.infer; function PartnerReferralTable (line 32) | function PartnerReferralTable() { FILE: apps/web/ui/referrals/referral-details.tsx type ReferralDetailsProps (line 4) | interface ReferralDetailsProps { function ReferralDetails (line 8) | function ReferralDetails({ referral }: ReferralDetailsProps) { FILE: apps/web/ui/referrals/referral-form.tsx function ReferralForm (line 12) | function ReferralForm({ FILE: apps/web/ui/referrals/referral-lead-details.tsx type ReferralLeadDetailsProps (line 14) | interface ReferralLeadDetailsProps { function ReferralLeadDetails (line 21) | function ReferralLeadDetails({ FILE: apps/web/ui/referrals/referral-partner-details.tsx type ReferralPartnerDetailsProps (line 6) | interface ReferralPartnerDetailsProps { function ReferralPartnerDetails (line 10) | function ReferralPartnerDetails({ FILE: apps/web/ui/referrals/referral-status-badge.tsx type ReferralStatusBadgeProps (line 5) | interface ReferralStatusBadgeProps { function ReferralStatusBadge (line 10) | function ReferralStatusBadge({ FILE: apps/web/ui/referrals/referral-status-dropdown.tsx type ReferralStatusDropdownProps (line 11) | interface ReferralStatusDropdownProps { function ReferralStatusDropdown (line 17) | function ReferralStatusDropdown({ FILE: apps/web/ui/referrals/referral-utils.ts function formatFormDataValue (line 4) | function formatFormDataValue(value: unknown): string { function getCompanyLogoUrl (line 32) | function getCompanyLogoUrl(email: string) { FILE: apps/web/ui/referrals/submit-referral-sheet.tsx type SubmitReferralSheetProps (line 16) | interface SubmitReferralSheetProps { type ReferralFormData (line 24) | type ReferralFormData = { function SubmitReferralSheet (line 28) | function SubmitReferralSheet({ FILE: apps/web/ui/referrals/use-program-referral-filters.tsx function useProgramReferralsFilters (line 17) | function useProgramReferralsFilters( function usePartnerFilterOptions (line 175) | function usePartnerFilterOptions(search: string) { FILE: apps/web/ui/shared/amount-input.tsx type AmountType (line 5) | type AmountType = "flat" | "percentage"; type AmountInputProps (line 7) | interface AmountInputProps FILE: apps/web/ui/shared/animated-empty-state.tsx function AnimatedEmptyState (line 8) | function AnimatedEmptyState({ function Card (line 90) | function Card({ FILE: apps/web/ui/shared/back-link.tsx function BackLink (line 6) | function BackLink({ FILE: apps/web/ui/shared/business-badge-tooltip.tsx function BusinessBadgeTooltip (line 11) | function BusinessBadgeTooltip(props: Omit) { FILE: apps/web/ui/shared/custom-toast.tsx function CustomToast (line 3) | function CustomToast({ FILE: apps/web/ui/shared/emoji-picker.tsx function EmojiPicker (line 6) | function EmojiPicker({ FILE: apps/web/ui/shared/empty-state.tsx function EmptyState (line 8) | function EmptyState({ FILE: apps/web/ui/shared/filter-button-table-row.tsx function FilterButtonTableRow (line 6) | function FilterButtonTableRow({ FILE: apps/web/ui/shared/icons/airplay.tsx function Airplay (line 1) | function Airplay({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/alert-circle-fill.tsx function AlertCircleFill (line 1) | function AlertCircleFill({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/chart.tsx function Chart (line 1) | function Chart({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/check-circle-fill.tsx function CheckCircleFill (line 1) | function CheckCircleFill({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/clipboard.tsx function Clipboard (line 1) | function Clipboard({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/delete.tsx function Delete (line 1) | function Delete({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/devices.tsx function Chrome (line 1) | function Chrome({ className }: { className: string }) { function Safari (line 49) | function Safari({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/divider.tsx function Divider (line 1) | function Divider({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/download.tsx function Download (line 1) | function Download({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/drag.tsx function Drag (line 3) | function Drag({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/edit.tsx function Edit (line 1) | function Edit({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/external-link.tsx function ExternalLink (line 1) | function ExternalLink({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/eye-off.tsx function EyeOff (line 1) | function EyeOff({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/eye.tsx function Eye (line 1) | function Eye({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/filter.tsx function Filter (line 1) | function Filter({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/heart.tsx function Heart (line 1) | function Heart({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/infinity.tsx function Infinity (line 1) | function Infinity({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/link.tsx function Link (line 1) | function Link({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/lock.tsx function Lock (line 1) | function Lock({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/logout.tsx function Logout (line 1) | function Logout({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/message.tsx function Message (line 1) | function Message({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/qr.tsx function QR (line 1) | function QR({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/random.tsx function Random (line 1) | function Random({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/repeat.tsx function Repeat (line 1) | function Repeat({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/save.tsx function Save (line 1) | function Save({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/search.tsx function Search (line 1) | function Search({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/sort.tsx function Sort (line 1) | function Sort({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/three-dots.tsx function ThreeDots (line 1) | function ThreeDots({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/upload-cloud.tsx function UploadCloud (line 1) | function UploadCloud({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/users.tsx function Users (line 1) | function Users({ className }: { className: string }) { FILE: apps/web/ui/shared/icons/x-circle-fill.tsx function XCircleFill (line 1) | function XCircleFill({ className }: { className?: string }) { FILE: apps/web/ui/shared/icons/x.tsx function X (line 3) | function X(props: SVGProps) { FILE: apps/web/ui/shared/inline-badge-popover.tsx function InlineBadgePopover (line 39) | function InlineBadgePopover({ type MenuItem (line 93) | type MenuItem = { function InlineBadgePopoverMenu (line 100) | function InlineBadgePopoverMenu({ FILE: apps/web/ui/shared/markdown.tsx function Markdown (line 7) | function Markdown({ FILE: apps/web/ui/shared/max-characters-counter.tsx function MaxCharactersCounter (line 4) | function MaxCharactersCounter({ FILE: apps/web/ui/shared/message-input.tsx function MessageInput (line 16) | function MessageInput({ function MessageInputToolbar (line 115) | function MessageInputToolbar() { FILE: apps/web/ui/shared/modal-hero.tsx function ModalHero (line 5) | function ModalHero() { function BackgroundGradient (line 25) | function BackgroundGradient({ className }: { className?: string }) { FILE: apps/web/ui/shared/new-background.tsx function NewBackground (line 7) | function NewBackground({ function BackgroundGradient (line 60) | function BackgroundGradient({ className }: { className?: string }) { FILE: apps/web/ui/shared/password-requirements.tsx constant REQUIREMENTS (line 6) | const REQUIREMENTS: { FILE: apps/web/ui/shared/pro-badge-tooltip.tsx function ProBadgeTooltip (line 11) | function ProBadgeTooltip(props: Omit) { FILE: apps/web/ui/shared/search-box.tsx type SearchBoxProps (line 16) | type SearchBoxProps = { function SearchBoxPersisted (line 112) | function SearchBoxPersisted({ FILE: apps/web/ui/shared/simple-date-range-picker.tsx type Values (line 8) | type Values = { function SimpleDateRangePicker (line 14) | function SimpleDateRangePicker({ FILE: apps/web/ui/shared/simple-empty-state.tsx function SimpleEmptyState (line 8) | function SimpleEmptyState({ FILE: apps/web/ui/shared/zoom-image.tsx function ZoomImage (line 6) | function ZoomImage( FILE: apps/web/ui/support/chat-bubble.tsx function SupportChatBubble (line 11) | function SupportChatBubble() { FILE: apps/web/ui/support/chat-interface.tsx type AccountType (line 26) | type AccountType = "workspace" | "partner"; function ChatInterface (line 28) | function ChatInterface({ FILE: apps/web/ui/support/clear-chat-button.tsx function ClearChatButton (line 8) | function ClearChatButton({ FILE: apps/web/ui/support/code-block.tsx function getHighlighter (line 16) | function getHighlighter(): Promise { function highlightCode (line 25) | async function highlightCode( constant LANG_EXTENSIONS (line 54) | const LANG_EXTENSIONS: Record = { function CopyButton (line 94) | function CopyButton({ code }: { code: string }) { function DownloadButton (line 135) | function DownloadButton({ function CodeBlock (line 168) | function CodeBlock({ function MarkdownCodeBlock (line 208) | function MarkdownCodeBlock({ FILE: apps/web/ui/support/embedded-chat.tsx function EmbeddedSupportChat (line 8) | function EmbeddedSupportChat() { FILE: apps/web/ui/support/message.tsx function SupportMessage (line 6) | function SupportMessage({ FILE: apps/web/ui/support/program-combobox.tsx type ProgramSummary (line 7) | type ProgramSummary = { function ProgramCombobox (line 14) | function ProgramCombobox({ FILE: apps/web/ui/support/source-citations.tsx type SourceCitation (line 6) | type SourceCitation = { function SourceCitations (line 12) | function SourceCitations({ sources }: { sources: SourceCitation[] }) { function extractSources (line 66) | function extractSources( FILE: apps/web/ui/support/starter-questions.tsx constant STARTER_QUESTIONS (line 6) | const STARTER_QUESTIONS: Record = { function StarterQuestions (line 25) | function StarterQuestions({ FILE: apps/web/ui/support/status-indicator.tsx type StatusIndicatorProps (line 5) | type StatusIndicatorProps = { function StatusIndicator (line 10) | function StatusIndicator({ label, className }: StatusIndicatorProps) { FILE: apps/web/ui/support/ticket-upload.tsx constant ACCEPTED_TYPES (line 7) | const ACCEPTED_TYPES = [ constant MAX_FILE_SIZE_MB (line 16) | const MAX_FILE_SIZE_MB = 10; constant MAX_FILE_SIZE_BYTES (line 17) | const MAX_FILE_SIZE_BYTES = MAX_FILE_SIZE_MB * 1024 * 1024; constant MAX_FILES (line 18) | const MAX_FILES = 5; type FileStatus (line 20) | type FileStatus = "pending" | "uploading" | "done" | "error"; type FileEntry (line 22) | type FileEntry = { function uploadToPlain (line 30) | async function uploadToPlain( function TicketUpload (line 71) | function TicketUpload({ function FilePreview (line 270) | function FilePreview({ FILE: apps/web/ui/support/types.ts type SupportChatVariant (line 1) | type SupportChatVariant = "embedded" | "bubble"; type SupportChatContext (line 2) | type SupportChatContext = "app" | "partners"; constant CONTEXT_MAP (line 4) | const CONTEXT_MAP: Record = { function parseSupportChatVariant (line 9) | function parseSupportChatVariant( function parseSupportChatContext (line 15) | function parseSupportChatContext( FILE: apps/web/ui/support/workspace-combobox.tsx type WorkspaceSummary (line 7) | type WorkspaceSummary = { function WorkspaceCombobox (line 14) | function WorkspaceCombobox({ FILE: apps/web/ui/token-avatar.tsx function TokenAvatar (line 3) | function TokenAvatar({ FILE: apps/web/ui/users/user-avatar.tsx type User (line 6) | type User = { function getUserAvatarUrl (line 13) | async function getUserAvatarUrl(user?: User | null) { function UserAvatar (line 25) | function UserAvatar({ FILE: apps/web/ui/users/user-row-item.tsx type UserProps (line 6) | type UserProps = z.infer; function UserRowItem (line 8) | function UserRowItem({ FILE: apps/web/ui/webhooks/add-edit-webhook-form.tsx function AddEditWebhookForm (line 30) | function AddEditWebhookForm({ FILE: apps/web/ui/webhooks/link-selector.tsx constant MAX_DISPLAYED_LINKS (line 10) | const MAX_DISPLAYED_LINKS = 10; function LinksSelector (line 26) | function LinksSelector({ FILE: apps/web/ui/webhooks/webhook-card.tsx function WebhookCard (line 7) | function WebhookCard(webhook: WebhookProps) { FILE: apps/web/ui/webhooks/webhook-event-details-sheet.tsx type WebhookEventDetailsSheetProps (line 11) | interface WebhookEventDetailsSheetProps { function WebhookEventDetailsSheetContent (line 17) | function WebhookEventDetailsSheetContent({ function WebhookEventDetailsSheet (line 114) | function WebhookEventDetailsSheet({ function useWebhookEventDetailsSheet (line 130) | function useWebhookEventDetailsSheet() { FILE: apps/web/ui/webhooks/webhook-event-list.tsx type WebhookEventListProps (line 9) | type WebhookEventListProps = PropsWithChildren<{ FILE: apps/web/ui/webhooks/webhook-header.tsx function WebhookHeader (line 28) | function WebhookHeader({ webhookId }: { webhookId: string }) { FILE: apps/web/ui/webhooks/webhook-placeholder.tsx function WebhookPlaceholder (line 1) | function WebhookPlaceholder() { FILE: apps/web/ui/workspaces/create-workspace-button.tsx function CreateWorkspaceButton (line 9) | function CreateWorkspaceButton() { FILE: apps/web/ui/workspaces/create-workspace-form.tsx type FormData (line 15) | type FormData = { function CreateWorkspaceForm (line 21) | function CreateWorkspaceForm({ FILE: apps/web/ui/workspaces/delete-workspace.tsx function DeleteWorkspace (line 9) | function DeleteWorkspace() { FILE: apps/web/ui/workspaces/invite-teammates-form.tsx type FormData (line 18) | type FormData = { function InviteTeammatesForm (line 25) | function InviteTeammatesForm({ FILE: apps/web/ui/workspaces/manage-subscription-button.tsx function ManageSubscriptionButton (line 10) | function ManageSubscriptionButton(props: ButtonProps) { FILE: apps/web/ui/workspaces/plan-badge.tsx function PlanBadge (line 5) | function PlanBadge({ plan }: { plan: PlanProps }) { FILE: apps/web/ui/workspaces/plan-features.tsx function PlanFeatures (line 11) | function PlanFeatures({ FILE: apps/web/ui/workspaces/subscription-menu.tsx function SubscriptionMenu (line 23) | function SubscriptionMenu() { function MenuItem (line 123) | function MenuItem({ FILE: apps/web/ui/workspaces/upgrade-plan-button.tsx function UpgradePlanButton (line 13) | function UpgradePlanButton({ FILE: apps/web/ui/workspaces/upload-logo.tsx function UploadLogo (line 9) | function UploadLogo() { FILE: apps/web/ui/workspaces/workspace-arrow.tsx function WorkspaceArrow (line 1) | function WorkspaceArrow({ className }: { className?: string }) { FILE: apps/web/ui/workspaces/workspace-exceeded-events.tsx function WorkspaceExceededEvents (line 8) | function WorkspaceExceededEvents() { FILE: apps/web/ui/workspaces/workspace-selector.tsx type WorkspaceSelectorProps (line 7) | interface WorkspaceSelectorProps { function WorkspaceSelector (line 12) | function WorkspaceSelector({ FILE: packages/cli/src/api/callback.ts type OAuthCallbackServerProps (line 10) | interface OAuthCallbackServerProps { function oauthCallbackServer (line 17) | function oauthCallbackServer({ FILE: packages/cli/src/api/domains.ts function getDomains (line 6) | async function getDomains() { FILE: packages/cli/src/api/links.ts function createLink (line 4) | async function createLink({ url, key }: { url: string; key: string }) { FILE: packages/cli/src/index.ts function main (line 14) | async function main() { FILE: packages/cli/src/types/index.ts type DubConfig (line 1) | interface DubConfig { type APIError (line 8) | interface APIError { FILE: packages/cli/src/utils/config.ts function getConfig (line 5) | async function getConfig(): Promise { function setConfig (line 34) | async function setConfig( FILE: packages/cli/src/utils/get-nanoid.ts function getNanoid (line 6) | function getNanoid(length: number = 7) { FILE: packages/cli/src/utils/get-package-info.ts function getPackageInfo (line 4) | async function getPackageInfo() { FILE: packages/cli/src/utils/handle-error.ts function handleError (line 4) | function handleError(error: unknown) { FILE: packages/cli/src/utils/logger.ts method error (line 4) | error(...args: unknown[]) { method warn (line 7) | warn(...args: unknown[]) { method info (line 10) | info(...args: unknown[]) { method success (line 13) | success(...args: unknown[]) { method break (line 16) | break() { FILE: packages/cli/src/utils/parser.ts type AnyResponse (line 4) | type AnyResponse = Response | NodeFetchResponse; function parseApiResponse (line 6) | async function parseApiResponse(response: AnyResponse): Promise { FILE: packages/email/src/components/bounty-thumbnail.tsx function BountyThumbnailImage (line 3) | function BountyThumbnailImage({ FILE: packages/email/src/components/footer.tsx function Footer (line 3) | function Footer({ FILE: packages/email/src/resend/constants.ts constant RESEND_AUDIENCE_ID (line 1) | const RESEND_AUDIENCE_ID = "f5ff0661-4234-43f6-b0ca-a3f3682934e3"; constant VARIANT_TO_FROM_MAP (line 3) | const VARIANT_TO_FROM_MAP = { FILE: packages/email/src/resend/types.ts type ResendEmailOptions (line 3) | interface ResendEmailOptions type ResendBulkEmailOptions (line 11) | type ResendBulkEmailOptions = ResendEmailOptions[]; FILE: packages/email/src/templates/api-key-created.tsx function APIKeyCreated (line 17) | function APIKeyCreated({ FILE: packages/email/src/templates/bounty-approved.tsx function BountyApproved (line 18) | function BountyApproved({ FILE: packages/email/src/templates/bounty-completed.tsx function BountyCompleted (line 18) | function BountyCompleted({ FILE: packages/email/src/templates/bounty-new-submission.tsx function NewBountySubmission (line 17) | function NewBountySubmission({ FILE: packages/email/src/templates/bounty-rejected.tsx function BountyRejected (line 17) | function BountyRejected({ FILE: packages/email/src/templates/bounty-submitted.tsx function BountySubmitted (line 18) | function BountySubmitted({ FILE: packages/email/src/templates/broadcasts/dub-product-update-mar26.tsx function DubProductUpdateMar26 (line 18) | function DubProductUpdateMar26({ FILE: packages/email/src/templates/broadcasts/dub-wrapped.tsx function DubWrapped (line 21) | function DubWrapped({ FILE: packages/email/src/templates/broadcasts/payout-auto-withdrawals.tsx function PayoutAutoWithdrawals (line 20) | function PayoutAutoWithdrawals({ FILE: packages/email/src/templates/broadcasts/program-marketplace-announcement.tsx function ProgramMarketplaceAnnouncement (line 18) | function ProgramMarketplaceAnnouncement({ FILE: packages/email/src/templates/broadcasts/stablecoin-payouts-announcement.tsx function StablecoinPayoutsAnnouncement (line 18) | function StablecoinPayoutsAnnouncement({ FILE: packages/email/src/templates/campaign-email.tsx function CampaignEmail (line 16) | function CampaignEmail({ FILE: packages/email/src/templates/clicks-exceeded.tsx function ClicksExceeded (line 18) | function ClicksExceeded({ FILE: packages/email/src/templates/clicks-summary.tsx function ClicksSummary (line 21) | function ClicksSummary({ FILE: packages/email/src/templates/confirm-email-change.tsx function ConfirmEmailChange (line 17) | function ConfirmEmailChange({ FILE: packages/email/src/templates/connect-payout-reminder.tsx function ConnectPayoutReminder (line 19) | function ConnectPayoutReminder({ FILE: packages/email/src/templates/connect-platforms-reminder.tsx function ConnectPlatformsReminder (line 17) | function ConnectPlatformsReminder({ FILE: packages/email/src/templates/connected-payout-method.tsx function ConnectedPayoutMethod (line 19) | function ConnectedPayoutMethod({ FILE: packages/email/src/templates/connected-paypal-account.tsx function ConnectedPaypalAccount (line 19) | function ConnectedPaypalAccount({ FILE: packages/email/src/templates/discount-deleted.tsx function DiscountDeleted (line 16) | function DiscountDeleted({ FILE: packages/email/src/templates/domain-claimed.tsx function DomainClaimed (line 17) | function DomainClaimed({ FILE: packages/email/src/templates/domain-deleted.tsx function DomainDeleted (line 17) | function DomainDeleted({ FILE: packages/email/src/templates/domain-expired.tsx function DomainExpired (line 19) | function DomainExpired({ FILE: packages/email/src/templates/domain-renewal-failed.tsx function DomainRenewalFailed (line 20) | function DomainRenewalFailed({ FILE: packages/email/src/templates/domain-renewal-reminder.tsx function DomainRenewalReminder (line 17) | function DomainRenewalReminder({ FILE: packages/email/src/templates/domain-renewed.tsx function DomainRenewed (line 19) | function DomainRenewed({ FILE: packages/email/src/templates/domain-transferred.tsx function DomainTransferred (line 18) | function DomainTransferred({ FILE: packages/email/src/templates/dub-partner-rewind.tsx function DubPartnerRewind (line 17) | function DubPartnerRewind({ FILE: packages/email/src/templates/duplicate-payout-method.tsx function DuplicatePayoutMethod (line 19) | function DuplicatePayoutMethod({ FILE: packages/email/src/templates/email-domain-status-changed.tsx type EmailDomainStatus (line 17) | type EmailDomainStatus = function EmailDomainStatusChanged (line 24) | function EmailDomainStatusChanged({ FILE: packages/email/src/templates/email-updated.tsx function EmailUpdated (line 17) | function EmailUpdated({ FILE: packages/email/src/templates/export-ready.tsx function ExportReady (line 17) | function ExportReady({ FILE: packages/email/src/templates/failed-payment.tsx function FailedPayment (line 18) | function FailedPayment({ FILE: packages/email/src/templates/feedback-email.tsx function FeedbackEmail (line 15) | function FeedbackEmail({ FILE: packages/email/src/templates/folder-edit-access-requested.tsx function FolderEditAccessRequested (line 17) | function FolderEditAccessRequested({ FILE: packages/email/src/templates/integration-installed.tsx function IntegrationInstalled (line 17) | function IntegrationInstalled({ FILE: packages/email/src/templates/invalid-domain.tsx function InvalidDomain (line 17) | function InvalidDomain({ FILE: packages/email/src/templates/links-import-errors.tsx constant MAX_ERROR_LINKS (line 20) | const MAX_ERROR_LINKS = 20; function LinksImportErrors (line 22) | function LinksImportErrors({ FILE: packages/email/src/templates/links-imported.tsx function LinksImported (line 20) | function LinksImported({ FILE: packages/email/src/templates/links-limit.tsx function LinksLimitAlert (line 18) | function LinksLimitAlert({ FILE: packages/email/src/templates/login-link.tsx function LoginLink (line 17) | function LoginLink({ FILE: packages/email/src/templates/new-bounty-available.tsx function NewBountyAvailable (line 19) | function NewBountyAvailable({ FILE: packages/email/src/templates/new-commission-alert-partner.tsx function NewCommissionAlertPartner (line 17) | function NewCommissionAlertPartner({ FILE: packages/email/src/templates/new-message-from-partner.tsx constant MAX_DISPLAYED_MESSAGES (line 20) | const MAX_DISPLAYED_MESSAGES = 3; function NewMessageFromPartner (line 22) | function NewMessageFromPartner({ FILE: packages/email/src/templates/new-message-from-program.tsx constant MAX_DISPLAYED_MESSAGES (line 20) | const MAX_DISPLAYED_MESSAGES = 3; function NewMessageFromProgram (line 22) | function NewMessageFromProgram({ FILE: packages/email/src/templates/new-referral-signup.tsx constant REFERRAL_CLICKS_QUOTA_BONUS (line 17) | const REFERRAL_CLICKS_QUOTA_BONUS = 500; function NewReferralSignup (line 19) | function NewReferralSignup({ FILE: packages/email/src/templates/new-sale-alert-program-owner.tsx function NewSaleAlertProgramOwner (line 19) | function NewSaleAlertProgramOwner({ FILE: packages/email/src/templates/notify-partner-reapply.tsx function NotifyPartnerReapply (line 19) | function NotifyPartnerReapply({ FILE: packages/email/src/templates/partner-account-merged.tsx function PartnerAccountMerged (line 17) | function PartnerAccountMerged({ FILE: packages/email/src/templates/partner-application-approved.tsx function PartnerApplicationApproved (line 20) | function PartnerApplicationApproved({ FILE: packages/email/src/templates/partner-application-received.tsx function PartnerApplicationReceived (line 17) | function PartnerApplicationReceived({ FILE: packages/email/src/templates/partner-application-rejected.tsx function PartnerApplicationRejected (line 17) | function PartnerApplicationRejected({ FILE: packages/email/src/templates/partner-banned.tsx function PartnerBanned (line 17) | function PartnerBanned({ FILE: packages/email/src/templates/partner-deactivated.tsx function PartnerDeactivated (line 17) | function PartnerDeactivated({ FILE: packages/email/src/templates/partner-group-changed.tsx function PartnerGroupChanged (line 20) | function PartnerGroupChanged({ FILE: packages/email/src/templates/partner-payout-confirmed.tsx constant PAYOUT_METHOD_LABELS (line 19) | const PAYOUT_METHOD_LABELS: Record = { function PartnerPayoutConfirmed (line 26) | function PartnerPayoutConfirmed({ FILE: packages/email/src/templates/partner-payout-failed.tsx function PartnerPayoutFailed (line 17) | function PartnerPayoutFailed({ FILE: packages/email/src/templates/partner-payout-force-withdrawal.tsx function PartnerPayoutForceWithdrawal (line 18) | function PartnerPayoutForceWithdrawal({ FILE: packages/email/src/templates/partner-payout-processed.tsx function PartnerPayoutProcessed (line 23) | function PartnerPayoutProcessed({ FILE: packages/email/src/templates/partner-payout-withdrawal-completed.tsx function PartnerPayoutWithdrawalCompleted (line 18) | function PartnerPayoutWithdrawalCompleted({ FILE: packages/email/src/templates/partner-payout-withdrawal-failed.tsx function PartnerPayoutWithdrawalFailed (line 20) | function PartnerPayoutWithdrawalFailed({ FILE: packages/email/src/templates/partner-payout-withdrawal-initiated.tsx function PartnerPayoutWithdrawalInitiated (line 18) | function PartnerPayoutWithdrawalInitiated({ FILE: packages/email/src/templates/partner-paypal-payout-failed.tsx function PartnerPaypalPayoutFailed (line 18) | function PartnerPaypalPayoutFailed({ FILE: packages/email/src/templates/partner-program-summary.tsx constant ICONS (line 26) | const ICONS = { type Icon (line 33) | type Icon = keyof typeof ICONS; function getPercentChange (line 50) | function getPercentChange(current: number, previous: number) { function getPercentState (line 58) | function getPercentState(percent?: number) { function PartnerProgramSummary (line 74) | function PartnerProgramSummary({ FILE: packages/email/src/templates/partner-referral-submitted.tsx function PartnerReferralSubmitted (line 17) | function PartnerReferralSubmitted({ FILE: packages/email/src/templates/partner-user-invited.tsx function PartnerUserInvited (line 17) | function PartnerUserInvited({ FILE: packages/email/src/templates/password-updated.tsx function PasswordUpdated (line 16) | function PasswordUpdated({ FILE: packages/email/src/templates/pending-applications-summary.tsx function PendingApplicationsSummary (line 20) | function PendingApplicationsSummary({ FILE: packages/email/src/templates/program-application-reminder.tsx function ProgramApplicationReminder (line 17) | function ProgramApplicationReminder({ FILE: packages/email/src/templates/program-imported.tsx function ProgramImported (line 17) | function ProgramImported({ FILE: packages/email/src/templates/program-invite.tsx function ProgramInvite (line 103) | function ProgramInvite({ FILE: packages/email/src/templates/program-network-invite.tsx function ProgramNetworkInvite (line 19) | function ProgramNetworkInvite({ FILE: packages/email/src/templates/program-payout-reminder.tsx function ProgramPayoutReminder (line 19) | function ProgramPayoutReminder({ FILE: packages/email/src/templates/program-payout-thank-you.tsx function ProgramPayoutThankYou (line 17) | function ProgramPayoutThankYou({ FILE: packages/email/src/templates/program-welcome.tsx function ProgramWelcome (line 24) | function ProgramWelcome({ FILE: packages/email/src/templates/referral-invite.tsx function ReferralInvite (line 17) | function ReferralInvite({ FILE: packages/email/src/templates/referral-status-update.tsx function ReferralStatusUpdate (line 16) | function ReferralStatusUpdate({ FILE: packages/email/src/templates/reset-password-link.tsx function ResetPasswordLink (line 17) | function ResetPasswordLink({ FILE: packages/email/src/templates/unresolved-fraud-events-summary.tsx constant MAX_DISPLAYED_GROUPS (line 19) | const MAX_DISPLAYED_GROUPS = 5; function UnresolvedFraudEventsSummary (line 21) | function UnresolvedFraudEventsSummary({ FILE: packages/email/src/templates/upgrade-email.tsx function UpgradeEmail (line 17) | function UpgradeEmail({ FILE: packages/email/src/templates/verify-email-for-account-merge.tsx function VerifyEmailForAccountMerge (line 16) | function VerifyEmailForAccountMerge({ FILE: packages/email/src/templates/verify-email.tsx function VerifyEmail (line 16) | function VerifyEmail({ FILE: packages/email/src/templates/webhook-added.tsx function WebhookAdded (line 17) | function WebhookAdded({ FILE: packages/email/src/templates/webhook-disabled.tsx function WebhookDisabled (line 17) | function WebhookDisabled({ FILE: packages/email/src/templates/webhook-failed.tsx function WebhookFailed (line 17) | function WebhookFailed({ FILE: packages/email/src/templates/welcome-email-partner.tsx function WelcomeEmailPartner (line 18) | function WelcomeEmailPartner({ FILE: packages/email/src/templates/welcome-email.tsx function WelcomeEmail (line 20) | function WelcomeEmail({ FILE: packages/email/src/templates/workspace-invite.tsx function WorkspaceInvite (line 17) | function WorkspaceInvite({ FILE: packages/email/src/types.ts type WorkspaceProps (line 1) | type WorkspaceProps = { type PartnerPayoutMethod (line 11) | type PartnerPayoutMethod = "connect" | "stablecoin" | "paypal"; constant STABLECOIN_PAYOUT_FEE_RATE (line 14) | const STABLECOIN_PAYOUT_FEE_RATE = 0.005; constant MIN_WITHDRAWAL_AMOUNT_CENTS (line 15) | const MIN_WITHDRAWAL_AMOUNT_CENTS = 10_00; constant BELOW_MIN_WITHDRAWAL_FEE_CENTS (line 16) | const BELOW_MIN_WITHDRAWAL_FEE_CENTS = 50; FILE: packages/embeds/core/src/constants.ts constant DUB_CONTAINER_ID (line 1) | const DUB_CONTAINER_ID = "dub-embed-container"; FILE: packages/embeds/core/src/core.ts constant CONTAINER_STYLES (line 5) | const CONTAINER_STYLES = { class DubEmbed (line 12) | class DubEmbed { method constructor (line 16) | constructor(options: DubEmbedOptions) { method renderEmbed (line 27) | renderEmbed() { method destroy (line 100) | destroy() { FILE: packages/embeds/core/src/embed.ts type Window (line 5) | interface Window { FILE: packages/embeds/core/src/error.ts class EmbedError (line 1) | class EmbedError extends Error { method constructor (line 4) | constructor({ code, message }: { code: string; message: string }) { FILE: packages/embeds/core/src/types.ts type DubInitResult (line 1) | type DubInitResult = { type DubEmbed (line 5) | interface DubEmbed { type DubEmbedOptions (line 9) | type DubEmbedOptions = { type IframeMessage (line 35) | type IframeMessage = { FILE: packages/embeds/core/tsup.config.ts method esbuildOptions (line 9) | esbuildOptions(options) { FILE: packages/embeds/react/src/embed.tsx type Options (line 6) | type Options = Omit; type DubEmbedProps (line 8) | type DubEmbedProps = { function DubEmbedInner (line 20) | function DubEmbedInner({ FILE: packages/embeds/react/tsup.config.ts method esbuildOptions (line 6) | esbuildOptions(options) { method outExtension (line 11) | outExtension({ format }) { FILE: packages/prisma/index.ts type OmittedPrismaClient (line 10) | type OmittedPrismaClient = ReturnType; FILE: packages/stripe-app/src/hooks/use-workspace.ts function fetchWorkspace (line 29) | async function fetchWorkspace({ stripe }: { stripe: Stripe }) { FILE: packages/stripe-app/src/utils/constants.ts constant DUB_CLIENT_ID (line 4) | const DUB_CLIENT_ID = constant DUB_HOST (line 6) | const DUB_HOST = "https://app.dub.co"; constant DUB_API_HOST (line 7) | const DUB_API_HOST = "https://api.dub.co"; constant STRIPE_MODE (line 10) | const STRIPE_MODE: StripeMode = "live"; constant STRIPE_REDIRECT_URL (line 11) | const STRIPE_REDIRECT_URL = `https://dashboard.stripe.com/${STRIPE_MODE ... FILE: packages/stripe-app/src/utils/dub.ts function updateWorkspace (line 5) | async function updateWorkspace({ FILE: packages/stripe-app/src/utils/oauth.ts function getOAuthUrl (line 12) | function getOAuthUrl({ function getToken (line 32) | async function getToken({ function getUserInfo (line 69) | async function getUserInfo({ token }: { token: Token }) { function getValidToken (line 90) | async function getValidToken({ stripe }: { stripe: Stripe }) { function refreshToken (line 122) | async function refreshToken({ token }: { token: Token }) { FILE: packages/stripe-app/src/utils/secrets.ts type SecretName (line 3) | type SecretName = "dub_token" | "dub_workspace"; function setSecret (line 11) | async function setSecret({ function getSecret (line 28) | async function getSecret({ function deleteSecret (line 53) | async function deleteSecret({ FILE: packages/stripe-app/src/utils/types.ts type Token (line 1) | interface Token { type Workspace (line 9) | interface Workspace { type StripeMode (line 15) | type StripeMode = "test" | "live"; FILE: packages/ui/src/activity-ring.tsx type IconComponent (line 4) | type IconComponent = ComponentType>; type ActivityRingProps (line 6) | interface ActivityRingProps { constant COLORS (line 22) | const COLORS = { constant GAP_ANGLE (line 32) | const GAP_ANGLE = 15; constant MIN_ARC_DEGREES (line 35) | const MIN_ARC_DEGREES = 30; function polarToCartesian (line 37) | function polarToCartesian( function describeArc (line 50) | function describeArc( function describeFilledArc (line 66) | function describeFilledArc( type RingState (line 90) | type RingState = "positive" | "negative" | "neutral"; function ActivityRing (line 92) | function ActivityRing({ FILE: packages/ui/src/animated-size-container.tsx type AnimatedSizeContainerProps (line 15) | type AnimatedSizeContainerProps = PropsWithChildren<{ FILE: packages/ui/src/avatar.tsx function Avatar (line 17) | function Avatar({ FILE: packages/ui/src/background.tsx function Background (line 1) | function Background() { FILE: packages/ui/src/badge.tsx type BadgeProps (line 30) | interface BadgeProps function Badge (line 34) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: packages/ui/src/button.tsx type ButtonProps (line 30) | interface ButtonProps FILE: packages/ui/src/card-list/card-list-card.tsx function CardListCard (line 33) | function CardListCard({ FILE: packages/ui/src/card-list/card-list.tsx type CardListProps (line 20) | type CardListProps = PropsWithChildren<{ type CardListContextType (line 26) | type CardListContextType = { function CardList (line 36) | function CardList({ FILE: packages/ui/src/card-selector.tsx type CardSelectorOption (line 8) | interface CardSelectorOption { type CardSelectorProps (line 15) | interface CardSelectorProps { function CardSelector (line 26) | function CardSelector({ FILE: packages/ui/src/carousel/carousel.tsx constant AUTOPLAY_DEFAULT_DELAY (line 19) | const AUTOPLAY_DEFAULT_DELAY = 2000; type CarouselApi (line 21) | type CarouselApi = UseEmblaCarouselType[1]; type UseCarouselParameters (line 22) | type UseCarouselParameters = Parameters; type CarouselOptions (line 23) | type CarouselOptions = UseCarouselParameters[0]; type CarouselPlugin (line 24) | type CarouselPlugin = UseCarouselParameters[1]; type AutoplayOptions (line 25) | type AutoplayOptions = Parameters[0]; type CarouselProps (line 27) | type CarouselProps = { type CarouselContextProps (line 35) | type CarouselContextProps = { function useCarousel (line 46) | function useCarousel() { function useCarouselActiveIndex (line 56) | function useCarouselActiveIndex() { FILE: packages/ui/src/carousel/thumbnails.tsx type CarouselThumbnailProps (line 51) | type CarouselThumbnailProps = { FILE: packages/ui/src/charts/areas.tsx function Areas (line 9) | function Areas({ FILE: packages/ui/src/charts/bars.tsx function Bars (line 9) | function Bars({ FILE: packages/ui/src/charts/chart-context.ts function useChartContext (line 10) | function useChartContext(): ChartContextType { function useChartTooltipContext (line 19) | function useChartTooltipContext< FILE: packages/ui/src/charts/funnel-chart.tsx type FunnelChartProps (line 28) | type FunnelChartProps = { function FunnelChart (line 42) | function FunnelChart(props: FunnelChartProps) { function FunnelChartInner (line 56) | function FunnelChartInner({ function PersistentPercentage (line 226) | function PersistentPercentage({ FILE: packages/ui/src/charts/time-series-chart.tsx type TimeSeriesChartProps (line 15) | type TimeSeriesChartProps = PropsWithChildren( function TimeSeriesChartInner (line 34) | function TimeSeriesChartInner({ FILE: packages/ui/src/charts/tooltip-sync.tsx type ChartTooltipSyncContextType (line 9) | type ChartTooltipSyncContextType = { function ChartTooltipSync (line 17) | function ChartTooltipSync({ children }: PropsWithChildren) { FILE: packages/ui/src/charts/types.ts type Datum (line 7) | type Datum = Record; type TimeSeriesDatum (line 9) | type TimeSeriesDatum = { type AccessorFn (line 14) | type AccessorFn = ( type Series (line 18) | type Series = { type Data (line 25) | type Data = TimeSeriesDatum[]; type ChartRequiredProps (line 27) | type ChartRequiredProps = { type ChartOptionalProps (line 32) | type ChartOptionalProps = { type ChartProps (line 63) | type ChartProps = ChartRequiredProps & type ChartContext (line 66) | type ChartContext = Required< type ChartTooltipContext (line 87) | type ChartTooltipContext = { FILE: packages/ui/src/charts/use-tooltip.ts type TooltipOptions (line 20) | type TooltipOptions = { function useTooltip (line 30) | function useTooltip({ FILE: packages/ui/src/charts/x-axis.tsx type XAxisProps (line 8) | type XAxisProps = { function XAxis (line 35) | function XAxis({ FILE: packages/ui/src/charts/y-axis.tsx type YAxisProps (line 8) | type YAxisProps = { function YAxis (line 40) | function YAxis({ FILE: packages/ui/src/combobox/index.tsx type ComboboxOption (line 29) | type ComboboxOption = { type ComboboxProps (line 39) | type ComboboxProps< function isMultipleSelection (line 82) | function isMultipleSelection( function Combobox (line 89) | function Combobox({ function Option (line 409) | function Option({ FILE: packages/ui/src/composite-logo.tsx function CompositeLogo (line 3) | function CompositeLogo({ className }: { className?: string }) { FILE: packages/ui/src/content.ts type NavItemChild (line 29) | type NavItemChild = { type NavItemChildren (line 37) | type NavItemChildren = ( constant FEATURES_LIST (line 42) | const FEATURES_LIST = [ constant SDKS (line 79) | const SDKS = [ constant SOLUTIONS (line 115) | const SOLUTIONS: NavItemChildren = [ constant RESOURCES (line 140) | const RESOURCES = [ constant COMPARE_PAGES (line 191) | const COMPARE_PAGES = [ constant LEGAL_PAGES (line 198) | const LEGAL_PAGES = [ constant SOCIAL_LINKS (line 209) | const SOCIAL_LINKS = [ FILE: packages/ui/src/copy-button.tsx function CopyButton (line 24) | function CopyButton({ FILE: packages/ui/src/copy-text.tsx function CopyText (line 8) | function CopyText({ FILE: packages/ui/src/date-picker/calendar.tsx type NavigationButtonProps (line 21) | interface NavigationButtonProps extends HTMLAttributes { type OmitKeys (line 54) | type OmitKeys = { type KeysToOmit (line 58) | type KeysToOmit = "showWeekNumber" | "captionLayout" | "mode"; type SingleProps (line 60) | type SingleProps = OmitKeys; type RangeProps (line 61) | type RangeProps = OmitKeys; type CalendarProps (line 63) | type CalendarProps = function Calendar (line 74) | function Calendar({ FILE: packages/ui/src/date-picker/date-picker.tsx type DatePickerTriggerRenderProps (line 9) | type DatePickerTriggerRenderProps = { type DatePickerProps (line 17) | type DatePickerProps = { function DatePicker (line 26) | function DatePicker({ FILE: packages/ui/src/date-picker/date-range-picker.tsx type RangeDatePickerProps (line 18) | type RangeDatePickerProps = { function DateRangePicker (line 220) | function DateRangePicker({ presets, ...props }: RangeDatePickerProps) { function PresetScrollContainer (line 226) | function PresetScrollContainer({ children }: PropsWithChildren) { FILE: packages/ui/src/date-picker/presets.tsx type PresetsProps (line 7) | type PresetsProps = { FILE: packages/ui/src/date-picker/trigger.tsx type TriggerProps (line 24) | interface TriggerProps FILE: packages/ui/src/date-picker/types.ts type CalendarProps (line 6) | type CalendarProps = { type PickerProps (line 18) | interface PickerProps extends CalendarProps { type DateRange (line 36) | type DateRange = { type Preset (line 41) | interface Preset { type DatePreset (line 49) | interface DatePreset extends Preset { type DateRangePreset (line 53) | interface DateRangePreset extends Preset { FILE: packages/ui/src/dots-pattern.tsx function DotsPattern (line 4) | function DotsPattern({ FILE: packages/ui/src/dub-status-badge.tsx function DubStatusBadge (line 8) | function DubStatusBadge({ className }: { className?: string }) { FILE: packages/ui/src/empty-state.tsx type EmptyStateProps (line 3) | type EmptyStateProps = PropsWithChildren<{ function EmptyState (line 10) | function EmptyState({ FILE: packages/ui/src/file-upload.tsx type AcceptedFileFormats (line 7) | type AcceptedFileFormats = type FileUploadReadFileProps (line 68) | type FileUploadReadFileProps = type FileUploadProps (line 84) | type FileUploadProps = FileUploadReadFileProps & { function FileUpload (line 140) | function FileUpload({ FILE: packages/ui/src/filter/filter-list.tsx type FilterListProps (line 19) | type FilterListProps = { function getOperatorLabel (line 34) | function getOperatorLabel(operator: FilterOperator): string { function FilterList (line 49) | function FilterList({ function OperatorFilterPill (line 258) | function OperatorFilterPill({ FILE: packages/ui/src/filter/filter-select.tsx type FilterSelectProps (line 28) | type FilterSelectProps = { function FilterSelect (line 46) | function FilterSelect({ function isEmptyStateObject (line 347) | function isEmptyStateObject( function FilterButton (line 407) | function FilterButton({ FILE: packages/ui/src/filter/types.ts type FilterIcon (line 5) | type FilterIcon = type Filter (line 12) | type Filter = { type FilterOption (line 36) | type FilterOption = { type ActiveFilter (line 46) | type ActiveFilter = { type LegacyActiveFilterSingular (line 52) | type LegacyActiveFilterSingular = { type LegacyActiveFilterPlural (line 57) | type LegacyActiveFilterPlural = { type ActiveFilterInput (line 62) | type ActiveFilterInput = function normalizeActiveFilter (line 74) | function normalizeActiveFilter(filter: ActiveFilterInput): ActiveFilter { FILE: packages/ui/src/footer.tsx function Footer (line 106) | function Footer({ FILE: packages/ui/src/form.tsx function Form (line 5) | function Form({ FILE: packages/ui/src/grid.tsx function Grid (line 4) | function Grid({ FILE: packages/ui/src/hooks/use-column-visibility.ts type SingleTableConfig (line 5) | type SingleTableConfig = { type MultiTableConfig (line 11) | type MultiTableConfig = Record; function isSingleTableConfig (line 14) | function isSingleTableConfig(config: any): config is SingleTableConfig { function useColumnVisibility (line 42) | function useColumnVisibility( FILE: packages/ui/src/hooks/use-cookies.ts function useCookies (line 4) | function useCookies( FILE: packages/ui/src/hooks/use-current-anchor.ts function useCurrentAnchor (line 3) | function useCurrentAnchor() { FILE: packages/ui/src/hooks/use-current-subdomain.ts function useCurrentSubdomain (line 4) | function useCurrentSubdomain() { FILE: packages/ui/src/hooks/use-enter-submit.ts function useEnterSubmit (line 3) | function useEnterSubmit( FILE: packages/ui/src/hooks/use-in-viewport.tsx function useInViewport (line 5) | function useInViewport( FILE: packages/ui/src/hooks/use-input-focused.ts function useInputFocused (line 6) | function useInputFocused() { FILE: packages/ui/src/hooks/use-intersection-observer.ts type Args (line 3) | interface Args extends IntersectionObserverInit { function useIntersectionObserver (line 7) | function useIntersectionObserver( FILE: packages/ui/src/hooks/use-keyboard-shortcut.tsx type KeyboardShortcutListener (line 13) | type KeyboardShortcutListener = { function KeyboardShortcutProvider (line 30) | function KeyboardShortcutProvider({ function useKeyboardShortcut (line 44) | function useKeyboardShortcut( FILE: packages/ui/src/hooks/use-local-storage.ts function getItemFromLocalStorage (line 3) | function getItemFromLocalStorage(key: string) { function useLocalStorage (line 12) | function useLocalStorage( FILE: packages/ui/src/hooks/use-media-query.ts function getDevice (line 3) | function getDevice(): "mobile" | "tablet" | "desktop" | null { function getDimensions (line 13) | function getDimensions() { function useMediaQuery (line 19) | function useMediaQuery() { FILE: packages/ui/src/hooks/use-optimistic-update.ts function useOptimisticUpdate (line 5) | function useOptimisticUpdate( FILE: packages/ui/src/hooks/use-pagination.ts type PaginationState (line 6) | type PaginationState = { function usePagination (line 11) | function usePagination(pageSize = DEFAULT_PAGINATION_LIMIT) { FILE: packages/ui/src/hooks/use-remove-ga-params.ts function useRemoveGAParams (line 3) | function useRemoveGAParams() { FILE: packages/ui/src/hooks/use-resize-observer.ts function useResizeObserver (line 8) | function useResizeObserver( FILE: packages/ui/src/hooks/use-router-stuff.ts function useRouterStuff (line 10) | function useRouterStuff() { FILE: packages/ui/src/hooks/use-scroll-progress.ts function useScrollProgress (line 6) | function useScrollProgress( FILE: packages/ui/src/hooks/use-scroll.ts function useScroll (line 3) | function useScroll( FILE: packages/ui/src/hooks/use-toast-with-undo.tsx function ToastWithUndo (line 5) | function ToastWithUndo({ function useToastWithUndo (line 46) | function useToastWithUndo() { FILE: packages/ui/src/icon-menu.tsx type MenuIconProps (line 3) | interface MenuIconProps { function IconMenu (line 8) | function IconMenu({ icon, text }: MenuIconProps) { FILE: packages/ui/src/icons/anthropic.tsx function Anthropic (line 3) | function Anthropic({ className, ...props }: SVGProps) { FILE: packages/ui/src/icons/arrow-up-right-2.tsx function ArrowUpRight2 (line 3) | function ArrowUpRight2(props: SVGProps) { FILE: packages/ui/src/icons/bing.tsx function Bing (line 1) | function Bing({ className }: { className?: string }) { FILE: packages/ui/src/icons/continents/af.tsx function Africa (line 3) | function Africa(props: SVGProps) { FILE: packages/ui/src/icons/continents/as.tsx function Asia (line 3) | function Asia(props: SVGProps) { FILE: packages/ui/src/icons/continents/eu.tsx function Europe (line 3) | function Europe(props: SVGProps) { FILE: packages/ui/src/icons/continents/na.tsx function NorthAmerica (line 3) | function NorthAmerica(props: SVGProps) { FILE: packages/ui/src/icons/continents/oc.tsx function Oceania (line 3) | function Oceania(props: SVGProps) { FILE: packages/ui/src/icons/continents/sa.tsx function SouthAmerica (line 3) | function SouthAmerica(props: SVGProps) { FILE: packages/ui/src/icons/copy.tsx function Copy (line 1) | function Copy({ className }: { className?: string }) { FILE: packages/ui/src/icons/crown-small.tsx function CrownSmall (line 3) | function CrownSmall(props: SVGProps) { FILE: packages/ui/src/icons/default-domains/amazon.tsx function Amazon (line 3) | function Amazon({ className }: { className?: string }) { FILE: packages/ui/src/icons/default-domains/chatgpt.tsx function ChatGPT (line 3) | function ChatGPT({ className }: { className?: string }) { FILE: packages/ui/src/icons/default-domains/figma.tsx function Figma (line 3) | function Figma({ className }: { className?: string }) { FILE: packages/ui/src/icons/default-domains/github-enhanced.tsx function GitHubEnhanced (line 3) | function GitHubEnhanced({ className }: { className?: string }) { FILE: packages/ui/src/icons/default-domains/google-enhanced.tsx function GoogleEnhanced (line 3) | function GoogleEnhanced({ className }: { className?: string }) { FILE: packages/ui/src/icons/default-domains/spotify.tsx function Spotify (line 3) | function Spotify({ className }: { className?: string }) { FILE: packages/ui/src/icons/dub-analytics.tsx function DubAnalyticsIcon (line 3) | function DubAnalyticsIcon(props: SVGProps) { FILE: packages/ui/src/icons/dub-api.tsx function DubApiIcon (line 3) | function DubApiIcon(props: SVGProps) { FILE: packages/ui/src/icons/dub-crafted-shield.tsx function DubCraftedShield (line 6) | function DubCraftedShield(props: SVGProps) { FILE: packages/ui/src/icons/dub-links.tsx function DubLinksIcon (line 3) | function DubLinksIcon(props: SVGProps) { FILE: packages/ui/src/icons/dub-partners.tsx function DubPartnersIcon (line 3) | function DubPartnersIcon(props: SVGProps) { FILE: packages/ui/src/icons/dub-product-icon.tsx type DubProduct (line 26) | type DubProduct = keyof typeof icons; function DubProductIcon (line 28) | function DubProductIcon({ FILE: packages/ui/src/icons/expanding-arrow.tsx function ExpandingArrow (line 3) | function ExpandingArrow({ className }: { className?: string }) { FILE: packages/ui/src/icons/facebook.tsx function Facebook (line 1) | function Facebook({ FILE: packages/ui/src/icons/file-pen.tsx function FilePen (line 3) | function FilePen(props: SVGProps) { FILE: packages/ui/src/icons/file-send.tsx function FileSend (line 3) | function FileSend(props: SVGProps) { FILE: packages/ui/src/icons/github.tsx function Github (line 1) | function Github({ className }: { className?: string }) { FILE: packages/ui/src/icons/go.tsx function Go (line 3) | function Go(props: SVGProps) { FILE: packages/ui/src/icons/google.tsx function Google (line 1) | function Google({ className }: { className?: string }) { FILE: packages/ui/src/icons/index.tsx type Icon (line 86) | type Icon = LucideIcon | ComponentType>; FILE: packages/ui/src/icons/instagram.tsx function Instagram (line 3) | function Instagram(props: SVGProps) { FILE: packages/ui/src/icons/ios-app-store.tsx function IOSAppStore (line 1) | function IOSAppStore({ className }: { className?: string }) { FILE: packages/ui/src/icons/linkedin.tsx function LinkedIn (line 3) | function LinkedIn({ className }: { className?: string }) { FILE: packages/ui/src/icons/loading-circle.tsx function LoadingCircle (line 3) | function LoadingCircle({ className }: { className?: string }) { FILE: packages/ui/src/icons/loading-dots.tsx function LoadingDots (line 1) | function LoadingDots() { FILE: packages/ui/src/icons/loading-spinner.tsx function LoadingSpinner (line 3) | function LoadingSpinner({ className }: { className?: string }) { FILE: packages/ui/src/icons/lock-small.tsx function LockSmall (line 3) | function LockSmall(props: SVGProps) { FILE: packages/ui/src/icons/magic.tsx function Magic (line 1) | function Magic({ className }: { className: string }) { FILE: packages/ui/src/icons/markdown-icon.tsx function MarkdownIcon (line 3) | function MarkdownIcon(props: SVGProps) { FILE: packages/ui/src/icons/matrix-lines.tsx function MatrixLines (line 3) | function MatrixLines(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/android-logo.tsx function AndroidLogo (line 3) | function AndroidLogo(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/apple-logo.tsx function AppleLogo (line 3) | function AppleLogo(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/apple.tsx function Apple (line 3) | function Apple(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrow-bold-up.tsx function ArrowBoldUp (line 3) | function ArrowBoldUp(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrow-right.tsx function ArrowRight (line 3) | function ArrowRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrow-trend-up.tsx function ArrowTrendUp (line 3) | function ArrowTrendUp(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrow-turn-left.tsx function ArrowTurnLeft (line 3) | function ArrowTurnLeft(props: SVGProps): JSX.Element { FILE: packages/ui/src/icons/nucleo/arrow-turn-right2.tsx function ArrowTurnRight2 (line 3) | function ArrowTurnRight2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrow-up-right.tsx function ArrowUpRight (line 3) | function ArrowUpRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrows-opposite-direction-x.tsx function ArrowsOppositeDirectionX (line 3) | function ArrowsOppositeDirectionX(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/arrows-opposite-direction-y.tsx function ArrowsOppositeDirectionY (line 3) | function ArrowsOppositeDirectionY(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/at-sign.tsx function AtSign (line 3) | function AtSign(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/badge-check.tsx function BadgeCheck (line 3) | function BadgeCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/badge-check2-fill.tsx function BadgeCheck2Fill (line 3) | function BadgeCheck2Fill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/bell.tsx function Bell (line 3) | function Bell(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/blog.tsx function Blog (line 3) | function Blog(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/bolt-fill.tsx function BoltFill (line 3) | function BoltFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/bolt.tsx function Bolt (line 3) | function Bolt(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/book-open.tsx function BookOpen (line 3) | function BookOpen(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/book2-fill.tsx function Book2Fill (line 3) | function Book2Fill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/book2-small.tsx function Book2Small (line 3) | function Book2Small(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/book2.tsx function Book2 (line 3) | function Book2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/books2.tsx function Books2 (line 3) | function Books2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/box-archive.tsx function BoxArchive (line 3) | function BoxArchive(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/brackets-curly.tsx function BracketsCurly (line 3) | function BracketsCurly(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/briefcase-fill.tsx function BriefcaseFill (line 3) | function BriefcaseFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/brush.tsx function Brush (line 3) | function Brush(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/bullet-list-fill.tsx function BulletListFill (line 3) | function BulletListFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/bullet-list.tsx function BulletList (line 3) | function BulletList(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/calculator.tsx function Calculator (line 3) | function Calculator(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/calendar-days.tsx function CalendarDays (line 3) | function CalendarDays(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/calendar-refresh.tsx function CalendarRefresh (line 3) | function CalendarRefresh(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/calendar.tsx function CalendarIcon (line 3) | function CalendarIcon(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/calendar6.tsx function Calendar6 (line 3) | function Calendar6(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cards.tsx function Cards (line 3) | function Cards(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/caret-up-fill.tsx function CaretUpFill (line 3) | function CaretUpFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chart-activity2.tsx function ChartActivity2 (line 3) | function ChartActivity2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chart-area2.tsx function ChartArea2 (line 3) | function ChartArea2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chart-line.tsx function ChartLine (line 3) | function ChartLine(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/check.tsx function Check (line 3) | function Check(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/check2.tsx function Check2 (line 3) | function Check2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/checkbox-checked-fill.tsx function CheckboxCheckedFill (line 3) | function CheckboxCheckedFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/checkbox-unchecked.tsx function CheckboxUnchecked (line 3) | function CheckboxUnchecked(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chevron-left.tsx function ChevronLeft (line 3) | function ChevronLeft(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chevron-right.tsx function ChevronRight (line 3) | function ChevronRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/chevron-up.tsx function ChevronUp (line 3) | function ChevronUp(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-arrow-right.tsx function CircleArrowRight (line 3) | function CircleArrowRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-check-fill.tsx function CircleCheckFill (line 3) | function CircleCheckFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-check.tsx function CircleCheck (line 3) | function CircleCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-dollar-out.tsx function CircleDollarOut (line 3) | function CircleDollarOut(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-dollar.tsx function CircleDollar (line 3) | function CircleDollar(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-dollar3.tsx function CircleDollar3 (line 3) | function CircleDollar3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-dotted.tsx function CircleDotted (line 3) | function CircleDotted(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-half-dotted-check.tsx function CircleHalfDottedCheck (line 3) | function CircleHalfDottedCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-half-dotted-clock.tsx function CircleHalfDottedClock (line 3) | function CircleHalfDottedClock(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-info.tsx function CircleInfo (line 3) | function CircleInfo(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-percentage.tsx function CirclePercentage (line 3) | function CirclePercentage(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-play-fill.tsx function CirclePlayFill (line 3) | function CirclePlayFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-play.tsx function CirclePlay (line 3) | function CirclePlay(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-question.tsx function CircleQuestion (line 3) | function CircleQuestion(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-user.tsx function CircleUser (line 3) | function CircleUser(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circle-warning.tsx function CircleWarning (line 3) | function CircleWarning( FILE: packages/ui/src/icons/nucleo/circle-xmark.tsx function CircleXmark (line 3) | function CircleXmark(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circles.tsx function Circles (line 3) | function Circles(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/circles3.tsx function Circles3 (line 3) | function Circles3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cloud-upload.tsx function CloudUpload (line 3) | function CloudUpload(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cloud.tsx function Cloud (line 3) | function Cloud(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/code.tsx function Code (line 3) | function Code(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/color-palette2.tsx function ColorPalette2 (line 3) | function ColorPalette2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/connected-dots-fill.tsx function ConnectedDotsFill (line 3) | function ConnectedDotsFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/connected-dots.tsx function ConnectedDots (line 3) | function ConnectedDots(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/connected-dots4.tsx function ConnectedDots4 (line 3) | function ConnectedDots4(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/connections3.tsx function Connections3 (line 3) | function Connections3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/credit-card.tsx function CreditCard (line 3) | function CreditCard(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/crosshairs3.tsx function Crosshairs3 (line 3) | function Crosshairs3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/crown.tsx function Crown (line 3) | function Crown(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cube-settings-fill.tsx function CubeSettingsFill (line 3) | function CubeSettingsFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cube-settings.tsx function CubeSettings (line 3) | function CubeSettings(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cube.tsx function Cube (line 3) | function Cube(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/currency-dollar.tsx function CurrencyDollar (line 3) | function CurrencyDollar(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/cursor-rays.tsx function CursorRays (line 3) | function CursorRays(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/database-key.tsx function DatabaseKey (line 3) | function DatabaseKey(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/desktop.tsx function Desktop (line 3) | function Desktop(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/diamond-turn-right-fill.tsx function DiamondTurnRightFill (line 3) | function DiamondTurnRightFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/diamond-turn-right.tsx function DiamondTurnRight (line 3) | function DiamondTurnRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/directions.tsx function Directions (line 3) | function Directions(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/discount.tsx function Discount (line 3) | function Discount(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/dots.tsx function Dots (line 3) | function Dots(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/download.tsx function Download (line 3) | function Download(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/duplicate.tsx function Duplicate (line 3) | function Duplicate(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/earth-position.tsx function EarthPosition (line 3) | function EarthPosition(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/earth.tsx function Earth (line 3) | function Earth(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-alert.tsx function EnvelopeAlert (line 3) | function EnvelopeAlert(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-arrow-right.tsx function EnvelopeArrowRight (line 3) | function EnvelopeArrowRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-ban.tsx function EnvelopeBan (line 3) | function EnvelopeBan(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-check.tsx function EnvelopeCheck (line 3) | function EnvelopeCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-fill.tsx function EnvelopeFill (line 3) | function EnvelopeFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope-open.tsx function EnvelopeOpen (line 3) | function EnvelopeOpen(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/envelope.tsx function Envelope (line 3) | function Envelope(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/eye-slash.tsx function EyeSlash (line 3) | function EyeSlash(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/eye.tsx function Eye (line 3) | function Eye(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/face-smile.tsx function FaceSmile (line 3) | function FaceSmile(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/feather-fill.tsx function FeatherFill (line 3) | function FeatherFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/file-content.tsx function FileContent (line 3) | function FileContent(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/file-zip2.tsx function FileZip2 (line 3) | function FileZip2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/filter-bars.tsx function FilterBars (line 3) | function FilterBars(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/filter2.tsx function Filter2 (line 3) | function Filter2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flag-wavy.tsx function FlagWavy (line 3) | function FlagWavy(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flag.tsx function Flag (line 3) | function Flag(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flag2.tsx function Flag2 (line 3) | function Flag2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flag6.tsx function Flag6 (line 3) | function Flag6(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flask-small.tsx function FlaskSmall (line 3) | function FlaskSmall(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/flask.tsx function Flask (line 3) | function Flask(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder-bookmark.tsx function FolderBookmark (line 3) | function FolderBookmark(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder-lock.tsx function FolderLock (line 3) | function FolderLock(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder-plus.tsx function FolderPlus (line 3) | function FolderPlus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder-shield.tsx function FolderShield (line 3) | function FolderShield(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder.tsx function Folder (line 3) | function Folder(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/folder5.tsx function Folder5 (line 3) | function Folder5(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gaming-console.tsx function GamingConsole (line 3) | function GamingConsole(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gauge6.tsx function Gauge6 (line 3) | function Gauge6(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gear.tsx function Gear (line 3) | function Gear(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gear2.tsx function Gear2 (line 3) | function Gear2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gear3.tsx function Gear3 (line 3) | function Gear3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gem.tsx function Gem (line 3) | function Gem(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gift-fill.tsx function GiftFill (line 3) | function GiftFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/gift.tsx function Gift (line 3) | function Gift(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/globe-pointer.tsx function GlobePointer (line 3) | function GlobePointer(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/globe-search.tsx function GlobeSearch (line 3) | function GlobeSearch(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/globe.tsx function Globe (line 3) | function Globe(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/globe2.tsx function Globe2 (line 3) | function Globe2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/greek-temple.tsx function GreekTemple (line 3) | function GreekTemple(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/grid-layout-rows.tsx function GridLayoutRows (line 3) | function GridLayoutRows(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/grid-plus.tsx function GridPlus (line 3) | function GridPlus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/grid.tsx function GridIcon (line 3) | function GridIcon(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/grip-dots-vertical.tsx function GripDotsVertical (line 3) | function GripDotsVertical(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/heading-1.tsx function Heading1 (line 3) | function Heading1(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/heading-2.tsx function Heading2 (line 3) | function Heading2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/headset.tsx function Headset (line 3) | function Headset(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/heart-fill.tsx function HeartFill (line 3) | function HeartFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/heart.tsx function Heart (line 3) | function Heart(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/hexadecagon-star.tsx function HexadecagonStar (line 3) | function HexadecagonStar(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/history.tsx function History (line 3) | function History(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/hyperlink.tsx function Hyperlink (line 3) | function Hyperlink(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/icosahedron.tsx function Icosahedron (line 3) | function Icosahedron(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/image-icon.tsx function ImageIcon (line 3) | function ImageIcon(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/incognito.tsx function Incognito (line 3) | function Incognito(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/infinity-icon.tsx function InfinityIcon (line 3) | function InfinityIcon(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/input-field.tsx function InputField (line 3) | function InputField(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/input-password-pointer.tsx function InputPasswordPointer (line 3) | function InputPasswordPointer(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/input-password.tsx function InputPassword (line 3) | function InputPassword(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/input-search.tsx function InputSearch (line 3) | function InputSearch(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/invoice-dollar.tsx function InvoiceDollar (line 3) | function InvoiceDollar({ FILE: packages/ui/src/icons/nucleo/key.tsx function Key (line 3) | function Key(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/layout-sidebar.tsx function LayoutSidebar (line 3) | function LayoutSidebar(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/license.tsx function License (line 3) | function License(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/life-ring-fill.tsx function LifeRingFill (line 3) | function LifeRingFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/life-ring.tsx function LifeRing (line 3) | function LifeRing(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/lines-y.tsx function LinesY (line 3) | function LinesY(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/link-broken.tsx function LinkBroken (line 3) | function LinkBroken(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/link4.tsx function Link4 (line 3) | function Link4(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/location-pin.tsx function LocationPin (line 3) | function LocationPin(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/lock-fill.tsx function LockFill (line 3) | function LockFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/lock.tsx function Lock (line 3) | function Lock(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/magnifier.tsx function Magnifier (line 3) | function Magnifier(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/map-position.tsx function MapPosition (line 3) | function MapPosition(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/marketing-target.tsx function MarketingTarget (line 3) | function MarketingTarget(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/media-pause.tsx function MediaPause (line 3) | function MediaPause(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/media-play.tsx function MediaPlay (line 3) | function MediaPlay(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/megaphone.tsx function Megaphone (line 3) | function Megaphone(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/menu3.tsx function Menu3 (line 3) | function Menu3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/message-smile.tsx function MessageSmile (line 3) | function MessageSmile(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/microphone-fill.tsx function MicrophoneFill (line 3) | function MicrophoneFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/minus.tsx function Minus (line 3) | function Minus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/mobile-phone.tsx function MobilePhone (line 3) | function MobilePhone(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/money-bill.tsx function MoneyBill (line 3) | function MoneyBill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/money-bill2.tsx function MoneyBill2 (line 3) | function MoneyBill2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/money-bills2.tsx function MoneyBills2 (line 3) | function MoneyBills2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/msg.tsx function Msg (line 3) | function Msg(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/msgs-dotted.tsx function MsgsDotted (line 3) | function MsgsDotted(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/msgs-fill.tsx function MsgsFill (line 3) | function MsgsFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/msgs.tsx function Msgs (line 3) | function Msgs(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/note.tsx function Note (line 3) | function Note(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/office-building.tsx function OfficeBuilding (line 3) | function OfficeBuilding(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/page2.tsx function Page2 (line 3) | function Page2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/paintbrush.tsx function Paintbrush (line 3) | function Paintbrush(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/palette-2.tsx function Palette2 (line 3) | function Palette2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/paper-plane.tsx function PaperPlane (line 3) | function PaperPlane(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/pen-writing.tsx function PenWriting (line 3) | function PenWriting(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/pen2.tsx function Pen2 (line 3) | function Pen2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/percentage-arrow-down.tsx function PercentageArrowDown (line 3) | function PercentageArrowDown(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/photo.tsx function NucleoPhoto (line 3) | function NucleoPhoto(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/plug2.tsx function Plug2 (line 3) | function Plug2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/plus.tsx function Plus (line 3) | function Plus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/plus2.tsx function Plus2 (line 3) | function Plus2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/post.tsx function Post (line 3) | function Post(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/pyramid.tsx function Pyramid (line 3) | function Pyramid(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/qrcode.tsx function QRCode (line 3) | function QRCode(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/receipt2.tsx function Receipt2 (line 3) | function Receipt2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/referred-via.tsx function ReferredVia (line 3) | function ReferredVia(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/refresh2.tsx function Refresh2 (line 3) | function Refresh2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/robot.tsx function Robot (line 3) | function Robot(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/satellite-dish.tsx function SatelliteDish (line 3) | function SatelliteDish(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/scan-text.tsx function ScanText (line 3) | function ScanText(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/scribble.tsx function Scribble (line 3) | function Scribble(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shield-alert.tsx function ShieldAlert (line 3) | function ShieldAlert(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shield-check.tsx function ShieldCheck (line 3) | function ShieldCheck( FILE: packages/ui/src/icons/nucleo/shield-keyhole.tsx function ShieldKeyhole (line 3) | function ShieldKeyhole(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shield-slash.tsx function ShieldSlash (line 3) | function ShieldSlash(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shield-user.tsx function ShieldUser (line 3) | function ShieldUser(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shop.tsx function Shop (line 3) | function Shop(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/shuffle.tsx function Shuffle (line 3) | function Shuffle(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/sitemap.tsx function Sitemap (line 3) | function Sitemap(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/sliders.tsx function Sliders (line 3) | function Sliders(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/sort-alpha-ascending.tsx function SortAlphaAscending (line 3) | function SortAlphaAscending(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/sort-alpha-descending.tsx function SortAlphaDescending (line 3) | function SortAlphaDescending(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/sparkle3.tsx function Sparkle3 (line 3) | function Sparkle3(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-chart.tsx function SquareChart (line 3) | function SquareChart(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-check.tsx function SquareCheck (line 3) | function SquareCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-layout-grid5.tsx function SquareLayoutGrid5 (line 3) | function SquareLayoutGrid5(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-layout-grid6.tsx function SquareLayoutGrid6 (line 3) | function SquareLayoutGrid6(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-user-sparkle2.tsx function SquareUserSparkle2 (line 3) | function SquareUserSparkle2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/square-xmark.tsx function SquareXmark (line 3) | function SquareXmark(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/star-fill.tsx function StarFill (line 3) | function StarFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/star.tsx function Star (line 3) | function Star(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/stars2.tsx function Stars2 (line 3) | function Stars2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/suitcase.tsx function Suitcase (line 3) | function Suitcase(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/table-icon.tsx function TableIcon (line 3) | function TableIcon(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/table-rows2.tsx function TableRows2 (line 3) | function TableRows2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/tablet.tsx function Tablet (line 3) | function Tablet(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/tag.tsx function Tag (line 3) | function Tag(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/tags.tsx function Tags (line 3) | function Tags(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/text-bold.tsx function TextBold (line 3) | function TextBold(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/text-italic.tsx function TextItalic (line 3) | function TextItalic(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/text-strike.tsx function TextStrike (line 3) | function TextStrike(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/timer2.tsx function Timer2 (line 3) | function Timer2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/toggle2-fill.tsx function Toggle2Fill (line 3) | function Toggle2Fill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/toggles.tsx function Toggles (line 3) | function Toggles(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/trash.tsx function Trash (line 3) | function Trash(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/triangle-warning.tsx function TriangleWarning (line 3) | function TriangleWarning(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/trophy.tsx function Trophy (line 3) | function Trophy(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/tv.tsx function TV (line 3) | function TV(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/ui-card.tsx function UiCard (line 3) | function UiCard(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-arrow-right.tsx function UserArrowRight (line 3) | function UserArrowRight(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-check.tsx function UserCheck (line 3) | function UserCheck(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-crown.tsx function UserCrown (line 3) | function UserCrown(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-delete.tsx function UserDelete (line 3) | function UserDelete(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-focus.tsx function UserFocus (line 3) | function UserFocus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-minus.tsx function UserMinus (line 3) | function UserMinus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-plus.tsx function UserPlus (line 3) | function UserPlus(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-search.tsx function UserSearch (line 3) | function UserSearch(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user-xmark.tsx function UserXmark (line 3) | function UserXmark(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/user.tsx function User (line 3) | function User(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/users-fill.tsx function UsersFill (line 3) | function UsersFill(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/users-settings.tsx function UsersSettings (line 3) | function UsersSettings(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/users.tsx function Users (line 3) | function Users(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/users2.tsx function Users2 (line 3) | function Users2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/users6.tsx function Users6 (line 3) | function Users6(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/versions2.tsx function Versions2 (line 3) | function Versions2(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/views.tsx function Views (line 3) | function Views(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/watch.tsx function Watch (line 3) | function Watch(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/webhook.tsx function Webhook (line 3) | function Webhook(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/window-search.tsx function WindowSearch (line 3) | function WindowSearch(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/window-settings.tsx function WindowSettings (line 3) | function WindowSettings(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/window.tsx function Window (line 3) | function Window(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/workflow.tsx function Workflow (line 3) | function Workflow(props: SVGProps) { FILE: packages/ui/src/icons/nucleo/xmark.tsx function Xmark (line 3) | function Xmark(props: SVGProps) { FILE: packages/ui/src/icons/openai.tsx function OpenAI (line 3) | function OpenAI({ className, ...props }: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/card-amex.tsx function CardAmex (line 3) | function CardAmex(props: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/card-discover.tsx function CardDiscover (line 3) | function CardDiscover(props: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/card-mastercard.tsx function CardMastercard (line 3) | function CardMastercard(props: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/card-visa.tsx function CardVisa (line 3) | function CardVisa(props: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/paypal.tsx function Paypal (line 3) | function Paypal({ className }: { className?: string }) { FILE: packages/ui/src/icons/payment-platforms/stablecoin.tsx function Stablecoin (line 3) | function Stablecoin({ className }: { className?: string }) { FILE: packages/ui/src/icons/payment-platforms/stripe-icon.tsx function StripeIcon (line 4) | function StripeIcon(props: SVGProps) { FILE: packages/ui/src/icons/payment-platforms/stripe-link.tsx function StripeLink (line 1) | function StripeLink({ className }: { className?: string }) { FILE: packages/ui/src/icons/photo.tsx function Photo (line 1) | function Photo({ className }: { className?: string }) { FILE: packages/ui/src/icons/php.tsx function Php (line 3) | function Php(props: SVGProps) { FILE: packages/ui/src/icons/plan-feature-icons.tsx constant PLAN_FEATURE_ICONS (line 37) | const PLAN_FEATURE_ICONS = { FILE: packages/ui/src/icons/product-hunt.tsx function ProductHunt (line 3) | function ProductHunt({ className }: { className?: string }) { FILE: packages/ui/src/icons/python.tsx function Python (line 3) | function Python(props: SVGProps) { FILE: packages/ui/src/icons/raycast.tsx function Raycast (line 3) | function Raycast(props: SVGProps) { FILE: packages/ui/src/icons/reddit.tsx function Reddit (line 1) | function Reddit({ className }: { className?: string }) { FILE: packages/ui/src/icons/ruby.tsx function Ruby (line 3) | function Ruby(props: SVGProps) { FILE: packages/ui/src/icons/slack.tsx function Slack (line 3) | function Slack(props: SVGProps) { FILE: packages/ui/src/icons/sort-order.tsx function SortOrder (line 7) | function SortOrder({ FILE: packages/ui/src/icons/success.tsx function Success (line 1) | function Success({ className }: { className?: string }) { FILE: packages/ui/src/icons/tick.tsx function Tick (line 1) | function Tick({ className }: { className: string }) { FILE: packages/ui/src/icons/tiktok.tsx function TikTok (line 3) | function TikTok(props: SVGProps) { FILE: packages/ui/src/icons/twitter.tsx function Twitter (line 3) | function Twitter({ className }: { className?: string }) { FILE: packages/ui/src/icons/typescript.tsx function Typescript (line 3) | function Typescript(props: SVGProps) { FILE: packages/ui/src/icons/unsplash.tsx function Unsplash (line 1) | function Unsplash({ className }: { className?: string }) { FILE: packages/ui/src/icons/user-clock.tsx function UserClock (line 3) | function UserClock(props: SVGProps) { FILE: packages/ui/src/icons/youtube.tsx function YouTube (line 3) | function YouTube({ className }: { className?: string }) { FILE: packages/ui/src/input.tsx type InputProps (line 6) | interface InputProps FILE: packages/ui/src/link-logo.tsx function LinkLogo (line 6) | function LinkLogo({ FILE: packages/ui/src/link-preview.tsx function LinkPreview (line 12) | function LinkPreview({ defaultUrl }: { defaultUrl?: string }) { function LinkPreviewPlaceholder (line 111) | function LinkPreviewPlaceholder({ FILE: packages/ui/src/logo.tsx function Logo (line 3) | function Logo({ className }: { className?: string }) { FILE: packages/ui/src/max-width-wrapper.tsx function MaxWidthWrapper (line 4) | function MaxWidthWrapper({ FILE: packages/ui/src/menu-item.tsx type MenuItemProps (line 32) | type MenuItemProps = PropsWithChildren< function MenuItem (line 43) | function MenuItem({ FILE: packages/ui/src/mini-area-chart.tsx type MiniAreaChartProps (line 12) | type MiniAreaChartProps = { function MiniAreaChart (line 19) | function MiniAreaChart(props: MiniAreaChartProps) { function MiniAreaChartInner (line 32) | function MiniAreaChartInner({ FILE: packages/ui/src/modal.tsx function Modal (line 11) | function Modal({ function DrawerIsland (line 138) | function DrawerIsland() { FILE: packages/ui/src/motion-constants.tsx constant FRAMER_MOTION_LIST_ITEM_VARIANTS (line 3) | const FRAMER_MOTION_LIST_ITEM_VARIANTS = { constant STAGGER_CHILD_VARIANTS (line 8) | const STAGGER_CHILD_VARIANTS = { constant TAB_ITEM_ANIMATION_SETTINGS (line 13) | const TAB_ITEM_ANIMATION_SETTINGS = { FILE: packages/ui/src/multi-value-input.tsx function parseCsvLikeValues (line 17) | function parseCsvLikeValues(raw: string): string[] { type MultiValueInputRef (line 47) | interface MultiValueInputRef { type MultiValueInputProps (line 52) | interface MultiValueInputProps { method commitPendingInput (line 130) | commitPendingInput() { FILE: packages/ui/src/nav-wordmark.tsx function NavWordmark (line 27) | function NavWordmark({ function ContextMenuButton (line 133) | function ContextMenuButton({ className, ...rest }: ButtonProps) { FILE: packages/ui/src/nav/content/graphics/analytics-graphic.tsx constant CUSTOMER (line 20) | const CUSTOMER = { function AnalyticsGraphic (line 33) | function AnalyticsGraphic({ className }: { className?: string }) { FILE: packages/ui/src/nav/content/graphics/dub-wireframe-graphic.tsx function DubWireframeGraphic (line 4) | function DubWireframeGraphic({ FILE: packages/ui/src/nav/content/graphics/links-graphic.tsx function LinksGraphic (line 4) | function LinksGraphic(props: SVGProps) { FILE: packages/ui/src/nav/content/graphics/partners-graphic.tsx constant PARTNERS (line 3) | const PARTNERS = [ function PartnersGraphic (line 42) | function PartnersGraphic({ className }: { className?: string }) { FILE: packages/ui/src/nav/content/product-content.tsx function ProductContent (line 84) | function ProductContent({ domain }: { domain: string }) { FILE: packages/ui/src/nav/content/resources-content.tsx function ResourcesContent (line 30) | function ResourcesContent({ domain }: { domain: string }) { FILE: packages/ui/src/nav/content/shared.tsx function ContentLinkCard (line 23) | function ContentLinkCard({ function ContentIcon (line 67) | function ContentIcon({ function ToolLinkCard (line 79) | function ToolLinkCard({ function LargeLinkCard (line 101) | function LargeLinkCard({ FILE: packages/ui/src/nav/content/solutions-content.tsx function SolutionsContent (line 34) | function SolutionsContent({ domain }: { domain: string }) { FILE: packages/ui/src/nav/nav-mobile.tsx function NavMobile (line 43) | function NavMobile({ function AuthButton (line 290) | function AuthButton({ FILE: packages/ui/src/nav/nav.tsx type NavTheme (line 19) | type NavTheme = "light" | "dark"; function Nav (line 87) | function Nav({ function AnimatedChevron (line 250) | function AnimatedChevron(props: SVGProps) { function WithTrigger (line 272) | function WithTrigger({ FILE: packages/ui/src/number-stepper.tsx type NumberStepperProps (line 13) | type NumberStepperProps = { function NumberStepper (line 27) | function NumberStepper({ FILE: packages/ui/src/pagination-controls.tsx function PaginationControls (line 11) | function PaginationControls({ FILE: packages/ui/src/popover.tsx type PopoverProps (line 9) | type PopoverProps = PropsWithChildren<{ function Popover (line 26) | function Popover({ FILE: packages/ui/src/popup.tsx function Popup (line 12) | function Popup({ FILE: packages/ui/src/progress-bar.tsx function ProgressBar (line 6) | function ProgressBar({ FILE: packages/ui/src/progress-circle.tsx function ProgressCircle (line 3) | function ProgressCircle({ FILE: packages/ui/src/progressive-blur.tsx type Side (line 6) | type Side = "left" | "right" | "top" | "bottom"; function ProgressiveBlur (line 18) | function ProgressiveBlur({ FILE: packages/ui/src/rich-text-area/index.tsx function RichTextArea (line 9) | function RichTextArea({ FILE: packages/ui/src/rich-text-area/rich-text-provider.tsx constant PROSE_STYLES (line 21) | const PROSE_STYLES = { constant FEATURES (line 28) | const FEATURES = [ type RichTextProviderProps (line 38) | type RichTextProviderProps = PropsWithChildren<{ type RichTextAreaProviderRef (line 68) | type RichTextAreaProviderRef = { method addAttributes (line 193) | addAttributes() { method renderHTML (line 207) | renderHTML({ node }: { node: any }) { method renderText (line 225) | renderText({ node }: { node: any }) { function useRichTextContext (line 279) | function useRichTextContext() { FILE: packages/ui/src/rich-text-area/rich-text-toolbar.tsx function RichTextToolbar (line 17) | function RichTextToolbar({ function LinkButton (line 141) | function LinkButton() { type RichTextToolbarButtonProps (line 178) | type RichTextToolbarButtonProps = { FILE: packages/ui/src/rich-text-area/variables.tsx method onUpdate (line 76) | onUpdate(props: any) { method onKeyDown (line 84) | onKeyDown(props: any) { method onExit (line 96) | onExit() { FILE: packages/ui/src/scroll-container.tsx function ScrollContainer (line 5) | function ScrollContainer({ FILE: packages/ui/src/sheet.tsx function SheetRoot (line 7) | function SheetRoot({ function Title (line 58) | function Title({ className, ...rest }: ComponentProps) { function Close (line 71) | function Close(props: ComponentProps) { FILE: packages/ui/src/shimmer-dots.tsx constant TARGET_FPS (line 49) | const TARGET_FPS = 60; constant FRAME_INTERVAL (line 50) | const FRAME_INTERVAL = 1000 / TARGET_FPS; function ShimmerDots (line 52) | function ShimmerDots({ FILE: packages/ui/src/slider.tsx type SliderProps (line 7) | interface SliderProps { function Slider (line 19) | function Slider({ FILE: packages/ui/src/smart-datetime-picker.tsx type SmartDateTimePickerProps (line 9) | interface SmartDateTimePickerProps { function SmartDateTimePicker (line 19) | function SmartDateTimePicker({ FILE: packages/ui/src/status-badge.tsx type BadgeProps (line 45) | interface BadgeProps function StatusBadge (line 52) | function StatusBadge({ FILE: packages/ui/src/switch.tsx function Switch (line 8) | function Switch({ FILE: packages/ui/src/tab-select.tsx function TabSelect (line 34) | function TabSelect({ FILE: packages/ui/src/table/edit-columns-button.tsx function EditColumnsButton (line 10) | function EditColumnsButton({ table }: { table: Table }) { FILE: packages/ui/src/table/selection-toolbar.tsx function SelectionToolbar (line 7) | function SelectionToolbar({ FILE: packages/ui/src/table/table.tsx constant SELECT_COLUMN_WIDTH (line 33) | const SELECT_COLUMN_WIDTH = 48; constant MENU_COLUMN_WIDTH (line 34) | const MENU_COLUMN_WIDTH = 40; constant FIXED_UTILITY_COLUMN_IDS (line 35) | const FIXED_UTILITY_COLUMN_IDS = new Set(["select", "menu"]); function useTable (line 63) | function useTable( type ResizableTableRowProps (line 300) | type ResizableTableRowProps = { function Table (line 433) | function Table({ function HeaderWithTooltip (line 890) | function HeaderWithTooltip({ FILE: packages/ui/src/table/types.ts type BaseTableProps (line 21) | type BaseTableProps = { type UseTableProps (line 72) | type UseTableProps = BaseTableProps & type TableProps (line 82) | type TableProps = BaseTableProps & FILE: packages/ui/src/table/use-table-pagination.tsx function useTablePagination (line 4) | function useTablePagination({ FILE: packages/ui/src/timestamp-tooltip.tsx constant DAY_MS (line 9) | const DAY_MS = 24 * 60 * 60 * 1000; constant MONTH_MS (line 10) | const MONTH_MS = 30 * DAY_MS; type TimestampTooltipProps (line 12) | type TimestampTooltipProps = { function getLocalTimeZone (line 19) | function getLocalTimeZone(): string { function TimestampTooltip (line 28) | function TimestampTooltip({ function TimestampTooltipContent (line 52) | function TimestampTooltipContent({ FILE: packages/ui/src/toggle-group.tsx type ToggleOption (line 8) | interface ToggleOption { function ToggleGroup (line 15) | function ToggleGroup({ FILE: packages/ui/src/tooltip-advanced-link-features.tsx function AdvancedLinkFeaturesTooltip (line 31) | function AdvancedLinkFeaturesTooltip() { FILE: packages/ui/src/tooltip.tsx function TooltipProvider (line 14) | function TooltipProvider({ children }: { children: ReactNode }) { type TooltipProps (line 56) | interface TooltipProps function Tooltip (line 68) | function Tooltip({ function TooltipContent (line 121) | function TooltipContent({ function InfoTooltip (line 161) | function InfoTooltip(props: Omit) { function BadgeTooltip (line 169) | function BadgeTooltip({ children, content, ...props }: TooltipProps) { function ButtonTooltip (line 184) | function ButtonTooltip({ function DynamicTooltipWrapper (line 208) | function DynamicTooltipWrapper({ function ScrollableTooltipContent (line 224) | function ScrollableTooltipContent({ FILE: packages/ui/src/utm-builder.tsx constant UTM_PARAMETERS (line 16) | const UTM_PARAMETERS = [ function UTMBuilder (line 61) | function UTMBuilder({ FILE: packages/ui/src/wordmark.tsx function Wordmark (line 3) | function Wordmark({ className }: { className?: string }) { FILE: packages/ui/tsup.config.ts method esbuildOptions (line 11) | esbuildOptions(options) { FILE: packages/utils/src/constants/connect-supported-countries.ts constant CONNECT_SUPPORTED_COUNTRIES (line 2) | const CONNECT_SUPPORTED_COUNTRIES = [ FILE: packages/utils/src/constants/continents.ts constant CONTINENTS (line 1) | const CONTINENTS: { [key: string]: string } = { constant CONTINENT_CODES (line 11) | const CONTINENT_CODES = Object.keys(CONTINENTS) as [string, ...string[]]; constant COUNTRIES_TO_CONTINENTS (line 13) | const COUNTRIES_TO_CONTINENTS: { [key: string]: string } = { FILE: packages/utils/src/constants/countries.ts constant COUNTRIES (line 1) | const COUNTRIES: { [key: string]: string } = { constant COUNTRY_CODES (line 254) | const COUNTRY_CODES = Object.keys(COUNTRIES) as [string, ...string[]]; constant EU_COUNTRY_CODES (line 256) | const EU_COUNTRY_CODES = [ FILE: packages/utils/src/constants/country-currency-codes.ts constant COUNTRY_CURRENCY_CODES (line 1) | const COUNTRY_CURRENCY_CODES: { [key: string]: string } = { FILE: packages/utils/src/constants/country-phone-codes.ts constant COUNTRY_PHONE_CODES (line 1) | const COUNTRY_PHONE_CODES: { [key: string]: number } = { FILE: packages/utils/src/constants/domains.ts constant SECOND_LEVEL_DOMAINS (line 1) | const SECOND_LEVEL_DOMAINS = new Set([ constant SPECIAL_APEX_DOMAINS (line 11) | const SPECIAL_APEX_DOMAINS = new Set([ FILE: packages/utils/src/constants/dub-domains.ts constant DUB_DOMAINS (line 3) | const DUB_DOMAINS = [ constant DUB_DOMAINS_ARRAY (line 155) | const DUB_DOMAINS_ARRAY = DUB_DOMAINS.map((domain) => domain.slug); constant DUB_DEMO_LINKS (line 157) | const DUB_DEMO_LINKS = [ FILE: packages/utils/src/constants/integrations.ts constant SLACK_INTEGRATION_ID (line 1) | const SLACK_INTEGRATION_ID = "clzu59rx9000110bm5fnlzwuj"; constant STRIPE_INTEGRATION_ID (line 2) | const STRIPE_INTEGRATION_ID = "clzra1ya60001wnj4a89zcg9h"; constant SEGMENT_INTEGRATION_ID (line 3) | const SEGMENT_INTEGRATION_ID = "int_zGnSElTzimbz20OWnXerPoKv"; constant ZAPIER_INTEGRATION_ID (line 4) | const ZAPIER_INTEGRATION_ID = "clzlmz336000fjeqynwhfv8vo"; constant SHOPIFY_INTEGRATION_ID (line 5) | const SHOPIFY_INTEGRATION_ID = "int_iWOtrZgmcyU6XDwKr4AYYqLN"; constant HUBSPOT_INTEGRATION_ID (line 6) | const HUBSPOT_INTEGRATION_ID = "int_ffw3qgrFAahY6qs1hXaH3wHS"; FILE: packages/utils/src/constants/layout.ts constant ALL_TOOLS (line 1) | const ALL_TOOLS = [ FILE: packages/utils/src/constants/localhost.ts constant LOCALHOST_GEO_DATA (line 1) | const LOCALHOST_GEO_DATA = { constant LOCALHOST_IP (line 9) | const LOCALHOST_IP = "63.141.57.109"; FILE: packages/utils/src/constants/main.ts constant APP_NAME (line 1) | const APP_NAME = process.env.NEXT_PUBLIC_APP_NAME || "Dub"; constant SHORT_DOMAIN (line 3) | const SHORT_DOMAIN = constant APP_HOSTNAMES (line 6) | const APP_HOSTNAMES = new Set([ constant APP_DOMAIN (line 13) | const APP_DOMAIN = constant APP_DOMAIN_WITH_NGROK (line 20) | const APP_DOMAIN_WITH_NGROK = constant API_HOSTNAMES (line 27) | const API_HOSTNAMES = new Set([ constant API_DOMAIN (line 35) | const API_DOMAIN = constant ADMIN_HOSTNAMES (line 42) | const ADMIN_HOSTNAMES = new Set([ constant PARTNERS_HOSTNAMES (line 48) | const PARTNERS_HOSTNAMES = new Set([ constant PARTNERS_DOMAIN (line 55) | const PARTNERS_DOMAIN = constant PARTNERS_DOMAIN_WITH_NGROK (line 62) | const PARTNERS_DOMAIN_WITH_NGROK = constant DUB_LOGO (line 69) | const DUB_LOGO = "https://assets.dub.co/logo.png"; constant DUB_LOGO_SQUARE (line 70) | const DUB_LOGO_SQUARE = "https://assets.dub.co/logo-square.png"; constant DUB_QR_LOGO (line 71) | const DUB_QR_LOGO = "https://assets.dub.co/logo.png"; constant DUB_WORDMARK (line 72) | const DUB_WORDMARK = "https://assets.dub.co/wordmark.png"; constant DUB_THUMBNAIL (line 73) | const DUB_THUMBNAIL = "https://assets.dub.co/thumbnail.jpg"; constant DUB_WORKSPACE_ID (line 75) | const DUB_WORKSPACE_ID = "cl7pj5kq4006835rbjlt2ofka"; constant ACME_WORKSPACE_ID (line 76) | const ACME_WORKSPACE_ID = "clrei1gld0002vs9mzn93p8ik"; constant ACME_PROGRAM_ID (line 77) | const ACME_PROGRAM_ID = "prog_CYCu7IMAapjkRpTnr8F1azjN"; constant LEGAL_WORKSPACE_ID (line 78) | const LEGAL_WORKSPACE_ID = "clrflia0j0000vs7sqfhz9c7q"; constant LEGAL_USER_ID (line 79) | const LEGAL_USER_ID = "clqei1lgc0000vsnzi01pbf47"; constant R2_URL (line 81) | const R2_URL = process.env.STORAGE_BASE_URL || "https://dubassets.com"; FILE: packages/utils/src/constants/middleware.ts constant DEFAULT_REDIRECTS (line 1) | const DEFAULT_REDIRECTS = { constant DUB_HEADERS (line 16) | const DUB_HEADERS = { constant REDIRECTION_QUERY_PARAM (line 20) | const REDIRECTION_QUERY_PARAM = "redir_url"; FILE: packages/utils/src/constants/misc.ts constant DEFAULT_LINK_PROPS (line 1) | const DEFAULT_LINK_PROPS: any = { constant GOOGLE_FAVICON_URL (line 26) | const GOOGLE_FAVICON_URL = constant OG_AVATAR_URL (line 29) | const OG_AVATAR_URL = "https://api.dub.co/og/avatar/"; constant DEFAULT_PAGINATION_LIMIT (line 31) | const DEFAULT_PAGINATION_LIMIT = 100; constant TWO_WEEKS_IN_SECONDS (line 33) | const TWO_WEEKS_IN_SECONDS = 60 * 60 * 24 * 14; constant DUB_FOUNDING_DATE (line 35) | const DUB_FOUNDING_DATE = new Date("2022-09-22T00:00:00.000Z"); constant INFINITY_NUMBER (line 37) | const INFINITY_NUMBER = 1000000000; FILE: packages/utils/src/constants/paypal-supported-countries.ts constant PAYPAL_SUPPORTED_COUNTRIES_FULL (line 4) | const PAYPAL_SUPPORTED_COUNTRIES_FULL = [ constant PAYPAL_SUPPORTED_COUNTRIES (line 101) | const PAYPAL_SUPPORTED_COUNTRIES = FILE: packages/utils/src/constants/pricing/pricing-plan-compare-features.tsx constant PRICING_PLAN_COMPARE_FEATURES (line 6) | const PRICING_PLAN_COMPARE_FEATURES: { FILE: packages/utils/src/constants/pricing/pricing-plan-main-features.ts type Plan (line 5) | type Plan = (typeof PLANS)[number]; type HeroFeature (line 7) | type HeroFeature = { constant PRICING_PLAN_MAIN_FEATURES (line 61) | const PRICING_PLAN_MAIN_FEATURES = { FILE: packages/utils/src/constants/pricing/pricing-plan-taglines.ts constant PRICING_PLAN_TAGLINES (line 1) | const PRICING_PLAN_TAGLINES = { FILE: packages/utils/src/constants/pricing/pricing-plans.tsx type PlanFeature (line 4) | type PlanFeature = { type PlanDetails (line 14) | type PlanDetails = { constant LEGACY_PRO_PRICE_IDS (line 53) | const LEGACY_PRO_PRICE_IDS = [ constant PRO_TIER_PRICE_IDS (line 62) | const PRO_TIER_PRICE_IDS = { constant NEW_PRO_PRICE_IDS (line 72) | const NEW_PRO_PRICE_IDS = [ constant LEGACY_BUSINESS_PRICE_IDS (line 80) | const LEGACY_BUSINESS_PRICE_IDS = [ constant BUSINESS_TIER_PRICE_IDS (line 90) | const BUSINESS_TIER_PRICE_IDS = { constant NEW_BUSINESS_PRICE_IDS (line 100) | const NEW_BUSINESS_PRICE_IDS = [ constant ADVANCED_TIER_PRICE_IDS (line 108) | const ADVANCED_TIER_PRICE_IDS = { constant ADVANCED_PRICE_IDS (line 123) | const ADVANCED_PRICE_IDS = [ constant PLANS (line 131) | const PLANS: PlanDetails[] = [ constant FREE_PLAN (line 493) | const FREE_PLAN = PLANS.find((plan) => plan.name === "Free")!; constant PRO_PLAN (line 494) | const PRO_PLAN = PLANS.find((plan) => plan.name === "Pro")!; constant BUSINESS_PLAN (line 495) | const BUSINESS_PLAN = PLANS.find((plan) => plan.name === "Business")!; constant ADVANCED_PLAN (line 496) | const ADVANCED_PLAN = PLANS.find((plan) => plan.name === "Advanced")!; constant ENTERPRISE_PLAN (line 497) | const ENTERPRISE_PLAN = PLANS.find( constant SELF_SERVE_PAID_PLANS (line 501) | const SELF_SERVE_PAID_PLANS = PLANS.filter((p) => constant FREE_WORKSPACES_LIMIT (line 505) | const FREE_WORKSPACES_LIMIT = 2; FILE: packages/utils/src/constants/regions.ts constant REGIONS (line 1) | const REGIONS: { [key: string]: string } = { constant REGION_CODES (line 3487) | const REGION_CODES = Object.keys(REGIONS) as [string, ...string[]]; FILE: packages/utils/src/constants/reserved-slugs.ts constant RESERVED_SLUGS (line 7) | const RESERVED_SLUGS = [ FILE: packages/utils/src/constants/saml.ts constant SAML_PROVIDERS (line 1) | const SAML_PROVIDERS = [ FILE: packages/utils/src/constants/stablecoin-supported-countries.ts constant STABLECOIN_SUPPORTED_COUNTRIES (line 1) | const STABLECOIN_SUPPORTED_COUNTRIES = [ FILE: packages/utils/src/functions/avatar.ts constant AVATAR_THEMES (line 1) | const AVATAR_THEMES = [ function hashCode (line 30) | function hashCode(str: string) { function getAvatarTheme (line 40) | function getAvatarTheme( FILE: packages/utils/src/functions/capitalize.ts function capitalize (line 2) | function capitalize(str?: string | null) { FILE: packages/utils/src/functions/cn.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: packages/utils/src/functions/construct-metadata.ts function constructMetadata (line 3) | function constructMetadata({ FILE: packages/utils/src/functions/currency-formatter.ts type CurrencyFormatterOptions (line 4) | interface CurrencyFormatterOptions extends Intl.NumberFormatOptions { FILE: packages/utils/src/functions/deep-equal.ts type DeepEqual (line 1) | type DeepEqual = ( FILE: packages/utils/src/functions/fetch-with-retry.ts function fetchWithRetry (line 1) | async function fetchWithRetry( FILE: packages/utils/src/functions/fetch-with-timeout.ts function fetchWithTimeout (line 1) | function fetchWithTimeout( FILE: packages/utils/src/functions/fetcher.ts type SWRError (line 1) | interface SWRError extends Error { function fetcher (line 6) | async function fetcher( FILE: packages/utils/src/functions/format-file-size.ts function formatFileSize (line 7) | function formatFileSize(bytes: number, decimals: number = 2): string { FILE: packages/utils/src/functions/group-by.ts function groupBy (line 1) | function groupBy( FILE: packages/utils/src/functions/hash-string.ts function hashStringSHA256 (line 1) | async function hashStringSHA256(str: string) { FILE: packages/utils/src/functions/is-click-on-interactive-child.ts function isClickOnInteractiveChild (line 3) | function isClickOnInteractiveChild(e: MouseEvent) { FILE: packages/utils/src/functions/link-constructor.ts function linkConstructor (line 3) | function linkConstructor({ function linkConstructorSimple (line 31) | function linkConstructorSimple({ FILE: packages/utils/src/functions/nformatter.ts function nFormatter (line 1) | function nFormatter( FILE: packages/utils/src/functions/parse-filter-value.ts type FilterOperator (line 1) | type FilterOperator = "IS" | "IS_NOT" | "IS_ONE_OF" | "IS_NOT_ONE_OF"; type SQLOperator (line 2) | type SQLOperator = "IN" | "NOT IN"; type ParsedFilter (line 4) | interface ParsedFilter { function parseFilterValue (line 25) | function parseFilterValue( function buildFilterValue (line 63) | function buildFilterValue(parsed: ParsedFilter): string { FILE: packages/utils/src/functions/pretty-print.ts function prettyPrint (line 1) | function prettyPrint(value: any, indent = 2) { FILE: packages/utils/src/functions/promises.ts function logPromiseResults (line 9) | function logPromiseResults( FILE: packages/utils/src/functions/punycode.ts function punycode (line 3) | function punycode(str?: string | null) { function punyEncode (line 12) | function punyEncode(str?: string | null) { FILE: packages/utils/src/functions/regex-escape.ts function regexEscape (line 5) | function regexEscape(str: string) { FILE: packages/utils/src/functions/text-fetcher.ts type SWRError (line 1) | interface SWRError extends Error { function textFetcher (line 6) | async function textFetcher( FILE: packages/utils/src/functions/to-cents-number.ts function toCentsNumber (line 5) | function toCentsNumber( FILE: packages/utils/src/functions/urls.ts function buildUrl (line 190) | function buildUrl(