58 lines
1.3 KiB
TypeScript
58 lines
1.3 KiB
TypeScript
export type PublicAuditLookupResult =
|
|
| null
|
|
| { publicationStatus: "draft" | "approved" | "deactivated" }
|
|
| {
|
|
publicationStatus: "published";
|
|
companyName: string;
|
|
domain: string;
|
|
publishedAt: string;
|
|
publicContent: {
|
|
headline: string;
|
|
intro: string;
|
|
observations: PublicAuditObservation[];
|
|
finalOffer: PublicAuditOffer;
|
|
};
|
|
screenshots: PublicAuditScreenshot[];
|
|
};
|
|
|
|
export type PublicAuditObservation = {
|
|
title: string;
|
|
observation: string;
|
|
impact: string;
|
|
suggestion: string;
|
|
screenshotIds?: string[];
|
|
};
|
|
|
|
export type PublicAuditOffer = {
|
|
body: string;
|
|
ctaLabel?: string;
|
|
ctaHref?: string;
|
|
};
|
|
|
|
export type PublicAuditScreenshot = {
|
|
id: string;
|
|
url: string;
|
|
alt: string;
|
|
viewport: "desktop" | "mobile";
|
|
sourceUrl: string;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
|
|
export type PublicAuditRenderState =
|
|
| { kind: "pending" }
|
|
| { kind: "unavailable" }
|
|
| {
|
|
kind: "published";
|
|
audit: {
|
|
companyName: string;
|
|
domain: string;
|
|
publishedAt: string;
|
|
headline: string;
|
|
intro: string;
|
|
observations: PublicAuditObservation[];
|
|
finalOffer: PublicAuditOffer;
|
|
screenshots: PublicAuditScreenshot[];
|
|
};
|
|
};
|