import { useState } from 'react'; import { useAuthStore } from '../../auth/auth-store'; import { StatusBadge } from '../../components/admin/StatusBadge'; import { RefreshableCard } from '../../components/admin/RefreshableCard'; import { ConfirmDeleteDialog } from '../../components/admin/ConfirmDeleteDialog'; import { useDatabaseStatus, useDatabasePool, useDatabaseTables, useDatabaseQueries, useKillQuery, } from '../../api/queries/admin/database'; import { useThresholds, useSaveThresholds, type ThresholdConfig } from '../../api/queries/admin/thresholds'; import styles from './DatabaseAdminPage.module.css'; export function DatabaseAdminPage() { const roles = useAuthStore((s) => s.roles); if (!roles.includes('ADMIN')) { return (
| Table | Rows | Data Size | Index Size |
|---|---|---|---|
| {t.tableName} | {t.rowCount.toLocaleString()} | {t.dataSize} | {t.indexSize} |
| PID | Duration | State | Query | |
|---|---|---|---|---|
| {q.pid} | {formatDuration(q.durationSeconds)} | {q.state} | {q.query.length > 100 ? `${q.query.slice(0, 100)}...` : q.query} |