update
This commit is contained in:
@@ -23,9 +23,10 @@ const props = defineProps({
|
||||
providers: { type: Array, default: () => [] },
|
||||
folders: { type: Object, default: () => ({ projekt: [], uni: [] }) },
|
||||
ansichtModus: { type: String, default: 'kompakt' }, // kompakt | erklärend
|
||||
stufeAnsicht: { type: Number, default: 4 }, // 1=A · 2=F · 3=E · 4=V
|
||||
})
|
||||
|
||||
const emit = defineEmits(['select', 'create', 'createThema', 'updateQuelle', 'formatClick', 'bausteineClick', 'cancelBausteine', 'resetBausteine', 'deleteTopic', 'cancelGuide', 'deleteGuide', 'dismissError', 'dismissUiError', 'preview', 'openBausteineView', 'openElements', 'togglePin', 'sidebarLeave', 'toggleDark', 'setAnsicht', 'setProvider'])
|
||||
const emit = defineEmits(['select', 'create', 'createThema', 'updateQuelle', 'formatClick', 'bausteineClick', 'cancelBausteine', 'resetBausteine', 'deleteTopic', 'cancelGuide', 'deleteGuide', 'dismissError', 'dismissUiError', 'preview', 'openBausteineView', 'openElements', 'togglePin', 'sidebarLeave', 'toggleDark', 'setAnsicht', 'setStufe', 'generalExam', 'setProvider'])
|
||||
|
||||
// Accordion: höchstens ein Panel offen. IDs: 'bausteine', 'fmt-<Format>', 'topic-<Name>'.
|
||||
const openPanel = ref(null)
|
||||
@@ -54,8 +55,14 @@ const trackerItems = computed(() => {
|
||||
|
||||
const formats = [
|
||||
{ key: 'Guide', label: 'Guide' },
|
||||
{ key: 'FullGuide', label: 'FullGuide' },
|
||||
{ key: 'Rest', label: 'Rest' },
|
||||
]
|
||||
|
||||
// Stufen-Ansichten des EINEN Guides (gefiltert nach Subbaustein-Ebene).
|
||||
const STUFEN_ANSICHT = [
|
||||
{ k: 1, label: 'A', titel: 'Anfänger' },
|
||||
{ k: 2, label: 'F', titel: 'Anfänger + Fortgeschritten' },
|
||||
{ k: 3, label: 'E', titel: 'bis Experte' },
|
||||
{ k: 4, label: 'V', titel: 'Vollständig (inkl. Rand)' },
|
||||
]
|
||||
|
||||
const bausteineState = computed(() => {
|
||||
@@ -317,6 +324,11 @@ function saveQuelle() {
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div v-if="selectedTopic" class="stufe-toggle" title="Tiefe der Guide-Ansicht">
|
||||
<button v-for="s in STUFEN_ANSICHT" :key="s.k"
|
||||
:class="{ active: stufeAnsicht === s.k }" :title="s.titel"
|
||||
@click="emit('setStufe', s.k)">{{ s.label }}</button>
|
||||
</div>
|
||||
<button class="new-topic-toggle" :class="{ active: dlg }" title="Thema erstellen" @click="toggleErstellen">+</button>
|
||||
</div>
|
||||
|
||||
@@ -462,6 +474,11 @@ function saveQuelle() {
|
||||
<button class="format-error-x" title="Ausblenden" @click="dismissError(f.key)">×</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="format-row ord-pruefung">
|
||||
<button class="format-name elements-btn" @click="emit('generalExam')">
|
||||
<span class="format-label">Allgemeine Prüfung</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="format-row ord-elemente">
|
||||
<button class="format-name elements-btn" @click="emit('openElements')">
|
||||
<span class="format-label">Elemente</span>
|
||||
@@ -607,6 +624,21 @@ function saveQuelle() {
|
||||
.new-topic .ansicht-toggle button:hover { color: var(--accent-hover); }
|
||||
.new-topic .ansicht-toggle button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
||||
.ansicht-toggle svg { fill: currentColor; display: block; }
|
||||
.stufe-toggle { display: inline-flex; margin-left: 4px; }
|
||||
.new-topic .stufe-toggle button {
|
||||
padding: 4px 6px;
|
||||
background: var(--bg);
|
||||
color: var(--text-muted);
|
||||
border: 1px solid var(--border-strong);
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
min-width: 20px;
|
||||
}
|
||||
.new-topic .stufe-toggle button:first-child { border-radius: 6px 0 0 6px; }
|
||||
.new-topic .stufe-toggle button:last-child { border-radius: 0 6px 6px 0; }
|
||||
.new-topic .stufe-toggle button:not(:first-child) { border-left: none; }
|
||||
.new-topic .stufe-toggle button:hover { color: var(--accent-hover); }
|
||||
.new-topic .stufe-toggle button.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
|
||||
|
||||
.stats-bar {
|
||||
display: flex;
|
||||
@@ -800,10 +832,14 @@ function saveQuelle() {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
.ord-elemente {
|
||||
.ord-pruefung {
|
||||
order: 4;
|
||||
}
|
||||
|
||||
.ord-elemente {
|
||||
order: 5;
|
||||
}
|
||||
|
||||
.elements-btn {
|
||||
cursor: pointer;
|
||||
color: var(--text);
|
||||
|
||||
Reference in New Issue
Block a user