Transcribe the approved service-led content contracts and bilingual copy.
The site now has one services page, six public cases, and no MySpa or calendar-scaffold strings. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -35,9 +35,16 @@ export interface PageCopy {
|
||||
readonly ctas: readonly CtaCopy[];
|
||||
}
|
||||
|
||||
export type CaseStudyId = 'innofocus' | 'roesterei' | 'myspa' | 'hdi';
|
||||
export type CaseStudyId = 'innofocus' | 'roesterei' | 'bannier' | 'elbwaerme' | 'hdi' | 'devdays';
|
||||
|
||||
export const CASE_STUDY_IDS: readonly CaseStudyId[] = ['innofocus', 'roesterei', 'myspa', 'hdi'];
|
||||
export const CASE_STUDY_IDS: readonly CaseStudyId[] = [
|
||||
'innofocus',
|
||||
'roesterei',
|
||||
'bannier',
|
||||
'elbwaerme',
|
||||
'hdi',
|
||||
'devdays',
|
||||
];
|
||||
|
||||
export interface MetricCopy {
|
||||
readonly id: string;
|
||||
@@ -70,6 +77,9 @@ export interface CaseStudyCopy {
|
||||
readonly tags: readonly string[];
|
||||
readonly linkLabel: string;
|
||||
readonly transparencyNote?: string;
|
||||
readonly teaser: string;
|
||||
readonly externalUrl?: string;
|
||||
readonly externalLabel?: string;
|
||||
}
|
||||
|
||||
export type OfferingStatus = 'delivered' | 'offer';
|
||||
@@ -82,30 +92,53 @@ export interface OfferingCopy {
|
||||
readonly referenceCaseId?: CaseStudyId;
|
||||
}
|
||||
|
||||
export interface ServiceSequenceCopy {
|
||||
export interface ServiceEvidenceCopy {
|
||||
readonly id: string;
|
||||
readonly heading: string;
|
||||
readonly note: string;
|
||||
readonly caseIds: readonly CaseStudyId[];
|
||||
}
|
||||
|
||||
export type ServiceSectionId =
|
||||
'infrastructure-network' | 'platform-operations' | 'software-data' | 'ai-workflows';
|
||||
|
||||
export const SERVICE_SECTION_IDS: readonly ServiceSectionId[] = [
|
||||
'infrastructure-network',
|
||||
'platform-operations',
|
||||
'software-data',
|
||||
'ai-workflows',
|
||||
];
|
||||
|
||||
export interface ServiceSectionCopy {
|
||||
readonly id: ServiceSectionId;
|
||||
readonly title: string;
|
||||
readonly lead: string;
|
||||
readonly situation: SectionCopy;
|
||||
readonly diagnosis: SectionCopy;
|
||||
readonly implementation: SectionCopy;
|
||||
readonly operation: SectionCopy;
|
||||
readonly referenceCaseId: CaseStudyId;
|
||||
readonly referenceHeadline: string;
|
||||
readonly referenceNote: string;
|
||||
readonly offerings: readonly OfferingCopy[];
|
||||
readonly evidence: ServiceEvidenceCopy;
|
||||
readonly inquiry: SectionCopy;
|
||||
}
|
||||
|
||||
export interface ServicePageCopy extends PageCopy {
|
||||
readonly sequence: ServiceSequenceCopy;
|
||||
readonly offerings: readonly OfferingCopy[];
|
||||
export interface ServicesPageCopy extends PageCopy {
|
||||
readonly serviceSections: readonly ServiceSectionCopy[];
|
||||
readonly sectionsHeading: string;
|
||||
readonly deliveredOfferingsHeading: string;
|
||||
readonly offerOfferingsHeading: string;
|
||||
readonly offeringCaseBackedLabel: string;
|
||||
readonly evidenceHeading: string;
|
||||
readonly inquiryHeading: string;
|
||||
readonly systemsMap: { readonly heading: string; readonly intro: string };
|
||||
}
|
||||
|
||||
export interface HomeServiceAreaCopy {
|
||||
readonly id: 'workplaces' | 'servers' | 'software' | 'ai';
|
||||
readonly id: ServiceSectionId;
|
||||
readonly title: string;
|
||||
readonly body: string;
|
||||
readonly routeId: RouteId;
|
||||
readonly fragment: ServiceSectionId;
|
||||
}
|
||||
|
||||
export interface HomePageCopy extends PageCopy {
|
||||
@@ -166,7 +199,6 @@ export interface ContactPageCopy extends PageCopy {
|
||||
readonly incompleteHint: string;
|
||||
readonly requiredMarkerLabel: string;
|
||||
readonly directEmailLabel: string;
|
||||
readonly calendarLabel: string;
|
||||
readonly noBackendNote: string;
|
||||
}
|
||||
|
||||
@@ -206,9 +238,6 @@ export interface ProjectsPageCopy extends PageCopy {
|
||||
readonly caseLabels: CaseStudyLabels;
|
||||
}
|
||||
|
||||
export type ServicePageId =
|
||||
'servicesSoftware' | 'servicesHardwareNetwork' | 'servicesClusters' | 'servicesAi';
|
||||
|
||||
export interface SiteSeoCopy {
|
||||
readonly jobTitle: string;
|
||||
readonly professionalServiceName: string;
|
||||
@@ -219,8 +248,7 @@ export interface SiteContent {
|
||||
readonly pages: Record<RouteId, PageCopy>;
|
||||
readonly home: HomePageCopy;
|
||||
readonly pitch: PitchPageCopy;
|
||||
readonly servicesOverview: ServicesOverviewPageCopy;
|
||||
readonly services: Record<ServicePageId, ServicePageCopy>;
|
||||
readonly services: ServicesPageCopy;
|
||||
readonly cases: Record<CaseStudyId, CaseStudyCopy>;
|
||||
readonly contact: ContactPageCopy;
|
||||
readonly projects: ProjectsPageCopy;
|
||||
|
||||
Reference in New Issue
Block a user