Landing page redesign, dashboard improvements & new settings sections #67

Merged
uz1mani merged 60 commits from staging into main 2026-03-22 16:17:38 +00:00
69 changed files with 8490 additions and 1712 deletions
Showing only changes of commit 5c30043550 - Show all commits

View File

@@ -54,23 +54,6 @@ export interface UptimeStatusResponse {
total_monitors: number total_monitors: number
} }
export interface CreateMonitorRequest {
name: string
url: string
check_interval_seconds?: number
expected_status_code?: number
timeout_seconds?: number
}
export interface UpdateMonitorRequest {
name: string
url: string
check_interval_seconds?: number
expected_status_code?: number
timeout_seconds?: number
enabled?: boolean
}
/** /**
* Fetches the uptime status overview for all monitors of a site * Fetches the uptime status overview for all monitors of a site
*/ */
@@ -82,43 +65,6 @@ export async function getUptimeStatus(siteId: string, startDate?: string, endDat
return apiRequest<UptimeStatusResponse>(`/sites/${siteId}/uptime/status${query ? `?${query}` : ''}`) return apiRequest<UptimeStatusResponse>(`/sites/${siteId}/uptime/status${query ? `?${query}` : ''}`)
} }
/**
* Lists all uptime monitors for a site
*/
export async function listUptimeMonitors(siteId: string): Promise<UptimeMonitor[]> {
const res = await apiRequest<{ monitors: UptimeMonitor[] }>(`/sites/${siteId}/uptime/monitors`)
return res?.monitors ?? []
}
/**
* Creates a new uptime monitor
*/
export async function createUptimeMonitor(siteId: string, data: CreateMonitorRequest): Promise<UptimeMonitor> {
return apiRequest<UptimeMonitor>(`/sites/${siteId}/uptime/monitors`, {
method: 'POST',
body: JSON.stringify(data),
})
}
/**
* Updates an existing uptime monitor
*/
export async function updateUptimeMonitor(siteId: string, monitorId: string, data: UpdateMonitorRequest): Promise<UptimeMonitor> {
return apiRequest<UptimeMonitor>(`/sites/${siteId}/uptime/monitors/${monitorId}`, {
method: 'PUT',
body: JSON.stringify(data),
})
}
/**
* Deletes an uptime monitor
*/
export async function deleteUptimeMonitor(siteId: string, monitorId: string): Promise<void> {
await apiRequest(`/sites/${siteId}/uptime/monitors/${monitorId}`, {
method: 'DELETE',
})
}
/** /**
* Fetches recent checks for a specific monitor * Fetches recent checks for a specific monitor
*/ */