Skip to content

Commit

Permalink
feat: add initial version of /status page
Browse files Browse the repository at this point in the history
  • Loading branch information
AlAnNuB authored Nov 25, 2024
1 parent d8b212b commit d5ef787
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions pages/status/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import useSWR from "swr";

async function fetchAPI(key) {
const response = await fetch(key);
const responseBody = await response.json();

return responseBody;
}

export default function StatusPage() {
return (
<>
<h1>Status</h1>
<UpdatedAt />
<DatabaseStatus />
</>
);
}

function UpdatedAt() {
const { isLoading, data } = useSWR("/api/v1/status", fetchAPI, {
//Recarregar de 2 em 2 segundos
refreshInterval: 2000,
//Guarda a resposta no cache por padrão de 2 segundos não executando nova chamada nesse tempo
dedupingInterval: 2000,
});

let updatedAtText = "Carregando...";

if (!isLoading && data) {
updatedAtText = new Date(data.updated_at).toLocaleString("pt-BR");
}

return <div>Última atualização: {updatedAtText}</div>;
}

function DatabaseStatus() {
const { isLoading, data } = useSWR("/api/v1/status", fetchAPI, {
refreshInterval: 2000,
});

let databaseStatusInformation = "Carregando...";

if (!isLoading && data) {
databaseStatusInformation = (
<>
<div>Versão: {data.dependencies.database.version}</div>
<div>
Conexões abertas: {data.dependencies.database.opened_connections}
</div>
<div>
Conexões máximas: {data.dependencies.database.max_connections}
</div>
</>
);

return (
<>
<h2>Database</h2>
<div>{databaseStatusInformation}</div>
</>
);
}
}

0 comments on commit d5ef787

Please sign in to comment.