Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/web/lib/rewardful/import-affiliates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { prisma } from "@dub/prisma";
import { Program } from "@dub/prisma/client";
import { nanoid } from "@dub/utils";
import { createId } from "../api/create-id";
import { bulkCreateLinks } from "../api/links";
import { bulkCreateLinks } from "../api/links/bulk-create-links";
import { RewardfulApi } from "./api";
import { MAX_BATCHES, rewardfulImporter } from "./importer";
import { RewardfulAffiliate } from "./types";
Expand Down
2 changes: 1 addition & 1 deletion apps/web/lib/rewardful/import-commissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { prisma } from "@dub/prisma";
import { nanoid } from "@dub/utils";
import { CommissionStatus, Program } from "@prisma/client";
import { createId } from "../api/create-id";
import { getLeadEvent } from "../tinybird";
import { getLeadEvent } from "../tinybird/get-lead-event";
import { recordSaleWithTimestamp } from "../tinybird/record-sale";
import { clickEventSchemaTB } from "../zod/schemas/clicks";
import { RewardfulApi } from "./api";
Expand Down
14 changes: 6 additions & 8 deletions apps/web/lib/tinybird/record-click.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ import { geolocation, ipAddress } from "@vercel/functions";
import { userAgent } from "next/server";
import { clickCache } from "../api/links/click-cache";
import { ExpandedLink, transformLink } from "../api/links/utils/transform-link";
import {
detectBot,
detectQr,
getFinalUrlForRecordClick,
getIdentityHash,
} from "../middleware/utils";
import { conn } from "../planetscale";
import { detectBot } from "../middleware/utils/detect-bot";
import { detectQr } from "../middleware/utils/detect-qr";
import { getFinalUrlForRecordClick } from "../middleware/utils/get-final-url";
import { getIdentityHash } from "../middleware/utils/get-identity-hash";
import { conn } from "../planetscale/connection";
import { WorkspaceProps } from "../types";
import { redis } from "../upstash";
import { redis } from "../upstash/redis";
import { webhookCache } from "../webhook/cache";
import { sendWebhooks } from "../webhook/qstash";
import { transformClickEventData } from "../webhook/transform";
Expand Down
2 changes: 1 addition & 1 deletion apps/web/lib/tinybird/record-link.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import z from "@/lib/zod";
import { ExpandedLink } from "../api/links";
import { ExpandedLink } from "../api/links/utils/transform-link";
import { decodeKeyIfCaseSensitive } from "../api/links/case-sensitivity";
import { prefixWorkspaceId } from "../api/workspace-id";
import { tb } from "./client";
Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/backfill-partner-links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { prisma } from "@dub/prisma";
import "dotenv-flow/config";
import { includeTags } from "../lib/api/links/include-tags";
import { backfillLinkCommissions } from "../lib/api/partners/backfill-link-commissions";
import { recordLink } from "../lib/tinybird";
import { recordLink } from "../lib/tinybird/record-link";

// script to backfill partner links (including sales events if present)
async function main() {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/migrate-program-invites.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { prisma } from "@dub/prisma";
import { EventType } from "@prisma/client";
import "dotenv-flow/config";
import { getEvents } from "../lib/analytics/get-events";
import { recordLink } from "../lib/tinybird";
import { recordLink } from "../lib/tinybird/record-link";

async function main() {
const programInvites = await prisma.programInvite.findMany({
Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/move-links-to-folder.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { prisma } from "@dub/prisma";
import "dotenv-flow/config";
import { includeTags } from "../lib/api/links/include-tags";
import { recordLink } from "../lib/tinybird";
import { recordLink } from "../lib/tinybird/record-link";

// Move the program links to a folder.
async function main() {
Expand Down
3 changes: 2 additions & 1 deletion apps/web/scripts/partners/backfill-attribution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import { generateRandomName } from "@/lib/names";
import { prisma } from "@dub/prisma";
import { DUB_WORKSPACE_ID, nanoid } from "@dub/utils";
import "dotenv-flow/config";
import { getClickEvent, recordLeadWithTimestamp } from "../../lib/tinybird";
import { getClickEvent } from "../../lib/tinybird/get-click-event";
import { recordLeadWithTimestamp } from "../../lib/tinybird/record-lead";

const referredUserEmail = "xxx@x.com";
const referredWorkspaceSlug = "xxx";
Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/purge-old-link-cache.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { prisma } from "@dub/prisma";
import "dotenv-flow/config";
import { redis } from "../lib/upstash";
import { redis } from "../lib/upstash/redis";

const batch = 3;

Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/sitemap-importer.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { createId } from "@/lib/api/create-id";
import "dotenv-flow/config";
import { XMLParser } from "fast-xml-parser";
import { bulkCreateLinks } from "../lib/api/links";
import { bulkCreateLinks } from "../lib/api/links/bulk-create-links";

async function fetchSitemap(url: string) {
const response = await fetch(url);
Expand Down
2 changes: 1 addition & 1 deletion apps/web/scripts/testimonial/update-links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { prisma } from "@dub/prisma";
import "dotenv-flow/config";
import { linkCache } from "../../lib/api/links/cache";
import { includeTags } from "../../lib/api/links/include-tags";
import { recordLink } from "../../lib/tinybird";
import { recordLink } from "../../lib/tinybird/record-link";

// update links
async function main() {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/analytics/analytics-options.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Popover } from "@dub/ui";
import { cn } from "@dub/utils";
import { useState } from "react";
import { ThreeDots } from "../shared/icons";
import ThreeDots from "../shared/icons/three-dots";
import ExportButton from "./export-button";

export default function AnalyticsOptions() {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/analytics/events/events-options.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Button, Popover } from "@dub/ui";
import { useContext, useState } from "react";
import { ThreeDots } from "../../shared/icons";
import ThreeDots from "../../shared/icons/three-dots";
import { EventsContext } from "./events-provider";
import ExportButton from "./export-button";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/domains/free-dot-link-banner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import useWorkspace from "@/lib/swr/use-workspace";
import { Grid, useLocalStorage } from "@dub/ui";
import { LinkBroken } from "@dub/ui/icons";
import { useRegisterDomainModal } from "../modals/register-domain-modal";
import { X } from "../shared/icons";
import X from "../shared/icons/x";

export function FreeDotLinkBanner() {
const { id: workspaceId } = useWorkspace();
Expand Down
3 changes: 2 additions & 1 deletion apps/web/ui/domains/register-domain-form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import Link from "next/link";
import { FormEvent, useEffect, useState } from "react";
import { toast } from "sonner";
import { useDebounce } from "use-debounce";
import { AlertCircleFill, CheckCircleFill } from "../shared/icons";
import AlertCircleFill from "../shared/icons/alert-circle-fill";
import CheckCircleFill from "../shared/icons/check-circle-fill";
import { ProBadgeTooltip } from "../shared/pro-badge-tooltip";

interface DomainSearchResult {
Expand Down
4 changes: 3 additions & 1 deletion apps/web/ui/folders/folder-actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ import { toast } from "sonner";
import { useDeleteFolderModal } from "../modals/delete-folder-modal";
import { useRenameFolderModal } from "../modals/rename-folder-modal";
import { useDefaultFolderModal } from "../modals/set-default-folder-modal";
import { Chart, Delete, ThreeDots } from "../shared/icons";
import Chart from "../shared/icons/chart";
import Delete from "../shared/icons/delete";
import ThreeDots from "../shared/icons/three-dots";
import { useFolderPermissionsPanel } from "./folder-permissions-panel";
import { isDefaultFolder } from "./utils";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/folders/folder-permissions-panel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { toast } from "sonner";
import useSWR, { mutate } from "swr";
import { Drawer } from "vaul";
import { AnimatedEmptyState } from "../shared/animated-empty-state";
import { X } from "../shared/icons";
import X from "../shared/icons/x";
import { FolderIcon } from "./folder-icon";
import { RequestFolderEditAccessButton } from "./request-edit-button";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/links/destination-url-input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
import { getParamsFromURL, getUrlFromString } from "@dub/utils";
import { forwardRef, HTMLProps, ReactNode, useId } from "react";
import { useFormContext } from "react-hook-form";
import { AlertCircleFill } from "../shared/icons";
import AlertCircleFill from "../shared/icons/alert-circle-fill";
import { ProBadgeTooltip } from "../shared/pro-badge-tooltip";
import { LinkFormData } from "./link-builder/link-builder-provider";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/links/link-controls.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { useLinkBuilder } from "../modals/link-builder";
import { useLinkQRModal } from "../modals/link-qr-modal";
import { useMoveLinkToFolderModal } from "../modals/move-link-to-folder-modal";
import { useTransferLinkModal } from "../modals/transfer-link-modal";
import { ThreeDots } from "../shared/icons";
import ThreeDots from "../shared/icons/three-dots";

const OPTIONS = {
edit: "e",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/links/links-toolbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { useLinkBuilder } from "../modals/link-builder";
import { useLinkConversionTrackingModal } from "../modals/link-conversion-tracking-modal";
import { useMoveLinkToFolderModal } from "../modals/move-link-to-folder-modal";
import { useTagLinkModal } from "../modals/tag-link-modal";
import { X } from "../shared/icons";
import X from "../shared/icons/x";
import ArchivedLinksHint from "./archived-links-hint";
import { useLinkSelection } from "./link-selection-provider";
import { LinksListContext, ResponseLink } from "./links-container";
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/links/short-link-input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import {
import { toast } from "sonner";
import { useDebounce } from "use-debounce";
import { FreeDotLinkBanner } from "../domains/free-dot-link-banner";
import { AlertCircleFill } from "../shared/icons";
import AlertCircleFill from "../shared/icons/alert-circle-fill";
import { UpgradeRequiredToast } from "../shared/upgrade-required-toast";
import { useAvailableDomains } from "./use-available-domains";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/modals/program-welcome-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
useRef,
useState,
} from "react";
import { CheckCircleFill } from "../shared/icons";
import CheckCircleFill from "../shared/icons/check-circle-fill";
import { ModalHero } from "../shared/modal-hero";

const NEXT_STEPS = [
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/webhooks/webhook-events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { CircleCheck, CircleHalfDottedClock, Copy } from "@dub/ui/icons";
import { PropsWithChildren, useEffect, useState } from "react";
import { Highlighter } from "shiki";
import { toast } from "sonner";
import { X } from "../shared/icons";
import X from "../shared/icons/x";

export type EventListProps = PropsWithChildren<{
events: WebhookEventProps[];
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/workspaces/invite-teammates-form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import posthog from "posthog-js";
import { useFieldArray, useForm } from "react-hook-form";
import { toast } from "sonner";
import { mutate } from "swr";
import { CheckCircleFill } from "../shared/icons";
import CheckCircleFill from "../shared/icons/check-circle-fill";
import { UpgradeRequiredToast } from "../shared/upgrade-required-toast";

type FormData = {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/ui/workspaces/subscription-menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { Command } from "cmdk";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { toast } from "sonner";
import { ThreeDots } from "../shared/icons";
import ThreeDots from "../shared/icons/three-dots";

export default function SubscriptionMenu() {
const { id: workspaceId } = useWorkspace();
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/accordion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { cn } from "@dub/utils";
import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDown } from "lucide-react";
import * as React from "react";
import { Plus } from "./icons";
import { Plus } from "./icons/nucleo/plus";

const Accordion = AccordionPrimitive.Root;

Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/animated-size-container.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
forwardRef,
useRef,
} from "react";
import { useResizeObserver } from "./hooks";
import { useResizeObserver } from "./hooks/use-resize-observer";

type AnimatedSizeContainerProps = PropsWithChildren<{
width?: boolean;
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/button.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cn } from "@dub/utils";
import { VariantProps, cva } from "class-variance-authority";
import { ReactNode, forwardRef } from "react";
import { LoadingSpinner } from "./icons";
import { LoadingSpinner } from "./icons/loading-spinner";
import { Tooltip } from "./tooltip";

export const buttonVariants = cva("transition-all", {
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/src/charts/funnel-chart.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Area } from "@visx/shape";
import { Text } from "@visx/text";
import { motion } from "framer-motion";
import { Fragment, useMemo, useRef, useState } from "react";
import { useMediaQuery } from "../hooks";
import { useMediaQuery } from "../hooks/use-media-query";

const layers = [
{
Expand Down
17 changes: 8 additions & 9 deletions packages/ui/src/combobox/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,14 @@ import {
} from "react";
import { AnimatedSizeContainer } from "../animated-size-container";
import { Button, ButtonProps } from "../button";
import { useMediaQuery, useScrollProgress } from "../hooks";
import {
Check2,
CheckboxCheckedFill,
CheckboxUnchecked,
Icon,
LoadingSpinner,
Plus,
} from "../icons";
import { useMediaQuery } from "../hooks/use-media-query";
import { useScrollProgress } from "../hooks/use-scroll-progress";
import { Icon } from "../icons";
import { Check2 } from "../icons/nucleo/check2";
import { CheckboxCheckedFill } from "../icons/nucleo/checkbox-checked-fill";
import { CheckboxUnchecked } from "../icons/nucleo/checkbox-unchecked";
import { LoadingSpinner } from "../icons/loading-spinner";
import { Plus } from "../icons/nucleo/plus";
import { Popover, PopoverProps } from "../popover";
import { Tooltip } from "../tooltip";

Expand Down