···413413 return _report;
414414 }),
415415416416+ getNoopReport: publicProcedure.query(async () => {
417417+ const date = new Date(new Date().setDate(new Date().getDate() - 4));
418418+419419+ const resolvedDate = new Date(date.setMinutes(date.getMinutes() - 81));
420420+ const monitoringDate = new Date(date.setMinutes(date.getMinutes() - 54));
421421+ const identifiedDate = new Date(date.setMinutes(date.getMinutes() - 32));
422422+ const investigatingDate = new Date(date.setMinutes(date.getMinutes() - 4));
423423+424424+ return {
425425+ id: 1,
426426+ pageId: 1,
427427+ status: "investigating" as const,
428428+ title: "API Latency Issues",
429429+ message: "We are currently investigating elevated API response times.",
430430+ createdAt: new Date(new Date().setDate(new Date().getDate() - 2)),
431431+ updatedAt: new Date(new Date().setDate(new Date().getDate() - 1)),
432432+ monitorsToStatusReports: [
433433+ {
434434+ monitorId: 1,
435435+ statusReportId: 1,
436436+ monitor: {
437437+ id: 1,
438438+ jobType: "http" as const,
439439+ periodicity: "30s" as const,
440440+ status: "active" as const,
441441+ active: true,
442442+ regions: ["ams", "fra"],
443443+ url: "https://api.example.com",
444444+ name: "API Monitor",
445445+ description: "Main API endpoint",
446446+ headers: null,
447447+ body: null,
448448+ method: "GET" as const,
449449+ public: true,
450450+ deletedAt: null,
451451+ createdAt: new Date(new Date().setDate(new Date().getDate() - 30)),
452452+ updatedAt: new Date(new Date().setDate(new Date().getDate() - 30)),
453453+ workspaceId: 1,
454454+ timeout: 30000,
455455+ degradedAfter: null,
456456+ assertions: null,
457457+ },
458458+ },
459459+ ],
460460+ statusReportUpdates: [
461461+ {
462462+ id: 4,
463463+ statusReportId: 1,
464464+ status: "resolved" as const,
465465+ message:
466466+ "All systems are operating normally. The issue has been fully resolved.",
467467+ date: resolvedDate,
468468+ createdAt: resolvedDate,
469469+ updatedAt: resolvedDate,
470470+ },
471471+ {
472472+ id: 3,
473473+ statusReportId: 1,
474474+ status: "monitoring" as const,
475475+ message:
476476+ "We are continuing to monitor the situation to ensure that the issue is resolved.",
477477+ date: monitoringDate,
478478+ createdAt: monitoringDate,
479479+ updatedAt: monitoringDate,
480480+ },
481481+ {
482482+ id: 2,
483483+ statusReportId: 1,
484484+ status: "identified" as const,
485485+ message: "The issue has been identified and a fix is being deployed.",
486486+ date: identifiedDate,
487487+ createdAt: identifiedDate,
488488+ updatedAt: identifiedDate,
489489+ },
490490+ {
491491+ id: 1,
492492+ statusReportId: 1,
493493+ status: "investigating" as const,
494494+ message:
495495+ "We are investigating reports of increased latency on our API endpoints.",
496496+ date: investigatingDate,
497497+ createdAt: investigatingDate,
498498+ updatedAt: investigatingDate,
499499+ },
500500+ ],
501501+ };
502502+ }),
503503+416504 getMonitors: publicProcedure
417505 .input(z.object({ slug: z.string().toLowerCase() }))
418506 .query(async (opts) => {
+5-3
packages/theme-store/README.md
···21212222## Creating a New Theme
23232424-> **Help us ship an epic palette picker!**
2525-> We are looking for contributions to build an epic [palette picker](https://github.com/openstatusHQ/openstatus/blob/main/apps/status-page/src/components/themes/theme-palette-picker.tsx) to help others generate and export their own themes.
2424+Want to contribute a theme?
26252727-Want to contribute a theme? Follow these steps:
2626+We only support themes via GitHub contributions to keep a certain version control. You can:
2727+2828+- Configure your [themes.openstatus.dev](https://themes.openstatus.dev/?b=true) and copy the configuration
2929+- Directly test by running it locally
28302931### 1. Run the project
3032