fix(tasks): preserve linebreaks in task notes display with whitespace-pre-wrap
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 56s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 56s
This commit is contained in:
1 parent
0ec1a8b7f7
commit
577893172b
1 file changed
+35
-11
@@ -833,8 +833,16 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
<textarea
|
||||
value={notesDraft}
|
||||
onChange={(e) => setNotesDraft(e.target.value)}
|
||||
placeholder="Detailnotizen eingeben…"
|
||||
rows={2}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {
|
||||
e.preventDefault();
|
||||
handleSaveNotes(task);
|
||||
} else if (e.key === 'Escape') {
|
||||
setActiveNotesTaskId(null);
|
||||
}
|
||||
}}
|
||||
placeholder="Detailnotizen eingeben… (Shift+Enter für Zeilenumbruch, Strg+Enter zum Speichern)"
|
||||
rows={3}
|
||||
className="w-full input-field p-1.5 text-xs resize-none"
|
||||
/>
|
||||
<div className="flex justify-end gap-1">
|
||||
@@ -858,7 +866,7 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
setActiveNotesTaskId(task.id);
|
||||
setNotesDraft(task.notes || '');
|
||||
}}
|
||||
className="p-1.5 bg-canvas border border-border text-[11px] text-muted break-words cursor-pointer hover:border-strong"
|
||||
className="p-1.5 bg-canvas border border-border text-[11px] text-muted break-words whitespace-pre-wrap leading-relaxed cursor-pointer hover:border-strong"
|
||||
title="Klicken zum Bearbeiten der Notizen"
|
||||
>
|
||||
{task.notes}
|
||||
@@ -958,8 +966,16 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
<textarea
|
||||
value={notesDraft}
|
||||
onChange={(e) => setNotesDraft(e.target.value)}
|
||||
placeholder="Detailnotizen eingeben…"
|
||||
rows={2}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {
|
||||
e.preventDefault();
|
||||
handleSaveNotes(task);
|
||||
} else if (e.key === 'Escape') {
|
||||
setActiveNotesTaskId(null);
|
||||
}
|
||||
}}
|
||||
placeholder="Detailnotizen eingeben… (Shift+Enter für Zeilenumbruch, Strg+Enter zum Speichern)"
|
||||
rows={3}
|
||||
className="w-full input-field p-1.5 text-xs resize-none"
|
||||
/>
|
||||
<div className="flex justify-end gap-1">
|
||||
@@ -983,7 +999,7 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
setActiveNotesTaskId(task.id);
|
||||
setNotesDraft(task.notes || '');
|
||||
}}
|
||||
className="p-1.5 bg-canvas border border-border text-[11px] text-muted break-words cursor-pointer hover:border-strong"
|
||||
className="p-1.5 bg-canvas border border-border text-[11px] text-muted break-words whitespace-pre-wrap leading-relaxed cursor-pointer hover:border-strong"
|
||||
>
|
||||
{task.notes}
|
||||
</div>
|
||||
@@ -1223,8 +1239,16 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
<textarea
|
||||
value={notesDraft}
|
||||
onChange={(e) => setNotesDraft(e.target.value)}
|
||||
placeholder="Detailnotizen eingeben…"
|
||||
rows={2}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {
|
||||
e.preventDefault();
|
||||
handleSaveNotes(task);
|
||||
} else if (e.key === 'Escape') {
|
||||
setActiveNotesTaskId(null);
|
||||
}
|
||||
}}
|
||||
placeholder="Detailnotizen eingeben… (Shift+Enter für Zeilenumbruch, Strg+Enter zum Speichern)"
|
||||
rows={3}
|
||||
className="w-full input-field p-2 text-xs resize-none"
|
||||
/>
|
||||
<div className="flex justify-end gap-1.5">
|
||||
@@ -1243,16 +1267,16 @@ export const TasksView: React.FC<TasksViewProps> = ({
|
||||
</div>
|
||||
</div>
|
||||
) : task.notes ? (
|
||||
<p
|
||||
<div
|
||||
onClick={() => {
|
||||
setActiveNotesTaskId(task.id);
|
||||
setNotesDraft(task.notes || '');
|
||||
}}
|
||||
className="text-xs text-muted bg-canvas p-1.5 border border-border cursor-pointer hover:border-strong"
|
||||
className="text-xs text-muted bg-canvas p-1.5 border border-border break-words whitespace-pre-wrap leading-relaxed cursor-pointer hover:border-strong"
|
||||
title="Klicken zum Bearbeiten"
|
||||
>
|
||||
{task.notes}
|
||||
</p>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
{/* Subtasks Checklist & Inline Creator */}
|
||||
|
||||
Reference in new issue
Block a user