diff --git a/apps/docs/src/components/Footer.astro b/apps/docs/src/components/Footer.astro
index c2d1e644..746233cf 100644
--- a/apps/docs/src/components/Footer.astro
+++ b/apps/docs/src/components/Footer.astro
@@ -1,5 +1,4 @@
---
-
import EditLink from "@astrojs/starlight/components/EditLink.astro";
import LastUpdated from "@astrojs/starlight/components/LastUpdated.astro";
import Pagination from "@astrojs/starlight/components/Pagination.astro";
diff --git a/apps/docs/src/components/Head.astro b/apps/docs/src/components/Head.astro
index f4e97b78..689fafee 100644
--- a/apps/docs/src/components/Head.astro
+++ b/apps/docs/src/components/Head.astro
@@ -2,6 +2,7 @@
import { NEXT_PUBLIC_OPENPANEL_CLIENT_ID } from "astro:env/client";
import Default from "@astrojs/starlight/components/Head.astro";
import { OpenPanelComponent } from "@openpanel/astro";
+
const title = Astro.locals.starlightRoute.title;
const { siteTitle } = Astro.locals.starlightRoute;
@@ -19,4 +20,4 @@ const url = `https://openstatus.dev/api/og?title=${siteTitle}&description=${titl
-
\ No newline at end of file
+
diff --git a/apps/docs/src/components/Hero.astro b/apps/docs/src/components/Hero.astro
index 29bff4b2..bdc779e0 100644
--- a/apps/docs/src/components/Hero.astro
+++ b/apps/docs/src/components/Hero.astro
@@ -1,8 +1,8 @@
---
import type { Props } from "@astrojs/starlight/props";
-
const { data } = Astro.locals.starlightRoute.entry;
const { title = data.title, tagline, image, actions = [] } = data.hero || {};
+
import { LinkButton } from "@astrojs/starlight/components";
---
diff --git a/apps/docs/src/components/SiteTitle.astro b/apps/docs/src/components/SiteTitle.astro
index bd67611f..62706343 100644
--- a/apps/docs/src/components/SiteTitle.astro
+++ b/apps/docs/src/components/SiteTitle.astro
@@ -13,4 +13,4 @@ import logo from "../assets/icon.png"; // Image is 1600x900
class="rounded-full border border-border bg-transparent"
/>
OpenStatus
-
\ No newline at end of file
+
diff --git a/apps/docs/src/components/Status.astro b/apps/docs/src/components/Status.astro
index b8cb10c6..0fb95ddc 100644
--- a/apps/docs/src/components/Status.astro
+++ b/apps/docs/src/components/Status.astro
@@ -1,8 +1,6 @@
---
-import { type Status, getStatus, statusDictionary } from "./utils";
-
+import { getStatus, statusDictionary } from "./utils";
const { status } = await getStatus("openstatus");
-
const { label, color } = statusDictionary[status];
---
@@ -23,4 +21,4 @@ rel="noreferrer"
class={`relative inline-flex h-2 w-2 rounded-full ${color}`}
/>
-
\ No newline at end of file
+
diff --git a/apps/server/src/routes/v1/incidents/put.ts b/apps/server/src/routes/v1/incidents/put.ts
index eeafa70c..bf4be5ff 100644
--- a/apps/server/src/routes/v1/incidents/put.ts
+++ b/apps/server/src/routes/v1/incidents/put.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { and, db, eq } from "@openstatus/db";
import { incidentTable } from "@openstatus/db/src/schema/incidents";
diff --git a/apps/server/src/routes/v1/monitors/post.ts b/apps/server/src/routes/v1/monitors/post.ts
index c0b827b1..c70f5844 100644
--- a/apps/server/src/routes/v1/monitors/post.ts
+++ b/apps/server/src/routes/v1/monitors/post.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { Events } from "@openstatus/analytics";
import { and, db, eq, isNull, sql } from "@openstatus/db";
diff --git a/apps/server/src/routes/v1/monitors/post_http.ts b/apps/server/src/routes/v1/monitors/post_http.ts
index 357c66ee..5325b0c0 100644
--- a/apps/server/src/routes/v1/monitors/post_http.ts
+++ b/apps/server/src/routes/v1/monitors/post_http.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { Events } from "@openstatus/analytics";
import { and, db, eq, isNull, sql } from "@openstatus/db";
@@ -10,7 +10,7 @@ import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors";
import { trackMiddleware } from "@/libs/middlewares";
import type { monitorsApi } from "./index";
import { HTTPMonitorSchema, MonitorSchema } from "./schema";
-import { getAssertionNew, getAssertions } from "./utils";
+import { getAssertionNew } from "./utils";
const postRoute = createRoute({
method: "post",
diff --git a/apps/server/src/routes/v1/monitors/post_tcp.ts b/apps/server/src/routes/v1/monitors/post_tcp.ts
index 98a134c6..5c8741c9 100644
--- a/apps/server/src/routes/v1/monitors/post_tcp.ts
+++ b/apps/server/src/routes/v1/monitors/post_tcp.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { Events } from "@openstatus/analytics";
import { and, db, eq, isNull, sql } from "@openstatus/db";
diff --git a/apps/server/src/routes/v1/monitors/put.ts b/apps/server/src/routes/v1/monitors/put.ts
index 31c55073..958367e3 100644
--- a/apps/server/src/routes/v1/monitors/put.ts
+++ b/apps/server/src/routes/v1/monitors/put.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { and, db, eq, isNull } from "@openstatus/db";
import { monitor } from "@openstatus/db/src/schema";
diff --git a/apps/server/src/routes/v1/monitors/run/post.ts b/apps/server/src/routes/v1/monitors/run/post.ts
index a9eeaedb..8f109419 100644
--- a/apps/server/src/routes/v1/monitors/run/post.ts
+++ b/apps/server/src/routes/v1/monitors/run/post.ts
@@ -1,7 +1,7 @@
import { env } from "@/env";
import { getCheckerPayload, getCheckerUrl } from "@/libs/checker";
import { openApiErrorResponses } from "@/libs/errors";
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { and, eq, gte, isNull, sql } from "@openstatus/db";
import { db } from "@openstatus/db/src/db";
import { monitorRun } from "@openstatus/db/src/schema";
diff --git a/apps/server/src/routes/v1/pages/get.ts b/apps/server/src/routes/v1/pages/get.ts
index c8225508..c5940927 100644
--- a/apps/server/src/routes/v1/pages/get.ts
+++ b/apps/server/src/routes/v1/pages/get.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors";
import { and, eq } from "@openstatus/db";
diff --git a/apps/server/src/routes/v1/pages/post.ts b/apps/server/src/routes/v1/pages/post.ts
index d773a778..b43e14b3 100644
--- a/apps/server/src/routes/v1/pages/post.ts
+++ b/apps/server/src/routes/v1/pages/post.ts
@@ -1,4 +1,4 @@
-import { createRoute, z } from "@hono/zod-openapi";
+import { createRoute } from "@hono/zod-openapi";
import { and, eq, inArray, isNull, sql } from "@openstatus/db";
import { db } from "@openstatus/db/src/db";
diff --git a/apps/server/src/routes/v1/statusReports/update/post.ts b/apps/server/src/routes/v1/statusReports/update/post.ts
index 80e8da12..3c04e2da 100644
--- a/apps/server/src/routes/v1/statusReports/update/post.ts
+++ b/apps/server/src/routes/v1/statusReports/update/post.ts
@@ -3,14 +3,11 @@ import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors";
import { createRoute } from "@hono/zod-openapi";
import { and, db, eq, isNotNull } from "@openstatus/db";
import {
- monitor,
- page,
pageSubscriber,
statusReport,
statusReportUpdate,
} from "@openstatus/db/src/schema";
import { EmailClient } from "@openstatus/emails/src/client";
-import { sendBatchEmailHtml } from "@openstatus/emails/src/send";
import { StatusReportUpdateSchema } from "../../statusReportUpdates/schema";
import type { statusReportsApi } from "../index";
import { ParamsSchema, StatusReportSchema } from "../schema";
diff --git a/apps/web/src/app/(content)/(landing)/[slug]/page.tsx b/apps/web/src/app/(content)/(landing)/[slug]/page.tsx
index 025c062f..fb662ca0 100644
--- a/apps/web/src/app/(content)/(landing)/[slug]/page.tsx
+++ b/apps/web/src/app/(content)/(landing)/[slug]/page.tsx
@@ -70,10 +70,10 @@ export default async function Page({
function Hero({ title, description }: { title: string; description: string }) {
return (
-
-
+
+
{title}
-
+
{description}
diff --git a/apps/web/src/app/api/og/post/route.tsx b/apps/web/src/app/api/og/post/route.tsx
index a45050c8..4ed0266d 100644
--- a/apps/web/src/app/api/og/post/route.tsx
+++ b/apps/web/src/app/api/og/post/route.tsx
@@ -1,7 +1,7 @@
/* eslint-disable @next/next/no-img-element */
import { ImageResponse } from "next/og";
-import { DESCRIPTION, TITLE } from "@/app/shared-metadata";
+import { TITLE } from "@/app/shared-metadata";
import { BasicLayout } from "../_components/basic-layout";
import {
DEFAULT_URL,
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/incidents/(overview)/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/incidents/(overview)/page.tsx
index 2027212b..9b425b92 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/incidents/(overview)/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/incidents/(overview)/page.tsx
@@ -1,5 +1,3 @@
-import * as React from "react";
-
import { EmptyState } from "@/components/dashboard/empty-state";
import { columns } from "@/components/data-table/incident/columns";
import { DataTable } from "@/components/data-table/incident/data-table";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/data/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/data/page.tsx
index 1dd46d42..d6a57ba3 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/data/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/data/page.tsx
@@ -1,5 +1,4 @@
import { notFound } from "next/navigation";
-import * as React from "react";
import { DatePickerPreset } from "@/components/monitor-dashboard/date-picker-preset";
import { prepareListByPeriod } from "@/lib/tb";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/overview/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/overview/page.tsx
index c773c9e7..28a7fa8e 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/overview/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/[id]/overview/page.tsx
@@ -1,5 +1,4 @@
import { notFound } from "next/navigation";
-import * as React from "react";
import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
import { Separator } from "@openstatus/ui";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/layout.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/layout.tsx
index 88f8516b..9888d551 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/layout.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/layout.tsx
@@ -1,10 +1,5 @@
-import Link from "next/link";
-
-import { ButtonWithDisableTooltip } from "@openstatus/ui";
-
import { Header } from "@/components/dashboard/header";
import AppPageLayout from "@/components/layout/app-page-layout";
-import { api } from "@/trpc/server";
export default async function Layout({
children,
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/page.tsx
index 3b9536e6..177e38a0 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/notifications/(overview)/page.tsx
@@ -1,8 +1,3 @@
-import Link from "next/link";
-import * as React from "react";
-
-import { Button } from "@openstatus/ui/src/components/button";
-
import { EmptyState } from "@/components/dashboard/empty-state";
import { Limit } from "@/components/dashboard/limit";
import { columns } from "@/components/data-table/notification/columns";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/appearance/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/appearance/page.tsx
index 48127716..e1f6195c 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/appearance/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/appearance/page.tsx
@@ -1,7 +1,6 @@
"use client";
import { useTheme } from "next-themes";
-import * as React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/user/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/user/page.tsx
index 277170f9..20f45ad9 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/user/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/user/page.tsx
@@ -2,13 +2,7 @@
import { useSession } from "next-auth/react";
-import {
- Avatar,
- AvatarFallback,
- AvatarImage,
- Input,
- Label,
-} from "@openstatus/ui";
+import { Input, Label } from "@openstatus/ui";
import Loading from "./loading";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/(overview)/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/(overview)/page.tsx
index b6101a8b..f77d2482 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/(overview)/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/(overview)/page.tsx
@@ -1,5 +1,4 @@
import Link from "next/link";
-import * as React from "react";
import { Button } from "@openstatus/ui/src/components/button";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/domain/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/domain/page.tsx
index 84281993..8a0f5d2f 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/domain/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/domain/page.tsx
@@ -1,7 +1,5 @@
import { notFound } from "next/navigation";
-import { allPlans } from "@openstatus/db/src/schema/plan/config";
-
import { ProFeatureAlert } from "@/components/billing/pro-feature-alert";
import { CustomDomainForm } from "@/components/forms/custom-domain-form";
import { api } from "@/trpc/server";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/(overview)/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/(overview)/page.tsx
index c35a38c6..e9fb20fb 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/(overview)/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/(overview)/page.tsx
@@ -1,5 +1,4 @@
import Link from "next/link";
-import * as React from "react";
import { Button } from "@openstatus/ui/src/components/button";
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/[reportId]/overview/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/[reportId]/overview/page.tsx
index 92ea0bd6..298a96d1 100644
--- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/[reportId]/overview/page.tsx
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/status-pages/[id]/reports/[reportId]/overview/page.tsx
@@ -1,8 +1,4 @@
-import Link from "next/link";
import { notFound } from "next/navigation";
-import * as React from "react";
-
-import { Button } from "@openstatus/ui/src/components/button";
import { EmptyState } from "@/components/dashboard/empty-state";
import { Events } from "@/components/status-update/events";
diff --git a/apps/web/src/app/app/page.tsx b/apps/web/src/app/app/page.tsx
index 85e0e888..ba1cb210 100644
--- a/apps/web/src/app/app/page.tsx
+++ b/apps/web/src/app/app/page.tsx
@@ -1,7 +1,6 @@
"use client";
import { useRouter } from "next/navigation";
-import * as React from "react";
import { Shell } from "@/components/dashboard/shell";
import { AppHeader } from "@/components/layout/header/app-header";
diff --git a/apps/web/src/app/play/checker/[id]/search-params.ts b/apps/web/src/app/play/checker/[id]/search-params.ts
index c16f7ace..b96b3f00 100644
--- a/apps/web/src/app/play/checker/[id]/search-params.ts
+++ b/apps/web/src/app/play/checker/[id]/search-params.ts
@@ -2,7 +2,6 @@ import { flyRegions } from "@openstatus/db/src/schema/constants";
import {
createSearchParamsCache,
parseAsArrayOf,
- parseAsString,
parseAsStringLiteral,
} from "nuqs/server";
diff --git a/apps/web/src/app/play/checker/layout.tsx b/apps/web/src/app/play/checker/layout.tsx
index 2b753760..c7180cde 100644
--- a/apps/web/src/app/play/checker/layout.tsx
+++ b/apps/web/src/app/play/checker/layout.tsx
@@ -12,7 +12,7 @@ import type React from "react";
export default function Layout({ children }: { children: React.ReactNode }) {
return (
<>
-
+
diff --git a/apps/web/src/app/play/curl/layout.tsx b/apps/web/src/app/play/curl/layout.tsx
index 97e251d5..eec6ed0a 100644
--- a/apps/web/src/app/play/curl/layout.tsx
+++ b/apps/web/src/app/play/curl/layout.tsx
@@ -12,7 +12,7 @@ import type React from "react";
export default function Layout({ children }: { children: React.ReactNode }) {
return (
<>
-
+
diff --git a/apps/web/src/app/play/status/_components/status-play.tsx b/apps/web/src/app/play/status/_components/status-play.tsx
index 3142dd37..c2baad25 100644
--- a/apps/web/src/app/play/status/_components/status-play.tsx
+++ b/apps/web/src/app/play/status/_components/status-play.tsx
@@ -6,7 +6,6 @@ import {
CardTitle,
} from "@/components/marketing/card";
import { Tracker } from "@/components/tracker/tracker";
-import { env } from "@/env";
import { prepareStatusByPeriod } from "@/lib/tb";
import { getServerTimezoneFormat } from "@/lib/timezone";
diff --git a/apps/web/src/app/play/status/layout.tsx b/apps/web/src/app/play/status/layout.tsx
index 81b66850..2517a0c2 100644
--- a/apps/web/src/app/play/status/layout.tsx
+++ b/apps/web/src/app/play/status/layout.tsx
@@ -12,7 +12,7 @@ import type React from "react";
export default function Layout({ children }: { children: React.ReactNode }) {
return (
<>
-
+
diff --git a/apps/web/src/app/play/status/page.tsx b/apps/web/src/app/play/status/page.tsx
index faf4c5b6..c67aa0c5 100644
--- a/apps/web/src/app/play/status/page.tsx
+++ b/apps/web/src/app/play/status/page.tsx
@@ -1,6 +1,4 @@
import type { Metadata } from "next";
-
-import { BackButton } from "@/components/layout/back-button";
import StatusPlay from "./_components/status-play";
export const metadata: Metadata = {
diff --git a/apps/web/src/app/public/monitors/[id]/page.tsx b/apps/web/src/app/public/monitors/[id]/page.tsx
index 82f3e694..ff3e6879 100644
--- a/apps/web/src/app/public/monitors/[id]/page.tsx
+++ b/apps/web/src/app/public/monitors/[id]/page.tsx
@@ -1,5 +1,4 @@
import { notFound } from "next/navigation";
-import * as React from "react";
import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
import { Separator } from "@openstatus/ui";
diff --git a/apps/web/src/app/status-page/[domain]/monitors/[id]/page.tsx b/apps/web/src/app/status-page/[domain]/monitors/[id]/page.tsx
index 48a9f7aa..db0abd32 100644
--- a/apps/web/src/app/status-page/[domain]/monitors/[id]/page.tsx
+++ b/apps/web/src/app/status-page/[domain]/monitors/[id]/page.tsx
@@ -1,5 +1,4 @@
import { notFound } from "next/navigation";
-import * as React from "react";
import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
import { Separator } from "@openstatus/ui/src/components/separator";
diff --git a/apps/web/src/app/status/page.tsx b/apps/web/src/app/status/page.tsx
index 7ab20e52..4d4a4df4 100644
--- a/apps/web/src/app/status/page.tsx
+++ b/apps/web/src/app/status/page.tsx
@@ -2,15 +2,8 @@ import { ArrowUpRight } from "lucide-react";
import type { Metadata } from "next";
import Link from "next/link";
-import {
- Card,
- CardDescription,
- CardFooter,
- CardHeader,
- CardTitle,
-} from "@openstatus/ui";
+import { Card, CardDescription, CardHeader, CardTitle } from "@openstatus/ui";
-import { Icons } from "@/components/icons";
import { MarketingLayout } from "@/components/layout/marketing-layout";
import { env } from "@/env";
import {
diff --git a/apps/web/src/components/billing/pro-feature-hover-card.tsx b/apps/web/src/components/billing/pro-feature-hover-card.tsx
index 14722bbf..f33ad853 100644
--- a/apps/web/src/components/billing/pro-feature-hover-card.tsx
+++ b/apps/web/src/components/billing/pro-feature-hover-card.tsx
@@ -3,12 +3,7 @@
import { useState } from "react";
import type { WorkspacePlan } from "@openstatus/db/src/schema/workspaces/validation";
-import {
- Badge,
- HoverCard,
- HoverCardContent,
- HoverCardTrigger,
-} from "@openstatus/ui";
+import { HoverCard, HoverCardContent, HoverCardTrigger } from "@openstatus/ui";
import { ArrowUpRight } from "lucide-react";
import Link from "next/link";
import { upgradePlan } from "./utils";
diff --git a/apps/web/src/components/dashboard/info-alert-dialog.tsx b/apps/web/src/components/dashboard/info-alert-dialog.tsx
index 4a97db15..02f18621 100644
--- a/apps/web/src/components/dashboard/info-alert-dialog.tsx
+++ b/apps/web/src/components/dashboard/info-alert-dialog.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import { useParams } from "next/navigation";
import { useEffect, useState } from "react";
import {
diff --git a/apps/web/src/components/data-table/incident/data-table-row-actions.tsx b/apps/web/src/components/data-table/incident/data-table-row-actions.tsx
index 0c27dcb9..3d68d5cb 100644
--- a/apps/web/src/components/data-table/incident/data-table-row-actions.tsx
+++ b/apps/web/src/components/data-table/incident/data-table-row-actions.tsx
@@ -26,7 +26,7 @@ import {
} from "@openstatus/ui";
import { LoadingAnimation } from "@/components/loading-animation";
-import { toast, toastAction } from "@/lib/toast";
+import { toastAction } from "@/lib/toast";
import { api } from "@/trpc/client";
interface DataTableRowActionsProps {
diff --git a/apps/web/src/components/data-table/incident/data-table.tsx b/apps/web/src/components/data-table/incident/data-table.tsx
index e6912eab..d2e86270 100644
--- a/apps/web/src/components/data-table/incident/data-table.tsx
+++ b/apps/web/src/components/data-table/incident/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/invitation/data-table.tsx b/apps/web/src/components/data-table/invitation/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/invitation/data-table.tsx
+++ b/apps/web/src/components/data-table/invitation/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/maintenance/columns.tsx b/apps/web/src/components/data-table/maintenance/columns.tsx
index c4fca5db..4b38442c 100644
--- a/apps/web/src/components/data-table/maintenance/columns.tsx
+++ b/apps/web/src/components/data-table/maintenance/columns.tsx
@@ -3,8 +3,6 @@
import type { ColumnDef } from "@tanstack/react-table";
import type { Maintenance } from "@openstatus/db/src/schema";
-
-import { formatDateTime } from "@/lib/utils";
import { format } from "date-fns";
import { DataTableRowActions } from "./data-table-row-actions";
diff --git a/apps/web/src/components/data-table/maintenance/data-table.tsx b/apps/web/src/components/data-table/maintenance/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/maintenance/data-table.tsx
+++ b/apps/web/src/components/data-table/maintenance/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/monitor/data-table-floating-actions.tsx b/apps/web/src/components/data-table/monitor/data-table-floating-actions.tsx
index 8c28d5ee..01606469 100644
--- a/apps/web/src/components/data-table/monitor/data-table-floating-actions.tsx
+++ b/apps/web/src/components/data-table/monitor/data-table-floating-actions.tsx
@@ -42,7 +42,7 @@ import {
TooltipProvider,
TooltipTrigger,
} from "@openstatus/ui";
-import { Check, Minus, X } from "lucide-react";
+import { Check, X } from "lucide-react";
import { useRouter } from "next/navigation";
interface DataTableFloatingActions {
diff --git a/apps/web/src/components/data-table/notification/data-table.tsx b/apps/web/src/components/data-table/notification/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/notification/data-table.tsx
+++ b/apps/web/src/components/data-table/notification/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/page-subscriber/data-table.tsx b/apps/web/src/components/data-table/page-subscriber/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/page-subscriber/data-table.tsx
+++ b/apps/web/src/components/data-table/page-subscriber/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/status-page/data-table.tsx b/apps/web/src/components/data-table/status-page/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/status-page/data-table.tsx
+++ b/apps/web/src/components/data-table/status-page/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/status-report/data-table.tsx b/apps/web/src/components/data-table/status-report/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/status-report/data-table.tsx
+++ b/apps/web/src/components/data-table/status-report/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/data-table/user/data-table.tsx b/apps/web/src/components/data-table/user/data-table.tsx
index d7e57ef5..d152669f 100644
--- a/apps/web/src/components/data-table/user/data-table.tsx
+++ b/apps/web/src/components/data-table/user/data-table.tsx
@@ -6,7 +6,6 @@ import {
getCoreRowModel,
useReactTable,
} from "@tanstack/react-table";
-import * as React from "react";
import {
Table,
diff --git a/apps/web/src/components/forms/maintenance/form.tsx b/apps/web/src/components/forms/maintenance/form.tsx
index 5fefdec3..2911228b 100644
--- a/apps/web/src/components/forms/maintenance/form.tsx
+++ b/apps/web/src/components/forms/maintenance/form.tsx
@@ -2,7 +2,6 @@
import { zodResolver } from "@hookform/resolvers/zod";
import { usePathname, useRouter } from "next/navigation";
-import * as React from "react";
import { useTransition } from "react";
import { useForm } from "react-hook-form";
diff --git a/apps/web/src/components/forms/maintenance/general.tsx b/apps/web/src/components/forms/maintenance/general.tsx
index cc7e7267..c80d6148 100644
--- a/apps/web/src/components/forms/maintenance/general.tsx
+++ b/apps/web/src/components/forms/maintenance/general.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertMaintenance } from "@openstatus/db/src/schema";
diff --git a/apps/web/src/components/forms/maintenance/section-connect.tsx b/apps/web/src/components/forms/maintenance/section-connect.tsx
index 7c0784a2..b4d0e9b0 100644
--- a/apps/web/src/components/forms/maintenance/section-connect.tsx
+++ b/apps/web/src/components/forms/maintenance/section-connect.tsx
@@ -1,13 +1,8 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertMaintenance, Monitor } from "@openstatus/db/src/schema";
import {
- Alert,
- AlertDescription,
- AlertTitle,
FormControl,
FormDescription,
FormField,
diff --git a/apps/web/src/components/forms/monitor/general.tsx b/apps/web/src/components/forms/monitor/general.tsx
index b0a9bfeb..f9c384db 100644
--- a/apps/web/src/components/forms/monitor/general.tsx
+++ b/apps/web/src/components/forms/monitor/general.tsx
@@ -1,13 +1,7 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
-import type {
- InsertMonitor,
- MonitorTag,
- WorkspacePlan,
-} from "@openstatus/db/src/schema";
+import type { InsertMonitor, MonitorTag } from "@openstatus/db/src/schema";
import {
FormControl,
FormDescription,
diff --git a/apps/web/src/components/forms/monitor/section-assertions.tsx b/apps/web/src/components/forms/monitor/section-assertions.tsx
index 7179e889..60dcc708 100644
--- a/apps/web/src/components/forms/monitor/section-assertions.tsx
+++ b/apps/web/src/components/forms/monitor/section-assertions.tsx
@@ -1,13 +1,10 @@
"use client";
-
-import * as React from "react";
import { useFieldArray } from "react-hook-form";
import type { UseFormReturn } from "react-hook-form";
import {
numberCompareDictionary,
stringCompareDictionary,
- textBodyAssertion,
} from "@openstatus/assertions";
import type { InsertMonitor } from "@openstatus/db/src/schema";
import {
diff --git a/apps/web/src/components/forms/monitor/section-notifications.tsx b/apps/web/src/components/forms/monitor/section-notifications.tsx
index 04483e78..9f6f3a3c 100644
--- a/apps/web/src/components/forms/monitor/section-notifications.tsx
+++ b/apps/web/src/components/forms/monitor/section-notifications.tsx
@@ -1,13 +1,7 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
-import type {
- InsertMonitor,
- Notification,
- WorkspacePlan,
-} from "@openstatus/db/src/schema";
+import type { InsertMonitor, Notification } from "@openstatus/db/src/schema";
import {
Badge,
FormControl,
diff --git a/apps/web/src/components/forms/monitor/section-request-tcp.tsx b/apps/web/src/components/forms/monitor/section-request-tcp.tsx
index 69134c23..4740b091 100644
--- a/apps/web/src/components/forms/monitor/section-request-tcp.tsx
+++ b/apps/web/src/components/forms/monitor/section-request-tcp.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertMonitor } from "@openstatus/db/src/schema";
diff --git a/apps/web/src/components/forms/monitor/section-requests.tsx b/apps/web/src/components/forms/monitor/section-requests.tsx
index 91711cdb..4598f0f0 100644
--- a/apps/web/src/components/forms/monitor/section-requests.tsx
+++ b/apps/web/src/components/forms/monitor/section-requests.tsx
@@ -13,7 +13,7 @@ import {
TabsTrigger,
} from "@/components/dashboard/tabs";
-import { Alert, AlertDescription, AlertTitle, Badge } from "@openstatus/ui";
+import { Alert, AlertDescription, AlertTitle } from "@openstatus/ui";
import { SectionHeader } from "../shared/section-header";
import { SectionRequestHTTP } from "./section-request-http";
import { SectionRequestTCP } from "./section-request-tcp";
diff --git a/apps/web/src/components/forms/monitor/section-status-page.tsx b/apps/web/src/components/forms/monitor/section-status-page.tsx
index beb7def3..f9fff3c7 100644
--- a/apps/web/src/components/forms/monitor/section-status-page.tsx
+++ b/apps/web/src/components/forms/monitor/section-status-page.tsx
@@ -2,11 +2,7 @@
import type { UseFormReturn } from "react-hook-form";
-import type {
- InsertMonitor,
- Page,
- WorkspacePlan,
-} from "@openstatus/db/src/schema";
+import type { InsertMonitor, Page } from "@openstatus/db/src/schema";
import {
FormControl,
FormDescription,
diff --git a/apps/web/src/components/forms/monitor/select-region.tsx b/apps/web/src/components/forms/monitor/select-region.tsx
index fe695c34..508d1f30 100644
--- a/apps/web/src/components/forms/monitor/select-region.tsx
+++ b/apps/web/src/components/forms/monitor/select-region.tsx
@@ -1,7 +1,6 @@
"use client";
import { Check, ChevronsUpDown, Globe2 } from "lucide-react";
-import * as React from "react";
import { Button, type ButtonProps } from "@openstatus/ui/src/components/button";
import {
diff --git a/apps/web/src/components/forms/notification/provider/section-pagerduty.tsx b/apps/web/src/components/forms/notification/provider/section-pagerduty.tsx
index 9dd71f91..8dc39033 100644
--- a/apps/web/src/components/forms/notification/provider/section-pagerduty.tsx
+++ b/apps/web/src/components/forms/notification/provider/section-pagerduty.tsx
@@ -4,12 +4,9 @@ import type { UseFormReturn } from "react-hook-form";
import { LoadingAnimation } from "@/components/loading-animation";
import { toastAction } from "@/lib/toast";
-import {
- type InsertNotificationWithData,
- InsertNotificationWithDataSchema,
- NotificationDataSchema,
- type WorkspacePlan,
- selectNotificationSchema,
+import type {
+ InsertNotificationWithData,
+ WorkspacePlan,
} from "@openstatus/db/src/schema";
import { PagerDutySchema } from "@openstatus/notification-pagerduty";
import { Button } from "@openstatus/ui";
diff --git a/apps/web/src/components/forms/notification/section-connect.tsx b/apps/web/src/components/forms/notification/section-connect.tsx
index 3690b569..d870e030 100644
--- a/apps/web/src/components/forms/notification/section-connect.tsx
+++ b/apps/web/src/components/forms/notification/section-connect.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type {
diff --git a/apps/web/src/components/forms/status-page/form.tsx b/apps/web/src/components/forms/status-page/form.tsx
index 6d68bc9c..a7b325aa 100644
--- a/apps/web/src/components/forms/status-page/form.tsx
+++ b/apps/web/src/components/forms/status-page/form.tsx
@@ -2,7 +2,6 @@
import { zodResolver } from "@hookform/resolvers/zod";
import { usePathname, useRouter } from "next/navigation";
-import * as React from "react";
import { useCallback, useEffect, useTransition } from "react";
import { useForm } from "react-hook-form";
diff --git a/apps/web/src/components/forms/status-page/general.tsx b/apps/web/src/components/forms/status-page/general.tsx
index 93152596..e8b56777 100644
--- a/apps/web/src/components/forms/status-page/general.tsx
+++ b/apps/web/src/components/forms/status-page/general.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertPage } from "@openstatus/db/src/schema";
diff --git a/apps/web/src/components/forms/status-page/section-monitor.tsx b/apps/web/src/components/forms/status-page/section-monitor.tsx
index d5bb5cf4..2efaa0b2 100644
--- a/apps/web/src/components/forms/status-page/section-monitor.tsx
+++ b/apps/web/src/components/forms/status-page/section-monitor.tsx
@@ -17,7 +17,6 @@ import {
Popover,
PopoverContent,
PopoverTrigger,
- Skeleton,
Sortable,
SortableDragHandle,
SortableItem,
diff --git a/apps/web/src/components/forms/status-page/section-visibility.tsx b/apps/web/src/components/forms/status-page/section-visibility.tsx
index 3b89f9a6..1e781186 100644
--- a/apps/web/src/components/forms/status-page/section-visibility.tsx
+++ b/apps/web/src/components/forms/status-page/section-visibility.tsx
@@ -1,7 +1,6 @@
"use client";
import { X } from "lucide-react";
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertPage, WorkspacePlan } from "@openstatus/db/src/schema";
diff --git a/apps/web/src/components/forms/status-report-form.tsx b/apps/web/src/components/forms/status-report-form.tsx
index 53fca19f..c7ab0a18 100644
--- a/apps/web/src/components/forms/status-report-form.tsx
+++ b/apps/web/src/components/forms/status-report-form.tsx
@@ -10,11 +10,7 @@ import {
statusReportStatus,
statusReportStatusSchema,
} from "@openstatus/db/src/schema";
-import type {
- InsertStatusReport,
- Monitor,
- Page,
-} from "@openstatus/db/src/schema";
+import type { InsertStatusReport, Monitor } from "@openstatus/db/src/schema";
import {
Accordion,
AccordionContent,
diff --git a/apps/web/src/components/forms/status-report/form.tsx b/apps/web/src/components/forms/status-report/form.tsx
index be763567..24d7c96d 100644
--- a/apps/web/src/components/forms/status-report/form.tsx
+++ b/apps/web/src/components/forms/status-report/form.tsx
@@ -6,11 +6,7 @@ import * as React from "react";
import { useForm } from "react-hook-form";
import { insertStatusReportSchema } from "@openstatus/db/src/schema";
-import type {
- InsertStatusReport,
- Monitor,
- Page,
-} from "@openstatus/db/src/schema";
+import type { InsertStatusReport, Monitor } from "@openstatus/db/src/schema";
import { Form } from "@openstatus/ui";
import {
diff --git a/apps/web/src/components/forms/status-report/general.tsx b/apps/web/src/components/forms/status-report/general.tsx
index 4672315e..1883ccd4 100644
--- a/apps/web/src/components/forms/status-report/general.tsx
+++ b/apps/web/src/components/forms/status-report/general.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import {
diff --git a/apps/web/src/components/forms/status-report/section-connect.tsx b/apps/web/src/components/forms/status-report/section-connect.tsx
index e10dced6..d301a685 100644
--- a/apps/web/src/components/forms/status-report/section-connect.tsx
+++ b/apps/web/src/components/forms/status-report/section-connect.tsx
@@ -1,13 +1,7 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
-import type {
- InsertStatusReport,
- Monitor,
- Page,
-} from "@openstatus/db/src/schema";
+import type { InsertStatusReport, Monitor } from "@openstatus/db/src/schema";
import {
FormControl,
FormDescription,
diff --git a/apps/web/src/components/forms/status-report/section-update-message.tsx b/apps/web/src/components/forms/status-report/section-update-message.tsx
index 7ff74b0b..42082ba6 100644
--- a/apps/web/src/components/forms/status-report/section-update-message.tsx
+++ b/apps/web/src/components/forms/status-report/section-update-message.tsx
@@ -1,6 +1,4 @@
"use client";
-
-import * as React from "react";
import type { UseFormReturn } from "react-hook-form";
import type { InsertStatusReport } from "@openstatus/db/src/schema";
diff --git a/apps/web/src/components/layout/brand-name.tsx b/apps/web/src/components/layout/brand-name.tsx
index 207dd090..43882489 100644
--- a/apps/web/src/components/layout/brand-name.tsx
+++ b/apps/web/src/components/layout/brand-name.tsx
@@ -1,5 +1,4 @@
import Link from "next/link";
-import * as React from "react";
// Hottake: you don't need a features page if you have a changelog page
// Except for SEO
diff --git a/apps/web/src/components/layout/header/copy-button.tsx b/apps/web/src/components/layout/header/copy-button.tsx
index c0198bb6..5e555c31 100644
--- a/apps/web/src/components/layout/header/copy-button.tsx
+++ b/apps/web/src/components/layout/header/copy-button.tsx
@@ -25,7 +25,7 @@ export function CopyButton({ id }: { id: string | number }) {
});
}}
>
-
+
{id}
diff --git a/apps/web/src/components/layout/header/user-nav.tsx b/apps/web/src/components/layout/header/user-nav.tsx
index debb3565..52cacc5e 100644
--- a/apps/web/src/components/layout/header/user-nav.tsx
+++ b/apps/web/src/components/layout/header/user-nav.tsx
@@ -74,7 +74,7 @@ export function UserNav() {
{/* REMINDER: consider using that the data-state styles as default */}
-
+