links
-
+
{links.map((l) => (
-
@@ -40,118 +41,109 @@ const Home: NextPage = () => {
-
+
virtual servers
-
-
-
- | name |
- provider |
- zone |
- ip |
- belongs to |
-
-
+
{virtualServers.map((vs) => (
- | {vs.name} |
- {vs.provider} |
- {vs.zone} |
-
+ | {vs.name} |
+ {vs.provider} |
+ {vs.zone} |
+
{vs.ip}
|
- {vs.belongsTo} |
+ {vs.belongsTo} |
))}
-
+
dedicated servers
-
-
-
- | name |
- provider |
- zone |
- ip |
- belongs to |
-
-
+
{dedicatedServers.map((ds) => (
- | {ds.name} |
- {ds.provider} |
- {ds.zone} |
-
+ | {ds.name} |
+ {ds.provider} |
+ {ds.zone} |
+
{ds.ip}
|
- {ds.belongsTo} |
+ {ds.belongsTo} |
))}
-
+
load balancers
-
-
-
- | name |
- provider |
- zone |
- ip |
- belongs to |
-
-
+
{loadbalancers.map((lb) => (
- | {lb.name} |
- {lb.provider} |
- {lb.zone} |
-
+ | {lb.name} |
+ {lb.provider} |
+ {lb.zone} |
+
{lb.ip}
|
- {lb.belongsTo} |
+ {lb.belongsTo} |
))}
-
+
kubernetes clusters
-
-
-
- | name |
- provider |
- zone |
- url |
- |
-
-
+
{kubernetes.map((k8s) => (
- | {k8s.name} |
- {k8s.provider} |
- {k8s.zone} |
- {k8s.url} |
- |
+ {k8s.name} |
+ {k8s.provider} |
+ {k8s.zone} |
+
+ {k8s.url}
+ |
))}
-
+
diff --git a/themes/infra/components/Table.tsx b/themes/infra/components/Table.tsx
new file mode 100644
index 0000000..93e873f
--- /dev/null
+++ b/themes/infra/components/Table.tsx
@@ -0,0 +1,23 @@
+import { ReactNode, FunctionComponent } from 'react';
+
+type Props = {
+ columnNames: string[];
+ children?: ReactNode;
+};
+
+const Table = ({ columnNames, children }: Props) => (
+
+
+
+
+ {columnNames.map((cn) => (
+ | {cn} |
+ ))}
+
+
+ {children}
+
+
+);
+
+export default Table;