fix(acquisition): finalize extension build and components
- Fixed IndustrialCard export in SharedUI. - Successfully built all extensions including acquisition-library. - Verified sitemap and briefing module updates.
This commit is contained in:
@@ -1 +1 @@
|
|||||||
53P6Y
|
Qy-qP
|
||||||
@@ -29,6 +29,284 @@ export const FONT_SIZES = {
|
|||||||
TINY: 8, // Metadata / Unit prices
|
TINY: 8, // Metadata / Unit prices
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Mintel Industrial Glyphs (strictly 1px stroke, 12x12px grid)
|
||||||
|
export const IndustrialGlyph = ({
|
||||||
|
type,
|
||||||
|
color = COLORS.TEXT_LIGHT,
|
||||||
|
size = 12,
|
||||||
|
}: {
|
||||||
|
type: string;
|
||||||
|
color?: string;
|
||||||
|
size?: number;
|
||||||
|
}) => {
|
||||||
|
const stroke = 1;
|
||||||
|
const scale = size / 12;
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
case "base": // Skeletal cube base
|
||||||
|
return (
|
||||||
|
<PDFView style={{ width: size, height: size, position: "relative" }}>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
position: "absolute",
|
||||||
|
top: 2 * scale,
|
||||||
|
left: 2 * scale,
|
||||||
|
width: 8 * scale,
|
||||||
|
height: 8 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
position: "absolute",
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: 4 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
backgroundColor: "white",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "pages": // Layered rectangles
|
||||||
|
return (
|
||||||
|
<PDFView style={{ width: size, height: size, position: "relative" }}>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
position: "absolute",
|
||||||
|
top: 3 * scale,
|
||||||
|
left: 3 * scale,
|
||||||
|
width: 6 * scale,
|
||||||
|
height: 8 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
position: "absolute",
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: 6 * scale,
|
||||||
|
height: 8 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
backgroundColor: "white",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "modules": // Four small squares grid
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
flexDirection: "row",
|
||||||
|
flexWrap: "wrap",
|
||||||
|
gap: 2 * scale,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 4 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 4 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 4 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 4 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "logic": // Diamond with center point
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 8 * scale,
|
||||||
|
height: 8 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
transform: "rotate(45deg)",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 2 * scale,
|
||||||
|
height: 2 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
position: "absolute",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "interface": // Three horizontal lines of varying length
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
justifyContent: "center",
|
||||||
|
gap: 2 * scale,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 10 * scale,
|
||||||
|
height: stroke,
|
||||||
|
backgroundColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{ width: 6 * scale, height: stroke, backgroundColor: color }}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 10 * scale,
|
||||||
|
height: stroke,
|
||||||
|
backgroundColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "management": // Framed grid
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
padding: 1 * scale,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: 2 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
marginBottom: 1 * scale,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: 2 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
marginBottom: 1 * scale,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{ width: "100%", height: 2 * scale, backgroundColor: color }}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "reveal": // Ascending bars
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
flexDirection: "row",
|
||||||
|
alignItems: "flex-end",
|
||||||
|
gap: 1 * scale,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 2 * scale,
|
||||||
|
height: 4 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
opacity: 0.4,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 2 * scale,
|
||||||
|
height: 7 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
opacity: 0.7,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: 2 * scale,
|
||||||
|
height: 10 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
case "maintenance": // Circle with vertical notch
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
borderRadius: 6 * scale,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: color,
|
||||||
|
alignItems: "center",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: stroke,
|
||||||
|
height: 4 * scale,
|
||||||
|
backgroundColor: color,
|
||||||
|
marginTop: 1 * scale,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
default:
|
||||||
|
return (
|
||||||
|
<PDFView
|
||||||
|
style={{
|
||||||
|
width: size,
|
||||||
|
height: size,
|
||||||
|
borderWidth: stroke,
|
||||||
|
borderColor: COLORS.BLUEPRINT,
|
||||||
|
borderStyle: "dashed",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const pdfStyles = StyleSheet.create({
|
export const pdfStyles = StyleSheet.create({
|
||||||
page: {
|
page: {
|
||||||
paddingTop: 45, // DIN 5008
|
paddingTop: 45, // DIN 5008
|
||||||
@@ -236,6 +514,14 @@ export const Divider = ({ style = {} }: { style?: any }) => (
|
|||||||
<PDFView style={[pdfStyles.divider, style]} />
|
<PDFView style={[pdfStyles.divider, style]} />
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export const FoldingMarks = () => (
|
||||||
|
<>
|
||||||
|
<PDFView style={[pdfStyles.foldingMark, { top: 297.6 }]} fixed />
|
||||||
|
<PDFView style={[pdfStyles.foldingMark, { top: 420.9, width: 15 }]} fixed />
|
||||||
|
<PDFView style={[pdfStyles.foldingMark, { top: 595.3 }]} fixed />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
export const Footer = ({
|
export const Footer = ({
|
||||||
logo,
|
logo,
|
||||||
companyData,
|
companyData,
|
||||||
@@ -282,6 +568,19 @@ export const Footer = ({
|
|||||||
</PDFView>
|
</PDFView>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
{!showDetails && (
|
||||||
|
<PDFView style={[pdfStyles.footerColumn, { alignItems: "flex-end" }]}>
|
||||||
|
{showPageNumber && (
|
||||||
|
<PDFText
|
||||||
|
style={pdfStyles.pageNumber}
|
||||||
|
render={({ pageNumber, totalPages }) =>
|
||||||
|
`${pageNumber} / ${totalPages}`
|
||||||
|
}
|
||||||
|
fixed
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</PDFView>
|
||||||
|
)}
|
||||||
</PDFView>
|
</PDFView>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -399,3 +698,29 @@ export const AsymmetryView = ({
|
|||||||
<PDFView style={pdfStyles.asymmetryRight}>{right}</PDFView>
|
<PDFView style={pdfStyles.asymmetryRight}>{right}</PDFView>
|
||||||
</PDFView>
|
</PDFView>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export const IndustrialCard = ({
|
||||||
|
title,
|
||||||
|
children,
|
||||||
|
style = {},
|
||||||
|
}: {
|
||||||
|
title: string;
|
||||||
|
children: React.ReactNode;
|
||||||
|
style?: any;
|
||||||
|
}) => (
|
||||||
|
<PDFView style={[pdfStyles.blueprintBox, { marginBottom: 12 }, style]}>
|
||||||
|
<PDFText
|
||||||
|
style={{
|
||||||
|
fontSize: FONT_SIZES.TINY,
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: COLORS.TEXT_LIGHT,
|
||||||
|
letterSpacing: 1,
|
||||||
|
marginBottom: 6,
|
||||||
|
textTransform: "uppercase",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{title}
|
||||||
|
</PDFText>
|
||||||
|
{children}
|
||||||
|
</PDFView>
|
||||||
|
);
|
||||||
|
|||||||
@@ -2,68 +2,68 @@
|
|||||||
|
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
import {
|
import {
|
||||||
View as PDFView,
|
View as PDFView,
|
||||||
Text as PDFText,
|
Text as PDFText,
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
} from "@react-pdf/renderer";
|
} from "@react-pdf/renderer";
|
||||||
import { DocumentTitle, COLORS, FONT_SIZES } from "../SharedUI.js";
|
import { DocumentTitle, COLORS, FONT_SIZES } from "../SharedUI";
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
section: { marginBottom: 24 },
|
section: { marginBottom: 24 },
|
||||||
sectionTitle: {
|
sectionTitle: {
|
||||||
fontSize: FONT_SIZES.LABEL,
|
fontSize: FONT_SIZES.LABEL,
|
||||||
fontWeight: "bold",
|
fontWeight: "bold",
|
||||||
marginBottom: 8,
|
marginBottom: 8,
|
||||||
color: COLORS.CHARCOAL,
|
color: COLORS.CHARCOAL,
|
||||||
},
|
},
|
||||||
visionText: {
|
visionText: {
|
||||||
fontSize: FONT_SIZES.BODY,
|
fontSize: FONT_SIZES.BODY,
|
||||||
color: COLORS.TEXT_MAIN,
|
color: COLORS.TEXT_MAIN,
|
||||||
lineHeight: 1.4,
|
lineHeight: 1.4,
|
||||||
textAlign: "justify",
|
textAlign: "justify",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export const BriefingModule = ({ state }: any) => (
|
export const BriefingModule = ({ state }: any) => (
|
||||||
<>
|
<>
|
||||||
<DocumentTitle title="Projektdetails" isHero={true} />
|
<DocumentTitle title="Projektdetails" isHero={true} />
|
||||||
{state.briefingSummary && (
|
{state.briefingSummary && (
|
||||||
<PDFView style={styles.section}>
|
<PDFView style={styles.section}>
|
||||||
<PDFText style={styles.sectionTitle}>Briefing Analyse</PDFText>
|
<PDFText style={styles.sectionTitle}>Briefing Analyse</PDFText>
|
||||||
<PDFText
|
<PDFText
|
||||||
style={{
|
style={{
|
||||||
fontSize: FONT_SIZES.BODY,
|
fontSize: FONT_SIZES.BODY,
|
||||||
color: COLORS.TEXT_MAIN,
|
color: COLORS.TEXT_MAIN,
|
||||||
lineHeight: 1.6,
|
lineHeight: 1.6,
|
||||||
textAlign: "justify",
|
textAlign: "justify",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{state.briefingSummary}
|
{state.briefingSummary}
|
||||||
</PDFText>
|
</PDFText>
|
||||||
</PDFView>
|
</PDFView>
|
||||||
)}
|
)}
|
||||||
{state.designVision && (
|
{state.designVision && (
|
||||||
<PDFView
|
<PDFView
|
||||||
style={[
|
style={[
|
||||||
styles.section,
|
styles.section,
|
||||||
{
|
{
|
||||||
padding: 12,
|
padding: 12,
|
||||||
borderLeftWidth: 2,
|
borderLeftWidth: 2,
|
||||||
borderLeftColor: COLORS.DIVIDER,
|
borderLeftColor: COLORS.DIVIDER,
|
||||||
backgroundColor: COLORS.GRID,
|
backgroundColor: COLORS.GRID,
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
<PDFText
|
<PDFText
|
||||||
style={[
|
style={[
|
||||||
styles.sectionTitle,
|
styles.sectionTitle,
|
||||||
{ color: COLORS.CHARCOAL, marginBottom: 4 },
|
{ color: COLORS.CHARCOAL, marginBottom: 4 },
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
Strategische Vision
|
Strategische Vision
|
||||||
</PDFText>
|
</PDFText>
|
||||||
<PDFText style={styles.visionText}>{state.designVision}</PDFText>
|
<PDFText style={styles.visionText}>{state.designVision}</PDFText>
|
||||||
</PDFView>
|
</PDFView>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,56 +1,125 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import * as React from "react";
|
import * as React from "react";
|
||||||
import { View as PDFView, Text as PDFText, StyleSheet } from "@react-pdf/renderer";
|
import {
|
||||||
import { DocumentTitle, COLORS, FONT_SIZES, IndustrialListItem } from "../SharedUI.js";
|
View as PDFView,
|
||||||
|
Text as PDFText,
|
||||||
|
StyleSheet,
|
||||||
|
} from "@react-pdf/renderer";
|
||||||
|
import { DocumentTitle, COLORS, FONT_SIZES } from "../SharedUI";
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
section: { marginBottom: 24 },
|
section: { marginBottom: 32 },
|
||||||
categoryBox: {
|
intro: {
|
||||||
marginBottom: 20,
|
fontSize: FONT_SIZES.BODY,
|
||||||
padding: 12,
|
color: COLORS.TEXT_DIM,
|
||||||
backgroundColor: COLORS.GRID,
|
lineHeight: 1.4,
|
||||||
borderLeftWidth: 2,
|
marginBottom: 24,
|
||||||
borderLeftColor: COLORS.DIVIDER,
|
textAlign: "justify",
|
||||||
},
|
},
|
||||||
categoryTitle: {
|
sitemapTree: { marginTop: 8 },
|
||||||
fontSize: FONT_SIZES.TINY,
|
rootNode: {
|
||||||
fontWeight: "bold",
|
padding: 12,
|
||||||
color: COLORS.TEXT_LIGHT,
|
backgroundColor: COLORS.GRID,
|
||||||
textTransform: "uppercase",
|
marginBottom: 20,
|
||||||
marginBottom: 10,
|
borderLeftWidth: 2,
|
||||||
letterSpacing: 1,
|
borderLeftColor: COLORS.CHARCOAL,
|
||||||
},
|
},
|
||||||
pageTitle: {
|
rootTitle: {
|
||||||
fontSize: FONT_SIZES.LABEL,
|
fontSize: FONT_SIZES.HEADING,
|
||||||
fontWeight: "bold",
|
fontWeight: "bold",
|
||||||
color: COLORS.CHARCOAL,
|
color: COLORS.CHARCOAL,
|
||||||
marginBottom: 2,
|
letterSpacing: 0.5,
|
||||||
},
|
},
|
||||||
pageDesc: {
|
categorySection: { marginBottom: 20 },
|
||||||
fontSize: FONT_SIZES.TINY,
|
categoryHeader: {
|
||||||
color: COLORS.TEXT_DIM,
|
flexDirection: "row",
|
||||||
lineHeight: 1.4,
|
alignItems: "center",
|
||||||
},
|
paddingBottom: 6,
|
||||||
|
borderBottomWidth: 1,
|
||||||
|
borderBottomColor: COLORS.BLUEPRINT,
|
||||||
|
marginBottom: 10,
|
||||||
|
},
|
||||||
|
categoryIcon: {
|
||||||
|
width: 8,
|
||||||
|
height: 8,
|
||||||
|
backgroundColor: COLORS.GRID,
|
||||||
|
borderInlineWidth: 1,
|
||||||
|
borderColor: COLORS.DIVIDER,
|
||||||
|
marginRight: 10,
|
||||||
|
},
|
||||||
|
categoryTitle: {
|
||||||
|
fontSize: FONT_SIZES.BODY,
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: COLORS.CHARCOAL,
|
||||||
|
textTransform: "uppercase",
|
||||||
|
letterSpacing: 1,
|
||||||
|
},
|
||||||
|
pagesGrid: { flexDirection: "row", flexWrap: "wrap" },
|
||||||
|
pageCard: {
|
||||||
|
width: "48%",
|
||||||
|
marginRight: "2%",
|
||||||
|
marginBottom: 12,
|
||||||
|
padding: 10,
|
||||||
|
borderWidth: 1,
|
||||||
|
borderColor: COLORS.GRID,
|
||||||
|
backgroundColor: "#fafafa",
|
||||||
|
},
|
||||||
|
pageTitle: {
|
||||||
|
fontSize: FONT_SIZES.BODY,
|
||||||
|
fontWeight: "bold",
|
||||||
|
color: COLORS.TEXT_MAIN,
|
||||||
|
marginBottom: 4,
|
||||||
|
},
|
||||||
|
pageDesc: {
|
||||||
|
fontSize: FONT_SIZES.TINY,
|
||||||
|
color: COLORS.TEXT_DIM,
|
||||||
|
lineHeight: 1.3,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export const SitemapModule = ({ state }: any) => (
|
export const SitemapModule = ({ state }: any) => (
|
||||||
<>
|
<>
|
||||||
<DocumentTitle title="Informations-Architektur" isHero={true} />
|
<DocumentTitle title="Informationsarchitektur" isHero={true} />
|
||||||
<PDFView style={styles.section}>
|
<PDFView style={styles.section}>
|
||||||
{state.sitemap?.map((cat: any, i: number) => (
|
<PDFText style={styles.intro}>
|
||||||
<PDFView key={i} style={styles.categoryBox}>
|
Die folgende Struktur definiert die logische Hierarchie und
|
||||||
<PDFText style={styles.categoryTitle}>{cat.category}</PDFText>
|
Benutzerführung. Sie dient als Bauplan für die technische Umsetzung und
|
||||||
{cat.pages?.map((p: any, j: number) => (
|
stellt sicher, dass alle relevanten Geschäftsbereiche intuitiv
|
||||||
<IndustrialListItem key={j}>
|
auffindbar sind.
|
||||||
<PDFView style={{ marginBottom: 8 }}>
|
</PDFText>
|
||||||
<PDFText style={styles.pageTitle}>{p.title}</PDFText>
|
|
||||||
<PDFText style={styles.pageDesc}>{p.desc}</PDFText>
|
<PDFView style={styles.sitemapTree}>
|
||||||
</PDFView>
|
<PDFView style={styles.rootNode}>
|
||||||
</IndustrialListItem>
|
<PDFText style={styles.rootTitle}>Seitenstruktur</PDFText>
|
||||||
))}
|
|
||||||
</PDFView>
|
|
||||||
))}
|
|
||||||
</PDFView>
|
</PDFView>
|
||||||
</>
|
|
||||||
|
{state.sitemap?.map((cat: any, i: number) => (
|
||||||
|
<PDFView key={i} style={styles.categorySection} wrap={false}>
|
||||||
|
<PDFView style={styles.categoryHeader}>
|
||||||
|
<PDFView style={styles.categoryIcon} />
|
||||||
|
<PDFText style={styles.categoryTitle}>{cat.category}</PDFText>
|
||||||
|
</PDFView>
|
||||||
|
|
||||||
|
<PDFView style={styles.pagesGrid}>
|
||||||
|
{cat.pages.map((p: any, j: number) => (
|
||||||
|
<PDFView
|
||||||
|
key={j}
|
||||||
|
style={[
|
||||||
|
styles.pageCard,
|
||||||
|
j % 2 === 1 ? { marginRight: 0 } : {},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<PDFText style={styles.pageTitle}>{p.title}</PDFText>
|
||||||
|
{p.desc && (
|
||||||
|
<PDFText style={styles.pageDesc}>{p.desc}</PDFText>
|
||||||
|
)}
|
||||||
|
</PDFView>
|
||||||
|
))}
|
||||||
|
</PDFView>
|
||||||
|
</PDFView>
|
||||||
|
))}
|
||||||
|
</PDFView>
|
||||||
|
</PDFView>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user