···11import { notFound } from "next/navigation";
2233-import { Badge } from "@openstatus/ui";
44-53import { Header } from "@/components/dashboard/header";
64import AppPageWithSidebarLayout from "@/components/layout/app-page-with-sidebar-layout";
75import { StatusDotWithTooltip } from "@/components/monitor/status-dot-with-tooltip";
66+import { TagBadgeWithTooltip } from "@/components/monitor/tag-badge-with-tooltip";
87import { api } from "@/trpc/server";
98109export default async function Layout({
···3736 status={monitor.status}
3837 />
3938 <span className="text-muted-foreground/50 text-xs">•</span>
4040- <Badge className="inline-flex" variant="secondary">
4141- {monitor.method}
4242- </Badge>
3939+ <TagBadgeWithTooltip
4040+ tags={monitor.monitorTagsToMonitors.map(
4141+ ({ monitorTag }) => monitorTag,
4242+ )}
4343+ />
4344 <span className="text-muted-foreground/50 text-xs">•</span>
4445 <span className="text-sm">
4546 every <code>{monitor.periodicity}</code>
+1
apps/web/src/app/not-found.tsx
···991010export default function NotFound() {
1111 const router = useRouter();
1212+ // user should go back to dashboard
12131314 return (
1415 <main className="flex min-h-screen w-full flex-col space-y-6 p-4 md:p-8">
···11+VERSION 1
22+33+NODE __ttl_7d_list_get__v1_0
44+SQL >
55+66+ %
77+ SELECT latency, monitorId, error, region, statusCode, url, workspaceId, cronTimestamp, timestamp
88+ FROM __ttl_7d_mv__v1
99+ WHERE
1010+ monitorId = {{ String(monitorId, '1') }}
1111+ {% if defined(url) %} AND url = {{ String(url) }} {% end %}
1212+ ORDER BY cronTimestamp DESC
1313+1414+
+1-3
packages/tinybird/src/os-client.ts
···164164 };
165165 }
166166167167- // TBH: not sure if we need more than 1d for that, better allow the user
168168- // to click on a specific region and time
169169- endpointList(period: "1h" | "1d") {
167167+ endpointList(period: "1h" | "1d" | "3d" | "7d") {
170168 const parameters = z.object({
171169 monitorId: z.string(),
172170 url: z.string().optional(),