Fix trust center v2 display

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-09-30 16:26:16 +02:00
parent 55e85e5f67
commit 0460c11d9e
6 changed files with 28 additions and 32 deletions

View File

@@ -85,12 +85,6 @@ export function OrganizationSidebar({
{trustCenter.audits.edges.map((audit) => ( {trustCenter.audits.edges.map((audit) => (
<AuditRowAvatar key={audit.node.id} audit={audit.node} /> <AuditRowAvatar key={audit.node.id} audit={audit.node} />
))} ))}
{trustCenter.audits.edges.map((audit) => (
<AuditRowAvatar key={audit.node.id} audit={audit.node} />
))}
{trustCenter.audits.edges.map((audit) => (
<AuditRowAvatar key={audit.node.id} audit={audit.node} />
))}
</div> </div>
</div> </div>

View File

@@ -39,6 +39,7 @@ export function VendorRow(props: { vendor: VendorRowFragment$key }) {
{vendor.privacyPolicyUrl.split("//").at(-1)} {vendor.privacyPolicyUrl.split("//").at(-1)}
</a> </a>
)} )}
{vendor.countries.length > 0 && (
<div className="flex gap-1 text-txt-secondary items-center"> <div className="flex gap-1 text-txt-secondary items-center">
<IconPin size={16} className="flex-none" /> <IconPin size={16} className="flex-none" />
<span> <span>
@@ -47,6 +48,7 @@ export function VendorRow(props: { vendor: VendorRowFragment$key }) {
.join(", ")} .join(", ")}
</span> </span>
</div> </div>
)}
</div> </div>
</div> </div>
); );

View File

@@ -1,6 +1,6 @@
import { useFragment } from "react-relay"; import { useFragment } from "react-relay";
import { graphql } from "relay-runtime"; import { graphql } from "relay-runtime";
import type { OverviewFragment$key } from "./__generated__/OverviewFragment.graphql"; import type { OverviewPageFragment$key } from "./__generated__/OverviewPageFragment.graphql";
import { Link, useOutletContext } from "react-router"; import { Link, useOutletContext } from "react-router";
import { groupBy, objectEntries, sprintf } from "@probo/helpers"; import { groupBy, objectEntries, sprintf } from "@probo/helpers";
import type { TrustGraphQuery$data } from "/queries/__generated__/TrustGraphQuery.graphql"; import type { TrustGraphQuery$data } from "/queries/__generated__/TrustGraphQuery.graphql";
@@ -15,7 +15,7 @@ import { RowHeader } from "/components/RowHeader.tsx";
import { Rows } from "/components/Rows.tsx"; import { Rows } from "/components/Rows.tsx";
const overviewFragment = graphql` const overviewFragment = graphql`
fragment OverviewFragment on TrustCenter { fragment OverviewPageFragment on TrustCenter {
references(first: 14) { references(first: 14) {
edges { edges {
node { node {
@@ -48,7 +48,7 @@ const overviewFragment = graphql`
export function OverviewPage() { export function OverviewPage() {
const { trustCenter } = useOutletContext<{ const { trustCenter } = useOutletContext<{
trustCenter: OverviewFragment$key & trustCenter: OverviewPageFragment$key &
TrustGraphQuery$data["trustCenterBySlug"]; TrustGraphQuery$data["trustCenterBySlug"];
}>(); }>();
const { __ } = useTranslate(); const { __ } = useTranslate();

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<0767a7e9f6fb3f0464027b92a5239521>> * @generated SignedSource<<9f96c62a3e185fed5c07415cf6fa85d1>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -11,7 +11,7 @@
import { ReaderFragment } from 'relay-runtime'; import { ReaderFragment } from 'relay-runtime';
export type DocumentType = "ISMS" | "OTHER" | "POLICY"; export type DocumentType = "ISMS" | "OTHER" | "POLICY";
import { FragmentRefs } from "relay-runtime"; import { FragmentRefs } from "relay-runtime";
export type OverviewFragment$data = { export type OverviewPageFragment$data = {
readonly documents: { readonly documents: {
readonly edges: ReadonlyArray<{ readonly edges: ReadonlyArray<{
readonly node: { readonly node: {
@@ -39,11 +39,11 @@ export type OverviewFragment$data = {
}; };
}>; }>;
}; };
readonly " $fragmentType": "OverviewFragment"; readonly " $fragmentType": "OverviewPageFragment";
}; };
export type OverviewFragment$key = { export type OverviewPageFragment$key = {
readonly " $data"?: OverviewFragment$data; readonly " $data"?: OverviewPageFragment$data;
readonly " $fragmentSpreads": FragmentRefs<"OverviewFragment">; readonly " $fragmentSpreads": FragmentRefs<"OverviewPageFragment">;
}; };
const node: ReaderFragment = (function(){ const node: ReaderFragment = (function(){
@@ -58,7 +58,7 @@ return {
"argumentDefinitions": [], "argumentDefinitions": [],
"kind": "Fragment", "kind": "Fragment",
"metadata": null, "metadata": null,
"name": "OverviewFragment", "name": "OverviewPageFragment",
"selections": [ "selections": [
{ {
"alias": null, "alias": null,
@@ -224,6 +224,6 @@ return {
}; };
})(); })();
(node as any).hash = "2f42031d2017248051c8dfea72b4e502"; (node as any).hash = "df15ec9b9040d1f4314e04085a932ecb";
export default node; export default node;

View File

@@ -17,7 +17,7 @@ export const trustGraphQuery = graphql`
email email
headquarterAddress headquarterAddress
} }
...OverviewFragment ...OverviewPageFragment
audits(first: 50) { audits(first: 50) {
edges { edges {
node { node {

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<669a97d59bae0528905d34c18586ce11>> * @generated SignedSource<<25d09fc2d93d9fbbcde08bd8a8d48214>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -37,7 +37,7 @@ export type TrustGraphQuery$data = {
readonly websiteUrl: string | null | undefined; readonly websiteUrl: string | null | undefined;
}; };
readonly slug: string; readonly slug: string;
readonly " $fragmentSpreads": FragmentRefs<"OverviewFragment">; readonly " $fragmentSpreads": FragmentRefs<"OverviewPageFragment">;
} | null | undefined; } | null | undefined;
}; };
export type TrustGraphQuery = { export type TrustGraphQuery = {
@@ -192,7 +192,7 @@ return {
{ {
"args": null, "args": null,
"kind": "FragmentSpread", "kind": "FragmentSpread",
"name": "OverviewFragment" "name": "OverviewPageFragment"
}, },
{ {
"alias": null, "alias": null,
@@ -510,16 +510,16 @@ return {
] ]
}, },
"params": { "params": {
"cacheID": "00f2723e0dac553f037af3570903fb51", "cacheID": "3303b20452c558a107492263e7fc0c61",
"id": null, "id": null,
"metadata": {}, "metadata": {},
"name": "TrustGraphQuery", "name": "TrustGraphQuery",
"operationKind": "query", "operationKind": "query",
"text": "query TrustGraphQuery(\n $slug: String!\n) {\n trustCenterBySlug(slug: $slug) {\n id\n slug\n isUserAuthenticated\n hasAcceptedNonDisclosureAgreement\n ndaFileName\n ndaFileUrl\n organization {\n name\n description\n websiteUrl\n logoUrl\n email\n headquarterAddress\n id\n }\n ...OverviewFragment\n audits(first: 50) {\n edges {\n node {\n id\n ...AuditRowFragment\n }\n }\n }\n }\n}\n\nfragment AuditRowFragment on Audit {\n report {\n id\n filename\n }\n framework {\n id\n name\n }\n}\n\nfragment DocumentRowFragment on Document {\n id\n title\n}\n\nfragment OverviewFragment on TrustCenter {\n references(first: 14) {\n edges {\n node {\n id\n name\n logoUrl\n websiteUrl\n }\n }\n }\n vendors(first: 3) {\n edges {\n node {\n id\n ...VendorRowFragment\n }\n }\n }\n documents(first: 5) {\n edges {\n node {\n id\n ...DocumentRowFragment\n documentType\n }\n }\n }\n}\n\nfragment VendorRowFragment on Vendor {\n id\n name\n category\n websiteUrl\n privacyPolicyUrl\n countries\n}\n" "text": "query TrustGraphQuery(\n $slug: String!\n) {\n trustCenterBySlug(slug: $slug) {\n id\n slug\n isUserAuthenticated\n hasAcceptedNonDisclosureAgreement\n ndaFileName\n ndaFileUrl\n organization {\n name\n description\n websiteUrl\n logoUrl\n email\n headquarterAddress\n id\n }\n ...OverviewPageFragment\n audits(first: 50) {\n edges {\n node {\n id\n ...AuditRowFragment\n }\n }\n }\n }\n}\n\nfragment AuditRowFragment on Audit {\n report {\n id\n filename\n }\n framework {\n id\n name\n }\n}\n\nfragment DocumentRowFragment on Document {\n id\n title\n}\n\nfragment OverviewPageFragment on TrustCenter {\n references(first: 14) {\n edges {\n node {\n id\n name\n logoUrl\n websiteUrl\n }\n }\n }\n vendors(first: 3) {\n edges {\n node {\n id\n ...VendorRowFragment\n }\n }\n }\n documents(first: 5) {\n edges {\n node {\n id\n ...DocumentRowFragment\n documentType\n }\n }\n }\n}\n\nfragment VendorRowFragment on Vendor {\n id\n name\n category\n websiteUrl\n privacyPolicyUrl\n countries\n}\n"
} }
}; };
})(); })();
(node as any).hash = "192a8d21a41871de201009a2dae65870"; (node as any).hash = "fd44a0d5fcda45aaa0fe02b3051643c0";
export default node; export default node;