diff --git a/apps/console/src/App.tsx b/apps/console/src/App.tsx index 47faa0dbb..45534233f 100644 --- a/apps/console/src/App.tsx +++ b/apps/console/src/App.tsx @@ -23,7 +23,7 @@ posthog.init(process.env.POSTHOG_KEY!, { const HomePage = lazy(() => import("./pages/HomePage")); const NotFoundPage = lazy(() => import("./pages/NotFoundPage")); const PeoplesPage = lazy(() => import("./pages/PeoplesPage")); -const VendorsPage = lazy(() => import("./pages/VendorsPage")); +const VendorList = lazy(() => import("./pages/VendorList")); const FrameworksPage = lazy(() => import("./pages/FrameworksPage")); const FrameworkOverviewPage = lazy(() => import("./pages/FrameworkOverviewPage")); @@ -40,7 +40,7 @@ function App() { }> } /> } /> - } /> + } /> } /> } /> diff --git a/apps/console/src/pages/VendorsPage.tsx b/apps/console/src/pages/VendorList.tsx similarity index 66% rename from apps/console/src/pages/VendorsPage.tsx rename to apps/console/src/pages/VendorList.tsx index 2f849b66f..4b4c3a555 100644 --- a/apps/console/src/pages/VendorsPage.tsx +++ b/apps/console/src/pages/VendorList.tsx @@ -7,11 +7,13 @@ import { } from "react-relay"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Badge } from "@/components/ui/badge"; -import { CircleUser, Globe, Shield } from "lucide-react"; +import { CircleUser, Globe, Shield, Store } from "lucide-react"; +import { Input } from "@/components/ui/input"; +import { Button } from "@/components/ui/button"; import type { VendorsPageQuery as VendorsPageQueryType } from "./__generated__/VendorsPageQuery.graphql"; -const VendorsPageQuery = graphql` - query VendorsPageQuery { +const VendorListQuery = graphql` + query VendorListQuery { node(id: "AZSfP_xAcAC5IAAAAAAltA") { id ... on Organization { @@ -30,12 +32,12 @@ const VendorsPageQuery = graphql` } `; -function VendorsPageContent({ +function VendorListContent({ queryRef, }: { queryRef: PreloadedQuery; }) { - const data = usePreloadedQuery(VendorsPageQuery, queryRef); + const data = usePreloadedQuery(VendorListQuery, queryRef); const vendors = data.node.vendors?.edges.map(edge => edge?.node) ?? []; return ( @@ -46,6 +48,34 @@ function VendorsPageContent({ Keep track of your company's vendors and their compliance status.

+ +
+
+
+ + + + +
+

Add a vendor

+

Search and add new vendors

+
+
+
+
+ + +
+
+
+
+
{vendors.map((vendor) => (
@@ -97,20 +127,20 @@ function VendorsPageFallback() { ); } -export default function VendorsPage() { - const [queryRef, loadQuery] = useQueryLoader(VendorsPageQuery); +export default function VendorList() { + const [queryRef, loadQuery] = useQueryLoader(VendorListQuery); useEffect(() => { loadQuery({}); }, [loadQuery]); if (!queryRef) { - return ; + return ; } return ( - }> - + }> + ); } diff --git a/apps/console/src/pages/__generated__/VendorsPageQuery.graphql.ts b/apps/console/src/pages/__generated__/VendorListQuery.graphql.ts similarity index 81% rename from apps/console/src/pages/__generated__/VendorsPageQuery.graphql.ts rename to apps/console/src/pages/__generated__/VendorListQuery.graphql.ts index dd484cd38..3a02eb58a 100644 --- a/apps/console/src/pages/__generated__/VendorsPageQuery.graphql.ts +++ b/apps/console/src/pages/__generated__/VendorListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<76613a71949a43eb69fb9dfd0a4c1694>> + * @generated SignedSource<<825817de2398615779403c0817995f9f>> * @lightSyntaxTransform * @nogrep */ @@ -9,8 +9,8 @@ // @ts-nocheck import { ConcreteRequest } from 'relay-runtime'; -export type VendorsPageQuery$variables = Record; -export type VendorsPageQuery$data = { +export type VendorListQuery$variables = Record; +export type VendorListQuery$data = { readonly node: { readonly id: string; readonly vendors?: { @@ -25,9 +25,9 @@ export type VendorsPageQuery$data = { }; }; }; -export type VendorsPageQuery = { - response: VendorsPageQuery$data; - variables: VendorsPageQuery$variables; +export type VendorListQuery = { + response: VendorListQuery$data; + variables: VendorListQuery$variables; }; const node: ConcreteRequest = (function(){ @@ -112,7 +112,7 @@ return { "argumentDefinitions": [], "kind": "Fragment", "metadata": null, - "name": "VendorsPageQuery", + "name": "VendorListQuery", "selections": [ { "alias": null, @@ -135,7 +135,7 @@ return { "operation": { "argumentDefinitions": [], "kind": "Operation", - "name": "VendorsPageQuery", + "name": "VendorListQuery", "selections": [ { "alias": null, @@ -160,16 +160,16 @@ return { ] }, "params": { - "cacheID": "6e90edfb4e2117a046157785647169c7", + "cacheID": "ced04a7cfd00f4525d09d6bf5303167b", "id": null, "metadata": {}, - "name": "VendorsPageQuery", + "name": "VendorListQuery", "operationKind": "query", - "text": "query VendorsPageQuery {\n node(id: \"AZSfP_xAcAC5IAAAAAAltA\") {\n __typename\n id\n ... on Organization {\n vendors {\n edges {\n node {\n id\n name\n createdAt\n updatedAt\n }\n }\n }\n }\n }\n}\n" + "text": "query VendorListQuery {\n node(id: \"AZSfP_xAcAC5IAAAAAAltA\") {\n __typename\n id\n ... on Organization {\n vendors {\n edges {\n node {\n id\n name\n createdAt\n updatedAt\n }\n }\n }\n }\n }\n}\n" } }; })(); -(node as any).hash = "22ce46326b87e66442cdb832085dfe60"; +(node as any).hash = "4f125111c515f868693b33e5209d05fd"; export default node;