Fix JSX attribute syntax in constraint editor descriptions
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 33s
CI / test-python-klausur (push) Failing after 2m32s
CI / test-python-agent-core (push) Successful in 19s
CI / test-nodejs-website (push) Successful in 24s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 33s
CI / test-python-klausur (push) Failing after 2m32s
CI / test-python-agent-core (push) Successful in 19s
CI / test-nodejs-website (push) Successful in 24s
German curly quotes („…") combined with a closing straight " inside
JSX attribute values were terminating the attribute prematurely, e.g.
`description="Beispiel: „X" (jugendgerecht)."` lost everything after
the inner straight quote. Switch all such descriptions to the JSX
expression form `description={"…"}` so the inner quotes are part of
a JavaScript string literal and parsed correctly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -32,7 +32,7 @@ export function ClassMaxHoursDayEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="class-max-hours-day-editor"
|
testId="class-max-hours-day-editor"
|
||||||
title="Klasse: Max. Stunden / Tag"
|
title="Klasse: Max. Stunden / Tag"
|
||||||
description="Beispiel: „5a hoechstens 6 Stunden pro Tag" (jugendgerecht)."
|
description={"Beispiel: „5a hoechstens 6 Stunden pro Tag" (jugendgerecht)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={classes.length === 0}
|
newDisabled={classes.length === 0}
|
||||||
prereqWarning={classes.length === 0 ? 'Zuerst Klassen anlegen.' : null}
|
prereqWarning={classes.length === 0 ? 'Zuerst Klassen anlegen.' : null}
|
||||||
@@ -95,7 +95,7 @@ export function ClassNoGapsEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="class-no-gaps-editor"
|
testId="class-no-gaps-editor"
|
||||||
title="Klasse: Keine Freistunden"
|
title="Klasse: Keine Freistunden"
|
||||||
description="Soft-Regel: Klasse soll keine Loecher zwischen Lessons haben."
|
description={"Soft-Regel: Klasse soll keine Loecher zwischen Lessons haben."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={classes.length === 0}
|
newDisabled={classes.length === 0}
|
||||||
prereqWarning={classes.length === 0 ? 'Zuerst Klassen anlegen.' : null}
|
prereqWarning={classes.length === 0 ? 'Zuerst Klassen anlegen.' : null}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export function RoomRequiresTypeEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="room-requires-type-editor"
|
testId="room-requires-type-editor"
|
||||||
title="Fach: benoetigter Raumtyp"
|
title="Fach: benoetigter Raumtyp"
|
||||||
description="Beispiel: „Sport braucht immer Sporthalle"."
|
description={"Beispiel: „Sport braucht immer Sporthalle"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
@@ -97,7 +97,7 @@ export function RoomUnavailableEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="room-unavailable-editor"
|
testId="room-unavailable-editor"
|
||||||
title="Raum: nicht verfuegbar"
|
title="Raum: nicht verfuegbar"
|
||||||
description="Beispiel: „Sporthalle Di 5. Stunde Wartung"."
|
description={"Beispiel: „Sporthalle Di 5. Stunde Wartung"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={rooms.length === 0}
|
newDisabled={rooms.length === 0}
|
||||||
prereqWarning={rooms.length === 0 ? 'Zuerst Raeume anlegen.' : null}
|
prereqWarning={rooms.length === 0 ? 'Zuerst Raeume anlegen.' : null}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export function SubjectMaxConsecutiveEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="subject-max-consecutive-editor"
|
testId="subject-max-consecutive-editor"
|
||||||
title="Fach: Max. Stunden am Stueck"
|
title="Fach: Max. Stunden am Stueck"
|
||||||
description="Beispiel: „Mathe nicht mehr als 2 Stunden am Stueck" (keine Dreifach-Stunde)."
|
description={"Beispiel: „Mathe nicht mehr als 2 Stunden am Stueck" (keine Dreifach-Stunde)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export function SubjectPreferredPeriodEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="subject-preferred-period-editor"
|
testId="subject-preferred-period-editor"
|
||||||
title="Fach: Bevorzugter Stunden-Bereich"
|
title="Fach: Bevorzugter Stunden-Bereich"
|
||||||
description="Beispiel: „Hauptfaecher lieber in den ersten 4 Stunden" (Soft-Regel)."
|
description={"Beispiel: „Hauptfaecher lieber in den ersten 4 Stunden" (Soft-Regel)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export function SubjectMinDayGapEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="subject-min-day-gap-editor"
|
testId="subject-min-day-gap-editor"
|
||||||
title="Fach: Min. Tagesabstand"
|
title="Fach: Min. Tagesabstand"
|
||||||
description="Beispiel: „Mathe nicht an 2 Tagen direkt hintereinander"."
|
description={"Beispiel: „Mathe nicht an 2 Tagen direkt hintereinander"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
@@ -97,7 +97,7 @@ export function SubjectContiguousWhenRepeatedEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="subject-contiguous-when-repeated-editor"
|
testId="subject-contiguous-when-repeated-editor"
|
||||||
title="Fach: Wenn mehrfach pro Tag, dann zusammenhaengend"
|
title="Fach: Wenn mehrfach pro Tag, dann zusammenhaengend"
|
||||||
description="Beispiel: Mathe Stunde 1+2 ja, aber 1+3 mit Sachkunde dazwischen verboten."
|
description={"Beispiel: Mathe Stunde 1+2 ja, aber 1+3 mit Sachkunde dazwischen verboten."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
@@ -155,7 +155,7 @@ export function SubjectDoubleLessonEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="subject-double-lesson-editor"
|
testId="subject-double-lesson-editor"
|
||||||
title="Fach: Doppelstunde bevorzugt"
|
title="Fach: Doppelstunde bevorzugt"
|
||||||
description="Soft-Regel: Sport oder Chemie laufen oft besser als 90-Min-Block statt zwei Einzelstunden."
|
description={"Soft-Regel: Sport oder Chemie laufen oft besser als 90-Min-Block statt zwei Einzelstunden."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={subjects.length === 0}
|
newDisabled={subjects.length === 0}
|
||||||
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
prereqWarning={subjects.length === 0 ? 'Zuerst Faecher anlegen.' : null}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export function TeacherExcludedSubjectEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-excluded-subject-editor"
|
testId="teacher-excluded-subject-editor"
|
||||||
title="Lehrer: Fach ausgeschlossen"
|
title="Lehrer: Fach ausgeschlossen"
|
||||||
description="Beispiel: „Anna darf kein Sport unterrichten" (oft Pflicht, z.B. Qualifikation/Behinderung)."
|
description={"Beispiel: „Anna darf kein Sport unterrichten" (oft Pflicht, z.B. Qualifikation/Behinderung)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={missing}
|
newDisabled={missing}
|
||||||
prereqWarning={missing ? 'Zuerst Lehrer und Faecher anlegen.' : null}
|
prereqWarning={missing ? 'Zuerst Lehrer und Faecher anlegen.' : null}
|
||||||
@@ -115,7 +115,7 @@ export function TeacherExcludedRoomEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-excluded-room-editor"
|
testId="teacher-excluded-room-editor"
|
||||||
title="Lehrer: Raum ausgeschlossen"
|
title="Lehrer: Raum ausgeschlossen"
|
||||||
description="Beispiel: „Anna im Rollstuhl, Raum F kein Fahrstuhl"."
|
description={"Beispiel: „Anna im Rollstuhl, Raum F kein Fahrstuhl"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={missing}
|
newDisabled={missing}
|
||||||
prereqWarning={missing ? 'Zuerst Lehrer und Raeume anlegen.' : null}
|
prereqWarning={missing ? 'Zuerst Lehrer und Raeume anlegen.' : null}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export function TeacherMaxHoursDayEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-max-hours-day-editor"
|
testId="teacher-max-hours-day-editor"
|
||||||
title="Lehrer: Max. Stunden / Tag"
|
title="Lehrer: Max. Stunden / Tag"
|
||||||
description="Beispiel: „Anna unterrichtet hoechstens 6 Stunden pro Tag" (oft Soft-Regel)."
|
description={"Beispiel: „Anna unterrichtet hoechstens 6 Stunden pro Tag" (oft Soft-Regel)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={teachers.length === 0}
|
newDisabled={teachers.length === 0}
|
||||||
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
||||||
@@ -97,7 +97,7 @@ export function TeacherMaxHoursWeekEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-max-hours-week-editor"
|
testId="teacher-max-hours-week-editor"
|
||||||
title="Lehrer: Max. Stunden / Woche"
|
title="Lehrer: Max. Stunden / Woche"
|
||||||
description="Beispiel: Teilzeit 50% → max. 14 h/Woche (harte Regel aus Vertrag)."
|
description={"Beispiel: Teilzeit 50% → max. 14 h/Woche (harte Regel aus Vertrag)."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={teachers.length === 0}
|
newDisabled={teachers.length === 0}
|
||||||
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export function TeacherUnavailableDayEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-unavailable-day-editor"
|
testId="teacher-unavailable-day-editor"
|
||||||
title="Lehrer: Tag nicht verfuegbar"
|
title="Lehrer: Tag nicht verfuegbar"
|
||||||
description="Beispiel: „Lehrer X kann Montags nie"."
|
description={"Beispiel: „Lehrer X kann Montags nie"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={teachers.length === 0}
|
newDisabled={teachers.length === 0}
|
||||||
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen, dann koennen Regeln vergeben werden.' : null}
|
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen, dann koennen Regeln vergeben werden.' : null}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export function TeacherUnavailableWindowEditor() {
|
|||||||
<ConstraintShell
|
<ConstraintShell
|
||||||
testId="teacher-unavailable-window-editor"
|
testId="teacher-unavailable-window-editor"
|
||||||
title="Lehrer: Zeitfenster nicht verfuegbar"
|
title="Lehrer: Zeitfenster nicht verfuegbar"
|
||||||
description="Beispiel: „Lehrer Z Dienstags 13:00–17:00 nicht"."
|
description={"Beispiel: „Lehrer Z Dienstags 13:00–17:00 nicht"."}
|
||||||
newLabel="+ Neue Regel"
|
newLabel="+ Neue Regel"
|
||||||
newDisabled={teachers.length === 0}
|
newDisabled={teachers.length === 0}
|
||||||
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
prereqWarning={teachers.length === 0 ? 'Zuerst Lehrer anlegen.' : null}
|
||||||
|
|||||||
Reference in New Issue
Block a user