Skip to content

Commit

Permalink
moved more components over, added prettier plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
steven-tey committed Oct 8, 2023
1 parent f628966 commit b5e9d2f
Show file tree
Hide file tree
Showing 259 changed files with 1,484 additions and 2,774 deletions.
4 changes: 1 addition & 3 deletions apps/web/app/[domain]/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { NavMobile } from "ui";
import { Nav } from "ui";
import { Footer } from "ui";
import { Footer, Nav, NavMobile } from "ui";

export default function CustomDomainLayout(props) {
return (
Expand Down
12 changes: 6 additions & 6 deletions apps/web/app/[domain]/placeholder.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"use client";

import { useState } from "react";
import { motion } from "framer-motion";
import { useDebounce } from "use-debounce";
import { STAGGER_CHILD_VARIANTS } from "#/lib/constants";
import Spline from "@splinetool/react-spline";
import { InlineSnippet } from "@/components/app/domains/domain-configuration";
import { useParams } from "next/navigation";
import Spline from "@splinetool/react-spline";
import va from "@vercel/analytics";
import { motion } from "framer-motion";
import { STAGGER_CHILD_VARIANTS } from "lib";
import { useParams } from "next/navigation";
import { useState } from "react";
import { useDebounce } from "use-debounce";

export default function PlaceholderContent() {
const { domain } = useParams() as { domain: string };
Expand Down
6 changes: 3 additions & 3 deletions apps/web/app/[domain]/stats/[key]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { notFound } from "next/navigation";
import Stats from "#/ui/stats";
import { Suspense } from "react";
import { getLinkViaEdge } from "#/lib/planetscale";
import Stats from "#/ui/stats";
import { constructMetadata } from "lib";
import { notFound } from "next/navigation";
import { Suspense } from "react";

export const runtime = "edge";

Expand Down
3 changes: 1 addition & 2 deletions apps/web/app/admin.dub.co/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
import { deleteUserLinks } from "#/lib/api/links";
import { deleteProject } from "#/lib/api/project";
import { hashToken } from "#/lib/auth";
import { DUB_PROJECT_ID } from "#/lib/constants";
import prisma from "#/lib/prisma";
import { getDomainWithoutWWW } from "lib";
import { authOptions } from "@/pages/api/auth/[...nextauth]";
import { get } from "@vercel/edge-config";
import { randomBytes } from "crypto";
import { DUB_PROJECT_ID, getDomainWithoutWWW } from "lib";
import { getServerSession } from "next-auth";

async function isAdmin() {
Expand Down
9 changes: 4 additions & 5 deletions apps/web/app/admin.dub.co/components/ban.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
"use client";

import { cn } from "lib";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { getUserByKey, banUser } from "../actions";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { Button, LoadingSpinner } from "ui";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { toast } from "sonner";
import { Copy, Tick } from "@/components/shared/icons";
import { useRouter } from "next/navigation";
import { Button, Copy, LoadingSpinner, Tick } from "ui";
import { banUser, getUserByKey } from "../actions";

export default function BanUser() {
const [data, setData] = useState<{
Expand Down
7 changes: 3 additions & 4 deletions apps/web/app/admin.dub.co/components/impersonate-project.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"use client";

import { cn } from "lib";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { LoadingSpinner } from "ui";
import { getProjectOwner } from "../actions";
import { useState } from "react";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { toast } from "sonner";
import { Copy, Tick } from "@/components/shared/icons";
import { Copy, LoadingSpinner, Tick } from "ui";
import { getProjectOwner } from "../actions";

export default function ImpersonateProject() {
const [data, setData] = useState<{
Expand Down
7 changes: 3 additions & 4 deletions apps/web/app/admin.dub.co/components/impersonate-user.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"use client";

import { cn } from "lib";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { LoadingSpinner } from "ui";
import { getUser } from "../actions";
import { useState } from "react";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { toast } from "sonner";
import { Copy, Tick } from "@/components/shared/icons";
import { Copy, LoadingSpinner, Tick } from "ui";
import { getUser } from "../actions";

export default function ImpersonateUser() {
const [data, setData] = useState<{
Expand Down
4 changes: 2 additions & 2 deletions apps/web/app/admin.dub.co/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { constructMetadata } from "lib";
import ImpersonateUser from "./components/impersonate-user";
import ImpersonateProject from "./components/impersonate-project";
import BanUser from "./components/ban";
import ImpersonateProject from "./components/impersonate-project";
import ImpersonateUser from "./components/impersonate-user";

export const metadata = constructMetadata({
title: "Dub Admin",
Expand Down
4 changes: 2 additions & 2 deletions apps/web/app/api/callback/bitly/route.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "#/lib/prisma";
import { redis } from "#/lib/upstash";
import { APP_DOMAIN } from "#/lib/constants";
import { APP_DOMAIN } from "lib";
import { NextResponse } from "next/server";

export async function GET(req: Request) {
const { searchParams } = new URL(req.url);
Expand Down
6 changes: 3 additions & 3 deletions apps/web/app/api/cron/domains/route.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { NextResponse } from "next/server";
import { receiver } from "#/lib/cron";
import { handleDomainUpdates } from "./utils";
import {
getConfigResponse,
getDomainResponse,
verifyDomain,
} from "#/lib/api/domains";
import { receiver } from "#/lib/cron";
import prisma from "#/lib/prisma";
import { log } from "lib";
import { NextResponse } from "next/server";
import { handleDomainUpdates } from "./utils";

/**
* Cron to check if domains are verified.
Expand Down
8 changes: 4 additions & 4 deletions apps/web/app/api/cron/domains/utils.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { sendEmail } from "emails";
import { log } from "lib";
import { deleteDomainAndLinks } from "#/lib/api/domains";
import { limiter } from "#/lib/cron";
import prisma from "#/lib/prisma";
import InvalidDomain from "emails/invalid-domain";
import { sendEmail } from "emails";
import DomainDeleted from "emails/domain-deleted";
import { limiter } from "#/lib/cron";
import InvalidDomain from "emails/invalid-domain";
import { log } from "lib";

export const handleDomainUpdates = async ({
domain,
Expand Down
10 changes: 5 additions & 5 deletions apps/web/app/api/cron/import/bitly/route.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { log } from "lib";
import { importLinksFromBitly } from "./utils";
import { redis } from "#/lib/upstash";
import { NextResponse } from "next/server";
import { receiver } from "#/lib/cron";
import prisma from "#/lib/prisma";
import { redis } from "#/lib/upstash";
import { randomBadgeColor } from "@/components/app/links/tag-badge";
import { receiver } from "#/lib/cron";
import { log } from "lib";
import { NextResponse } from "next/server";
import { importLinksFromBitly } from "./utils";

export async function POST(req: Request) {
const body = await req.json();
Expand Down
4 changes: 2 additions & 2 deletions apps/web/app/api/cron/import/short/route.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { log } from "lib";
import { receiver } from "#/lib/cron";
import { redis } from "#/lib/upstash";
import { log } from "lib";
import { NextResponse } from "next/server";
import { receiver } from "#/lib/cron";
import { importLinksFromShort } from "./utils";

export async function POST(req: Request) {
Expand Down
4 changes: 2 additions & 2 deletions apps/web/app/api/cron/usage/route.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { receiver } from "#/lib/cron";
import { log } from "lib";
import { updateUsage } from "./utils";
import { NextResponse } from "next/server";
import { receiver } from "#/lib/cron";
import { updateUsage } from "./utils";

// Cron to update the usage stats of each project.
// Runs once every day at 7AM PST (0 14 * * *)
Expand Down
10 changes: 5 additions & 5 deletions apps/web/app/api/cron/usage/utils.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { sendEmail } from "emails";
import UsageExceeded from "emails/usage-exceeded";
import { limiter } from "#/lib/cron";
import prisma from "#/lib/prisma";
import { getAdjustedBillingCycleStart, log } from "lib";
import { ProjectProps } from "#/lib/types";
import { getTopLinks } from "#/lib/tinybird";
import { ProjectProps } from "#/lib/types";
import { sendEmail } from "emails";
import ClicksSummary from "emails/clicks-summary";
import { limiter } from "#/lib/cron";
import UsageExceeded from "emails/usage-exceeded";
import { getAdjustedBillingCycleStart, log } from "lib";

export const updateUsage = async () => {
const projects = await prisma.project.findMany({
Expand Down
6 changes: 3 additions & 3 deletions apps/web/app/api/unsplash/search/route.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { ratelimit } from "#/lib/upstash";
import { ipAddress } from "@vercel/edge";
import { LOCALHOST_IP } from "lib";
import { NextResponse } from "next/server";
import { unsplash } from "../utils";
import { ipAddress } from "@vercel/edge";
import { LOCALHOST_IP } from "#/lib/constants";
import { ratelimit } from "#/lib/upstash";

export const runtime = "edge";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/app.dub.co/(auth)/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Background } from "ui";
import { ReactNode } from "react";
import { Background } from "ui";

export const runtime = "edge";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/app.dub.co/(auth)/login/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
// to use next-auth signIn in a server action yet
// will revisit this when that's possible

import { conn } from "#/lib/planetscale";
import { isWhitelistedEmail } from "#/lib/edge-config";
import { conn } from "#/lib/planetscale";

export async function accountExists(data: FormData) {
const email = data.get("email") as string | undefined;
Expand Down
8 changes: 3 additions & 5 deletions apps/web/app/app.dub.co/(auth)/login/form.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
"use client";

import Link from "next/link";
import { useEffect, useState } from "react";
import { signIn } from "next-auth/react";
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import { useEffect, useState } from "react";
import { toast } from "sonner";
import { Button } from "ui";
import { Google } from "@/components/shared/icons";
import { InfoTooltip } from "#/ui/tooltip";
import { Button, Google, InfoTooltip } from "ui";

export default function LoginForm() {
const searchParams = useSearchParams();
Expand Down
5 changes: 2 additions & 3 deletions apps/web/app/app.dub.co/(auth)/login/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { HOME_DOMAIN, constructMetadata } from "lib";
import { Suspense } from "react";
import LoginForm from "./form";
import { Button, Logo } from "ui";
import { constructMetadata } from "lib";
import { HOME_DOMAIN } from "#/lib/constants";
import LoginForm from "./form";

export const metadata = constructMetadata({
title: "Sign in to Dub",
Expand Down
8 changes: 3 additions & 5 deletions apps/web/app/app.dub.co/(auth)/register/form.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
"use client";

import { useSearchParams } from "next/navigation";
import { useState } from "react";
import { signIn } from "next-auth/react";
import { Google } from "@/components/shared/icons";
import { Button } from "ui";
import Link from "next/link";
import { InfoTooltip } from "#/ui/tooltip";
import { useSearchParams } from "next/navigation";
import { useState } from "react";
import { toast } from "sonner";
import { Button, Google, InfoTooltip } from "ui";

export default function RegisterForm() {
const searchParams = useSearchParams();
Expand Down
5 changes: 2 additions & 3 deletions apps/web/app/app.dub.co/(auth)/register/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { HOME_DOMAIN, constructMetadata } from "lib";
import { Suspense } from "react";
import RegisterForm from "./form";
import { Button, Logo } from "ui";
import { constructMetadata } from "lib";
import { HOME_DOMAIN } from "#/lib/constants";
import RegisterForm from "./form";

export const metadata = constructMetadata({
title: "Sign up to Dub",
Expand Down
7 changes: 3 additions & 4 deletions apps/web/app/inspect/[domain]/[key]/card.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { GOOGLE_FAVICON_URL } from "#/lib/constants";
import { getApexDomain, linkConstructor } from "lib";
import CopyButton from "@/components/shared/copy-button";
import BlurImage from "#/ui/blur-image";
import { BlurImage } from "@/components/shared/blur-image";
import { GOOGLE_FAVICON_URL, getApexDomain, linkConstructor } from "lib";
import Script from "next/script";
import { CopyButton } from "ui";
import ReportButton from "./report";

export default function LinkInspectorCard({
Expand Down
8 changes: 2 additions & 6 deletions apps/web/app/inspect/[domain]/[key]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import { getLinkViaEdge } from "#/lib/planetscale";
import { constructMetadata, getApexDomain } from "lib";
import { Footer } from "ui";
import { Nav } from "ui";
import { HOME_DOMAIN, constructMetadata } from "lib";
import { notFound } from "next/navigation";
import { Background } from "ui";
import { Background, Footer, LinkPreview, Nav } from "ui";
import LinkInspectorCard from "./card";
import LinkPreview from "#/ui/home/link-preview";
import { HOME_DOMAIN } from "#/lib/constants";

export const runtime = "edge";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/inspect/[domain]/[key]/report.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use client";

import { cn } from "lib";
import { LoadingSpinner } from "ui";
import { Flag } from "lucide-react";
import { useState } from "react";
import { LoadingSpinner } from "ui";

export default function ReportButton({ link }: { link: string }) {
const [opening, setOpening] = useState(false);
Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { inter, satoshi } from "@/styles/fonts";
import "@/styles/globals.css";
import { satoshi, inter } from "@/styles/fonts";
import { cn, constructMetadata } from "lib";
import Providers from "./providers";

Expand Down
6 changes: 3 additions & 3 deletions apps/web/app/protected/[domain]/[key]/form.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use client";

import { AlertCircleFill } from "@/components/shared/icons";
import { useParams, useRouter } from "next/navigation";
import { useState } from "react";
import { experimental_useFormStatus as useFormStatus } from "react-dom";
import { verifyPassword } from "./action";
import { AlertCircleFill } from "@/components/shared/icons";
import { Button } from "ui";
import { toast } from "sonner";
import { Button } from "ui";
import { verifyPassword } from "./action";

export default function PasswordForm() {
const { domain, key } = useParams() as {
Expand Down
3 changes: 1 addition & 2 deletions apps/web/app/protected/[domain]/[key]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { constructMetadata } from "lib";
import { Background } from "ui";
import { Logo } from "ui";
import { Background, Logo } from "ui";
import PasswordForm from "./form";

const title = "Password Required";
Expand Down
4 changes: 2 additions & 2 deletions apps/web/app/providers.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use client";

import { ReactNode } from "react";
import { Analytics } from "@vercel/analytics/react";
import { SessionProvider } from "next-auth/react";
import { ReactNode } from "react";
import { Toaster } from "sonner";
import { Analytics } from "@vercel/analytics/react";

export default function Providers({ children }: { children: ReactNode }) {
return (
Expand Down
3 changes: 1 addition & 2 deletions apps/web/app/proxy/[domain]/[key]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { getLinkViaEdge } from "#/lib/planetscale";
import { unescape } from "html-escaper";
import { constructMetadata, getApexDomain } from "lib";
import { GOOGLE_FAVICON_URL, constructMetadata, getApexDomain } from "lib";
import { notFound, redirect } from "next/navigation";
import { GOOGLE_FAVICON_URL } from "#/lib/constants";

export const runtime = "edge";

Expand Down
3 changes: 1 addition & 2 deletions apps/web/app/rewrite/[url]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { constructMetadata, getApexDomain } from "lib";
import { GOOGLE_FAVICON_URL } from "#/lib/constants";
import { getMetaTags } from "@/pages/api/edge/metatags";
import { GOOGLE_FAVICON_URL, constructMetadata, getApexDomain } from "lib";

export const runtime = "edge";

Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/sitemap.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MetadataRoute } from "next";
import prisma from "#/lib/prisma";
import { MetadataRoute } from "next";
import { headers } from "next/headers";

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
Expand Down
Loading

0 comments on commit b5e9d2f

Please sign in to comment.