···11---
22-32import EditLink from "@astrojs/starlight/components/EditLink.astro";
43import LastUpdated from "@astrojs/starlight/components/LastUpdated.astro";
54import Pagination from "@astrojs/starlight/components/Pagination.astro";
···11---
22-import { type Status, getStatus, statusDictionary } from "./utils";
33-22+import { getStatus, statusDictionary } from "./utils";
43const { status } = await getStatus("openstatus");
55-64const { label, color } = statusDictionary[status];
75---
86···2321 class={`relative inline-flex h-2 w-2 rounded-full ${color}`}
2422 />
2523</span>
2626-</a>2424+</a>
+1-1
apps/server/src/routes/v1/incidents/put.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { and, db, eq } from "@openstatus/db";
44import { incidentTable } from "@openstatus/db/src/schema/incidents";
+1-1
apps/server/src/routes/v1/monitors/post.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { Events } from "@openstatus/analytics";
44import { and, db, eq, isNull, sql } from "@openstatus/db";
+2-2
apps/server/src/routes/v1/monitors/post_http.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { Events } from "@openstatus/analytics";
44import { and, db, eq, isNull, sql } from "@openstatus/db";
···1010import { trackMiddleware } from "@/libs/middlewares";
1111import type { monitorsApi } from "./index";
1212import { HTTPMonitorSchema, MonitorSchema } from "./schema";
1313-import { getAssertionNew, getAssertions } from "./utils";
1313+import { getAssertionNew } from "./utils";
14141515const postRoute = createRoute({
1616 method: "post",
+1-1
apps/server/src/routes/v1/monitors/post_tcp.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { Events } from "@openstatus/analytics";
44import { and, db, eq, isNull, sql } from "@openstatus/db";
+1-1
apps/server/src/routes/v1/monitors/put.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { and, db, eq, isNull } from "@openstatus/db";
44import { monitor } from "@openstatus/db/src/schema";
+1-1
apps/server/src/routes/v1/monitors/run/post.ts
···11import { env } from "@/env";
22import { getCheckerPayload, getCheckerUrl } from "@/libs/checker";
33import { openApiErrorResponses } from "@/libs/errors";
44-import { createRoute, z } from "@hono/zod-openapi";
44+import { createRoute } from "@hono/zod-openapi";
55import { and, eq, gte, isNull, sql } from "@openstatus/db";
66import { db } from "@openstatus/db/src/db";
77import { monitorRun } from "@openstatus/db/src/schema";
+1-1
apps/server/src/routes/v1/pages/get.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors";
44import { and, eq } from "@openstatus/db";
+1-1
apps/server/src/routes/v1/pages/post.ts
···11-import { createRoute, z } from "@hono/zod-openapi";
11+import { createRoute } from "@hono/zod-openapi";
2233import { and, eq, inArray, isNull, sql } from "@openstatus/db";
44import { db } from "@openstatus/db/src/db";
···11-import * as React from "react";
22-31import { EmptyState } from "@/components/dashboard/empty-state";
42import { columns } from "@/components/data-table/incident/columns";
53import { DataTable } from "@/components/data-table/incident/data-table";
···11import { notFound } from "next/navigation";
22-import * as React from "react";
3243import { DatePickerPreset } from "@/components/monitor-dashboard/date-picker-preset";
54import { prepareListByPeriod } from "@/lib/tb";
···11import { notFound } from "next/navigation";
22-import * as React from "react";
3243import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
54import { Separator } from "@openstatus/ui";
···11-import Link from "next/link";
22-33-import { ButtonWithDisableTooltip } from "@openstatus/ui";
44-51import { Header } from "@/components/dashboard/header";
62import AppPageLayout from "@/components/layout/app-page-layout";
77-import { api } from "@/trpc/server";
8394export default async function Layout({
105 children,
···11-import Link from "next/link";
22-import * as React from "react";
33-44-import { Button } from "@openstatus/ui/src/components/button";
55-61import { EmptyState } from "@/components/dashboard/empty-state";
72import { Limit } from "@/components/dashboard/limit";
83import { columns } from "@/components/data-table/notification/columns";
···11import { notFound } from "next/navigation";
2233-import { allPlans } from "@openstatus/db/src/schema/plan/config";
44-53import { ProFeatureAlert } from "@/components/billing/pro-feature-alert";
64import { CustomDomainForm } from "@/components/forms/custom-domain-form";
75import { api } from "@/trpc/server";
···11-import Link from "next/link";
21import { notFound } from "next/navigation";
33-import * as React from "react";
44-55-import { Button } from "@openstatus/ui/src/components/button";
6273import { EmptyState } from "@/components/dashboard/empty-state";
84import { Events } from "@/components/status-update/events";
-1
apps/web/src/app/app/page.tsx
···11"use client";
2233import { useRouter } from "next/navigation";
44-import * as React from "react";
5465import { Shell } from "@/components/dashboard/shell";
76import { AppHeader } from "@/components/layout/header/app-header";
···11import type { Metadata } from "next";
22-33-import { BackButton } from "@/components/layout/back-button";
42import StatusPlay from "./_components/status-play";
5364export const metadata: Metadata = {
-1
apps/web/src/app/public/monitors/[id]/page.tsx
···11import { notFound } from "next/navigation";
22-import * as React from "react";
3243import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
54import { Separator } from "@openstatus/ui";
···11import { notFound } from "next/navigation";
22-import * as React from "react";
3243import { type Region, flyRegions } from "@openstatus/db/src/schema/constants";
54import { Separator } from "@openstatus/ui/src/components/separator";
+1-8
apps/web/src/app/status/page.tsx
···22import type { Metadata } from "next";
33import Link from "next/link";
4455-import {
66- Card,
77- CardDescription,
88- CardFooter,
99- CardHeader,
1010- CardTitle,
1111-} from "@openstatus/ui";
55+import { Card, CardDescription, CardHeader, CardTitle } from "@openstatus/ui";
1261313-import { Icons } from "@/components/icons";
147import { MarketingLayout } from "@/components/layout/marketing-layout";
158import { env } from "@/env";
169import {
···33import type { ColumnDef } from "@tanstack/react-table";
4455import type { Maintenance } from "@openstatus/db/src/schema";
66-77-import { formatDateTime } from "@/lib/utils";
86import { format } from "date-fns";
97import { DataTableRowActions } from "./data-table-row-actions";
108
···11"use client";
22-33-import * as React from "react";
42import type { UseFormReturn } from "react-hook-form";
5364import type { InsertMaintenance } from "@openstatus/db/src/schema";
···11"use client";
22-33-import * as React from "react";
42import type { UseFormReturn } from "react-hook-form";
5364import type { InsertMonitor } from "@openstatus/db/src/schema";
···11"use client";
22-33-import * as React from "react";
42import type { UseFormReturn } from "react-hook-form";
5364import type { InsertPage } from "@openstatus/db/src/schema";
···11"use client";
2233import { X } from "lucide-react";
44-import * as React from "react";
54import type { UseFormReturn } from "react-hook-form";
6576import type { InsertPage, WorkspacePlan } from "@openstatus/db/src/schema";
···66import { useForm } from "react-hook-form";
7788import { insertStatusReportSchema } from "@openstatus/db/src/schema";
99-import type {
1010- InsertStatusReport,
1111- Monitor,
1212- Page,
1313-} from "@openstatus/db/src/schema";
99+import type { InsertStatusReport, Monitor } from "@openstatus/db/src/schema";
1410import { Form } from "@openstatus/ui";
15111612import {
···11"use client";
22-33-import * as React from "react";
42import type { UseFormReturn } from "react-hook-form";
5364import type { InsertStatusReport } from "@openstatus/db/src/schema";
-1
apps/web/src/components/layout/brand-name.tsx
···11import Link from "next/link";
22-import * as React from "react";
3243// Hottake: you don't need a features page if you have a changelog page
54// Except for SEO
···11"use client";
2233-import { useSearchParams } from "next/navigation";
44-55-import type { WorkspacePlan } from "@openstatus/db/src/schema/workspaces/validation";
66-73import { workspacePlans } from "@openstatus/db/src/schema";
84import { parseAsStringLiteral, useQueryState } from "nuqs";
95import { Suspense } from "react";
-2
apps/web/src/components/monitor-charts/utils.tsx
···11-import { format } from "date-fns";
22-31import { flyRegionsDict } from "@openstatus/utils";
4253import type { Period, Quantile } from "@/lib/monitor/utils";
···11"use client";
2233-import * as React from "react";
44-53import { periodFormatter } from "@/lib/monitor/utils";
64import type { Period } from "@/lib/monitor/utils";
75import { SearchParamsPreset } from "./search-params-preset";
···11-import * as React from "react";
22-31interface EmailTemplateProps {
42 firstName: string;
53}
-1
apps/web/src/components/theme-provider.tsx
···2233import { ThemeProvider as NextThemesProvider } from "next-themes";
44import type { ThemeProviderProps } from "next-themes/dist/types";
55-import * as React from "react";
6576export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
87 return <NextThemesProvider {...props}>{children}</NextThemesProvider>;
-1
apps/web/src/components/theme/theme-toggle.tsx
···11"use client";
2233import { useTheme } from "next-themes";
44-import * as React from "react";
5465import { Button } from "@openstatus/ui/src/components/button";
76import {
-1
apps/web/src/config/features.tsx
···11import type { ValidIcon } from "@/components/icons";
22-import { Terminal } from "@/components/marketing/cli/terminal";
3243export type Feature = {
54 icon: ValidIcon;
+1-8
apps/web/src/lib/monitor/utils.ts
···11-import {
22- endOfDay,
33- endOfHour,
44- startOfDay,
55- startOfHour,
66- subDays,
77- subHours,
88-} from "date-fns";
11+import { endOfDay, startOfDay, startOfHour, subDays } from "date-fns";
92103import type { MonitorPeriodicity } from "@openstatus/db/src/schema";
114
-2
apps/web/src/next-auth.d.ts
···11-import type NextAuth from "next-auth";
22-31import type { User as DefaultUserSchema } from "@openstatus/db/src/schema";
4253declare module "next-auth" {
···11import { createInsertSchema, createSelectSchema } from "drizzle-zod";
22-import type { z } from "zod";
3243import { monitorRegionSchema } from "../constants";
54import { monitorStatusSchema } from "../monitors";