Skip to content

Commit b91adb3

Browse files
committed
wip: fixed more styling
1 parent a551f74 commit b91adb3

File tree

4 files changed

+92
-41
lines changed

4 files changed

+92
-41
lines changed

package-lock.json

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
},
1212
"dependencies": {
1313
"@docusaurus/plugin-client-redirects": "^3.8.0",
14-
"@tanstack/react-query": "^5.80.2",
14+
"@tanstack/react-query": "^5.80.6",
1515
"chart.js": "^4.4.9",
1616
"chartjs-adapter-date-fns": "^3.0.0",
1717
"chartjs-plugin-zoom": "^2.2.0",
1818
"date-fns": "^4.1.0",
1919
"react-chartjs-2": "^5.3.0"
2020
},
2121
"devDependencies": {
22-
"@cloudflare/workers-types": "^4.20250604.0",
22+
"@cloudflare/workers-types": "^4.20250605.0",
2323
"@docusaurus/core": "^3.8.0",
2424
"@docusaurus/module-type-aliases": "^3.8.0",
2525
"@docusaurus/preset-classic": "^3.8.0",

src/css/custom.css

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
.navbar__inner {
5555
max-width: 1100px;
5656
margin: 0 auto;
57+
color: #fff;
5758
}
5859

5960
.navbar__logo {
@@ -115,11 +116,27 @@
115116
}
116117
}
117118

118-
/**
119-
* Footer
120-
*/
119+
table {
120+
border-collapse: collapse;
121+
width: 100%;
122+
}
123+
124+
th, td {
125+
border: 1px solid var(--ifm-table-border-color);
126+
padding: 0.6em 1em;
127+
}
128+
121129
.footer {
122130
background: #000;
123-
/*height: 6em;*/
124131
padding: 1.5em 0;
132+
display: flex;
133+
justify-content: center;
125134
}
135+
136+
.footer__bottom {
137+
justify-content: center;
138+
align-items: center;
139+
display: flex;
140+
flex-direction: column;
141+
}
142+

src/pages/index.tsx

Lines changed: 57 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -54,25 +54,57 @@ export default function Home(): React.JSX.Element {
5454
queryFn: () =>
5555
fetch(`${siteConfig.url}/api/deployments`).then(async (response) => {
5656
const resp = await utils.unwrapJson(response);
57-
if (Array.isArray(resp)) {
58-
resp.length = 5;
59-
}
60-
return resp;
57+
return Array.isArray(resp) ? resp.slice(0, 5) : [];
6158
}),
6259
refetchInterval: 60 * 1000,
6360
});
6461

65-
const versionMetadataKeys = deploymentsQuery.data?.reduce(
66-
(acc, deployment) => {
67-
for (const key of Object.keys(deployment.versionMetadata)) {
68-
acc.add(key);
62+
const preferredOrder = [
63+
'commitHash',
64+
'version',
65+
'libVersion',
66+
'libSourceVersion',
67+
'libStateVersion',
68+
'libNetworkVersion',
69+
];
70+
71+
const versionMetadataLabels: Record<string, string> = {
72+
version: 'Version',
73+
commitHash: 'Commit',
74+
libVersion: 'LibVersion',
75+
libStateVersion: 'StVer',
76+
libSourceVersion: 'LibSrcVer',
77+
libNetworkVersion: 'Net',
78+
};
79+
80+
function formatLocalDateTime(ms: number): string {
81+
return new Date(ms).toLocaleString(undefined, {
82+
year: 'numeric',
83+
month: '2-digit',
84+
day: '2-digit',
85+
hour: '2-digit',
86+
minute: '2-digit',
87+
second: '2-digit',
88+
});
89+
}
90+
91+
const versionMetadataKeysSorted = React.useMemo(() => {
92+
if (!Array.isArray(deploymentsQuery.data)) return [];
93+
94+
const keySet = new Set<string>();
95+
for (const deployment of deploymentsQuery.data) {
96+
if (
97+
deployment &&
98+
typeof deployment.versionMetadata === 'object' &&
99+
deployment.versionMetadata != null
100+
) {
101+
for (const key of Object.keys(deployment.versionMetadata)) {
102+
keySet.add(key);
103+
}
69104
}
70-
return acc;
71-
},
72-
new Set<string>(),
73-
);
74-
const versionMetadataKeysSorted =
75-
versionMetadataKeys != null ? [...versionMetadataKeys].sort() : undefined;
105+
}
106+
return Array.from(keySet).sort();
107+
}, [deploymentsQuery.data]);
76108
return (
77109
<Layout
78110
description="Polykey, a new approach to secrets management."
@@ -142,17 +174,19 @@ export default function Home(): React.JSX.Element {
142174
)}
143175
<div className="rounded-2xl bg-[#E4F6F2] p-3">
144176
<span className="font-semibold">Deployments:</span>
145-
<table className="mt-3 w-full">
146-
<tbody className="table w-full">
177+
<table className="mt-3 w-full table-auto">
178+
<thead>
147179
<tr>
148180
<th>ID</th>
149-
{(versionMetadataKeysSorted ?? []).map((key) => (
150-
<th key={key}>{key}</th>
181+
{preferredOrder.map((key) => (
182+
<th key={key}>{versionMetadataLabels[key] ?? key}</th>
151183
))}
152184
<th>Started On</th>
153185
<th>Finished On</th>
154186
<th>Progress</th>
155187
</tr>
188+
</thead>
189+
<tbody>
156190
{deploymentsQuery.isLoading ? (
157191
<tr>
158192
<td align="center" colSpan={5}>
@@ -174,7 +208,7 @@ export default function Home(): React.JSX.Element {
174208
return (
175209
<tr key={deployment.id}>
176210
<td>{deployment.id}</td>
177-
{(versionMetadataKeysSorted ?? []).map((key) => {
211+
{preferredOrder.map((key) => {
178212
const value = deployment.versionMetadata[key];
179213
if (value == null) {
180214
return <td key={key}></td>;
@@ -195,11 +229,11 @@ export default function Home(): React.JSX.Element {
195229
return <td key={key}>{value}</td>;
196230
}
197231
})}
198-
<td>{new Date(deployment.startedOn).toISOString()}</td>
232+
<td>{formatLocalDateTime(deployment.startedOn)}</td>
199233
<td>
200-
{deployment.finishedOn == null
201-
? ''
202-
: new Date(deployment.finishedOn).toISOString()}
234+
{deployment.finishedOn
235+
? formatLocalDateTime(deployment.finishedOn)
236+
: ''}
203237
</td>
204238
<td className="text-center">
205239
<div className="relative inline-flex items-center justify-center overflow-hidden rounded-full">

0 commit comments

Comments
 (0)