This commit is contained in:
Team3
2026-06-07 09:25:30 +02:00
parent b9e25ae9d2
commit 13eedd7753

View File

@@ -43,6 +43,9 @@ const emit = defineEmits(['progressChanged'])
const isOnePager = computed(() => props.previewGuide?.format === 'OnePager') const isOnePager = computed(() => props.previewGuide?.format === 'OnePager')
// Rotierende Kapitel-Akzentfarben (passend zum OnePager-Cheat-Sheet, ohne Rot)
const CH_COLORS = ['#3b82f6', '#8b5cf6', '#14b8a6', '#f59e0b', '#22c55e', '#6366f1']
// --- Inhalt laden --- // --- Inhalt laden ---
const content = ref(null) const content = ref(null)
const doneChapters = ref(new Set()) const doneChapters = ref(new Set())
@@ -204,12 +207,13 @@ async function send() {
<span class="guide-format">{{ previewGuide.format }}</span> <span class="guide-format">{{ previewGuide.format }}</span>
</header> </header>
<section <section
v-for="ch in content.chapters" v-for="(ch, ci) in content.chapters"
:key="ch.title" :key="ch.title"
class="chapter" class="chapter"
:class="{ 'ch-complete': doneChapters.has(ch.title) }" :class="{ 'ch-complete': doneChapters.has(ch.title) }"
:style="{ '--ch-accent': CH_COLORS[ci % CH_COLORS.length] }"
> >
<h2 class="chapter-title">{{ ch.title }}</h2> <h2 class="chapter-title"><span class="ch-num">{{ ci + 1 }}</span>{{ ch.title }}</h2>
<div class="sections"> <div class="sections">
<article <article
v-for="s in ch.sections" v-for="s in ch.sections"
@@ -324,7 +328,24 @@ async function send() {
font-size: 1.25rem; font-size: 1.25rem;
margin-bottom: 0.9rem; margin-bottom: 0.9rem;
padding-bottom: 0.4rem; padding-bottom: 0.4rem;
border-bottom: 2px solid var(--accent-border); border-bottom: 2px solid color-mix(in srgb, var(--ch-accent, var(--accent)) 35%, transparent);
display: flex;
align-items: center;
gap: 10px;
}
.ch-num {
flex: 0 0 auto;
width: 28px;
height: 28px;
border-radius: 8px;
background: var(--ch-accent, var(--accent));
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
font-weight: 700;
} }
.chapter.ch-complete .sections { .chapter.ch-complete .sections {
@@ -337,6 +358,15 @@ async function send() {
border-radius: 10px; border-radius: 10px;
padding: 1rem 1.25rem; padding: 1rem 1.25rem;
margin-bottom: 0.75rem; margin-bottom: 0.75rem;
}
/* Guides: Karten tragen die Kapitel-Akzentfarbe (OnePager hat eigene op-card-Farben) */
.guide-content:not(.onepager) .section-card {
border-top: 3px solid color-mix(in srgb, var(--ch-accent, var(--accent)) 65%, transparent);
background: color-mix(in srgb, var(--ch-accent, var(--accent)) 3%, var(--panel));
}
.section-card {
h3 { h3 {
font-size: 1.02rem; font-size: 1.02rem;
@@ -535,6 +565,15 @@ async function send() {
margin: 0.6em 0 0.3em; margin: 0.6em 0 0.3em;
} }
/* „Beispiel"-Überschriften in Karten als dezentes Uppercase-Label */
.section-card .markdown :deep(h3) {
font-size: 0.74em;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-faint);
margin: 0.9em 0 0.35em;
}
.markdown :deep(a) { .markdown :deep(a) {
color: var(--accent-hover); color: var(--accent-hover);
} }