|
|
|
|
@@ -12,14 +12,17 @@ export default function AVB() {
|
|
|
|
|
.map((b) => b.trim())
|
|
|
|
|
.filter((b) => b !== "");
|
|
|
|
|
|
|
|
|
|
const title = rawBlocks[0]?.replace(/^#\s+/, "") || "Allgemeine Verkaufsbedingungen";
|
|
|
|
|
const stand = rawBlocks[1] || "Stand: April 2026";
|
|
|
|
|
// Extract title and stand more robustly
|
|
|
|
|
const title = rawBlocks.find(b => b.startsWith("# "))?.replace(/^#\s+/, "") || "Allgemeine Verkaufsbedingungen";
|
|
|
|
|
const stand = rawBlocks.find(b => b.toLowerCase().startsWith("stand:")) || "Stand: April 2026";
|
|
|
|
|
|
|
|
|
|
const sections: { title: string; content: string[] }[] = [];
|
|
|
|
|
let currentSection: { title: string; content: string[] } | null = null;
|
|
|
|
|
|
|
|
|
|
// Skip title and stand
|
|
|
|
|
rawBlocks.slice(2).forEach((block) => {
|
|
|
|
|
// Process sections, skipping title and stand blocks
|
|
|
|
|
rawBlocks.forEach((block) => {
|
|
|
|
|
if (block.startsWith("# ") || block.toLowerCase().startsWith("stand:")) return;
|
|
|
|
|
|
|
|
|
|
if (block.startsWith("##")) {
|
|
|
|
|
// New section header: e.g. "## 1. Geltungsbereich"
|
|
|
|
|
if (currentSection) sections.push(currentSection);
|
|
|
|
|
@@ -28,9 +31,7 @@ export default function AVB() {
|
|
|
|
|
content: []
|
|
|
|
|
};
|
|
|
|
|
} else if (currentSection) {
|
|
|
|
|
// Content block: might be multiple paragraphs if not split by double newline,
|
|
|
|
|
// but here each block is one "paragraph" due to our split logic.
|
|
|
|
|
// We clean up bold markers for better display if they are just numbering.
|
|
|
|
|
// Clean up bold markers for better display
|
|
|
|
|
const cleanedBlock = block.replace(/\*\*(.*?)\*\*/g, "$1");
|
|
|
|
|
currentSection.content.push(cleanedBlock);
|
|
|
|
|
}
|
|
|
|
|
@@ -64,6 +65,9 @@ export default function AVB() {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="space-y-8 text-slate-600 leading-relaxed">
|
|
|
|
|
<div className="pb-4 border-b border-slate-50">
|
|
|
|
|
<p className="text-slate-400 italic">{stand}</p>
|
|
|
|
|
</div>
|
|
|
|
|
{sections.map((section, index) => (
|
|
|
|
|
<div key={index}>
|
|
|
|
|
<h2 className="text-2xl font-bold text-primary mb-4">
|
|
|
|
|
|