From cf54a4a2e84d848ed9ceeff02adfad682e57a321 Mon Sep 17 00:00:00 2001 From: Laux Dev <2201104208@student.buksu.edu.ph> Date: Wed, 25 Feb 2026 14:29:13 +0800 Subject: [PATCH] Add table for agents and credentials --- frontend/src/app/agents/page.jsx | 185 ++++++++++++++++++ frontend/src/app/agents/styles.module.css | 95 +++++++++ frontend/src/app/credentials/page.jsx | 117 +++++++++++ .../src/app/credentials/styles.module.css | 69 +++++++ .../app/organization/add/styles.module.css | 12 +- frontend/src/app/organization/page.jsx | 2 +- frontend/src/app/projects/page.jsx | 3 +- frontend/src/app/projects/styles.module.css | 2 +- 8 files changed, 480 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/agents/page.jsx b/frontend/src/app/agents/page.jsx index efc4c78..8ec2b62 100644 --- a/frontend/src/app/agents/page.jsx +++ b/frontend/src/app/agents/page.jsx @@ -3,11 +3,196 @@ import styles from "./styles.module.css"; import TopHeader from "../components/topHeader/TopHeader"; import globalStyle from "../globalStyle.module.css"; const AgentsPage = () => { + const sampleData = [ + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + { + name: "DOKS OneCB Dev", + endPoint: "http://100.64.1.9:6969", + type: "Tailscale", + proxyName: "doks-onecbdev-kube-apiserver-proxy", + dateCreated: "2/11/2026", + }, + ]; return (
+
+ + + + + + + + + + + + + + + {sampleData.map((org, index) => { + return ( + + + + + + + + + ); + })} + +
NameEndpointTypeProxy NameDate Created
{org.name}{org.endPoint} +
{org.type}
+
{org.proxyName}{org.dateCreated} +
+ +
+
+ +
+
+
diff --git a/frontend/src/app/agents/styles.module.css b/frontend/src/app/agents/styles.module.css index e69de29..bbad366 100644 --- a/frontend/src/app/agents/styles.module.css +++ b/frontend/src/app/agents/styles.module.css @@ -0,0 +1,95 @@ +.tableContainer { + width: 100%; +} +.tableContainer > table, +.tableContainer > table > thead { + border-collapse: collapse; + border: none; + width: 100%; +} +.tableContainer { + height: calc(100vh - 170px); + overflow-y: auto; +} + +.tableContainer > table > thead > tr > th, +.tableContainer > table > tbody > tr > td { + padding: 12px 24px; + gap: 17px; + text-align: start; +} + +.tableContainer > table > thead > tr { + border-bottom: 1px solid #212235; + background: #1c1d2b; +} +.tableContainer > table > tbody > tr > td { + color: #eeeffd; + font-family: Inter; + font-size: 13px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +.type { + display: flex; + padding: 4px 0px; + justify-content: center; + align-items: center; + gap: 10px; + border-radius: 6px; + border: 0.5px solid #5359f2; + background: rgba(83, 89, 242, 0.25); +} +.type > p { + color: #eeeffd; + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +.tableContainer > table > tbody > tr { + border-bottom: 1px solid rgba(129, 135, 255, 0); + cursor: pointer; +} +.tableContainer > table > tbody > tr:hover { + border-bottom: 1px solid rgba(129, 135, 255, 0.25); + background: rgba(129, 135, 255, 0.05); +} +.tableContainer > table > thead > tr > th { + color: #85869b; + font-family: Inter; + font-size: 13px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +.iconButton { + display: flex; + padding: 6px; + flex-direction: column; + justify-content: center; + align-items: center; + flex-shrink: 0; + aspect-ratio: 1/1; + background-color: rgba(255, 255, 255, 0); + outline: none; + border: 1px solid #959aff00; + cursor: pointer; + border-radius: 50%; +} +.iconButton:hover { + border: 1px solid #959aff; + background: linear-gradient(180deg, #696b95 0%, #20202d 100%); +} +.iconButton:hover path { + stroke: white; +} +.actions { + display: flex; + justify-content: start; + align-items: center; + gap: 12px; + align-self: stretch; +} diff --git a/frontend/src/app/credentials/page.jsx b/frontend/src/app/credentials/page.jsx index 3880ad8..05954be 100644 --- a/frontend/src/app/credentials/page.jsx +++ b/frontend/src/app/credentials/page.jsx @@ -1,12 +1,129 @@ import React from "react"; import TopHeader from "../components/topHeader/TopHeader"; import globalStyle from "../globalStyle.module.css"; +import styles from "./styles.module.css"; const CredentialsPage = () => { + const sampleData = [ + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + { + name: "mongo tls ca crt", + organizationID: "67160a5ae69144ff19aafb86", + }, + ]; return (
+
+ + + + + + + + + + + {sampleData.map((org, index) => { + return ( + + + + + + ); + })} + +
NameOrganization ID
{org.name}{org.organizationID} +
+ +
+
+
diff --git a/frontend/src/app/credentials/styles.module.css b/frontend/src/app/credentials/styles.module.css index e69de29..349bf30 100644 --- a/frontend/src/app/credentials/styles.module.css +++ b/frontend/src/app/credentials/styles.module.css @@ -0,0 +1,69 @@ +.tableContainer { + width: 100%; +} +.tableContainer > table, +.tableContainer > table > thead { + border-collapse: collapse; + border: none; + width: 100%; +} +.tableContainer { + height: calc(100vh - 170px); + overflow-y: auto; +} + +.tableContainer > table > thead > tr > th, +.tableContainer > table > tbody > tr > td { + padding: 12px 24px; + gap: 17px; + text-align: start; +} +.tableContainer > table > thead > tr { + border-bottom: 1px solid #212235; + background: #1c1d2b; +} +.tableContainer > table > tbody > tr > td { + color: #eeeffd; + font-family: Inter; + font-size: 13px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +.tableContainer > table > tbody > tr { + border-bottom: 1px solid rgba(129, 135, 255, 0); + cursor: pointer; +} +.tableContainer > table > tbody > tr:hover { + border-bottom: 1px solid rgba(129, 135, 255, 0.25); + background: rgba(129, 135, 255, 0.05); +} +.tableContainer > table > thead > tr > th { + color: #85869b; + font-family: Inter; + font-size: 13px; + font-style: normal; + font-weight: 500; + line-height: normal; +} +.iconButton { + display: flex; + padding: 6px; + flex-direction: column; + justify-content: center; + align-items: center; + flex-shrink: 0; + aspect-ratio: 1/1; + background-color: rgba(255, 255, 255, 0); + outline: none; + border: 1px solid #959aff00; + cursor: pointer; + border-radius: 50%; +} +.iconButton:hover { + border: 1px solid #959aff; + background: linear-gradient(180deg, #696b95 0%, #20202d 100%); +} +.iconButton:hover path { + stroke: white; +} diff --git a/frontend/src/app/organization/add/styles.module.css b/frontend/src/app/organization/add/styles.module.css index 082363a..a5968ff 100644 --- a/frontend/src/app/organization/add/styles.module.css +++ b/frontend/src/app/organization/add/styles.module.css @@ -159,12 +159,22 @@ border-radius: 6px; border: 1px solid #616583; background-color: transparent; - color: #85869b; + color: white; font-family: Inter; font-size: 16px; + outline: none; font-style: normal; font-weight: 400; line-height: normal; + caret-color: #575bc7; +} +.inputField > input:focus { + border-radius: 6px; + border: 1px solid #a8aac1; + background: rgba(75, 79, 109, 0.25); +} +.inputField > input:hover { + background: rgba(75, 79, 109, 0.25); } .inputField > input::placeholder { color: #85869b; diff --git a/frontend/src/app/organization/page.jsx b/frontend/src/app/organization/page.jsx index a3ad9e0..0f3f9d9 100644 --- a/frontend/src/app/organization/page.jsx +++ b/frontend/src/app/organization/page.jsx @@ -71,7 +71,7 @@ const OrganizationPage = () => { Organization Name Date Created - Actions + diff --git a/frontend/src/app/projects/page.jsx b/frontend/src/app/projects/page.jsx index 2b5b60c..15d2e22 100644 --- a/frontend/src/app/projects/page.jsx +++ b/frontend/src/app/projects/page.jsx @@ -169,7 +169,7 @@ const ProjectsPage = () => { - + @@ -178,7 +178,6 @@ const ProjectsPage = () => { - {sampleData.map((project, index) => { return ( diff --git a/frontend/src/app/projects/styles.module.css b/frontend/src/app/projects/styles.module.css index 87b683d..2a23484 100644 --- a/frontend/src/app/projects/styles.module.css +++ b/frontend/src/app/projects/styles.module.css @@ -19,7 +19,7 @@ .tableContainer > table > thead > tr > th, .tableContainer > table > tbody > tr > td { padding: 12px 24px; - gap: 16px; + text-align: start; align-self: stretch; }
NameName Version CPU Used/Limit Memory Used/Limit