style(workspace): borderless selection in the notes sidebar and journal calendar
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m15s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-10-30 22:28:06 +01:00
1 parent 546bcba666
commit 61c7dea6a1
3 files changed
+10 -9

No files matched your search

+1
View File
@@ -16,6 +16,7 @@ Das Format folgt [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die V
- PWA Web Share Target: Text, Links und Bilder können über den nativen Teilen-Dialog des Smartphones direkt in den MindSift-Posteingang geteilt werden (`share_target` im Manifest, Abfangen im Service Worker via IndexedDB und Übernahme beim App-Start; Fallback-Route `POST /share-target` im Server). - PWA Web Share Target: Text, Links und Bilder können über den nativen Teilen-Dialog des Smartphones direkt in den MindSift-Posteingang geteilt werden (`share_target` im Manifest, Abfangen im Service Worker via IndexedDB und Übernahme beim App-Start; Fallback-Route `POST /share-target` im Server).
### Changed ### Changed
- Notizen-Seitenleiste: Die ausgewählte Notiz ist nur noch hinterlegt (ohne Rahmen); das Journal-Panel und die Monats-/Jahresauswahl im Kalender kommen ebenfalls ohne Rahmen aus.
- Code-Blöcke ohne Rahmen und Kopfleiste: oben links nur die Sprache, Kopieren als runder Symbol-Knopf unten rechts (erscheint beim Überfahren, am Handy immer). „In normalen Text umwandeln“ steht für Code-Blöcke (und nummerierte Punkte) in der Aktionsblase des Punkts. - Code-Blöcke ohne Rahmen und Kopfleiste: oben links nur die Sprache, Kopieren als runder Symbol-Knopf unten rechts (erscheint beim Überfahren, am Handy immer). „In normalen Text umwandeln“ steht für Code-Blöcke (und nummerierte Punkte) in der Aktionsblase des Punkts.
- Code-, Audio- und Diktat-Blöcke haben unabhängig vom Theme runde Ecken; Callouts bleiben eckig. - Code-, Audio- und Diktat-Blöcke haben unabhängig vom Theme runde Ecken; Callouts bleiben eckig.
- Inline-Code ist einfarbig (Text in Haupttextfarbe auf dem Code-Hintergrund des Themes) statt in Akzentfarbe, für bessere Lesbarkeit. - Inline-Code ist einfarbig (Text in Haupttextfarbe auf dem Code-Hintergrund des Themes) statt in Akzentfarbe, für bessere Lesbarkeit.
@@ -45,7 +45,7 @@ export const JournalCalendar: React.FC<JournalCalendarProps> = ({ activeDate, en
<button <button
type="button" type="button"
onClick={() => shiftMonth(-1)} onClick={() => shiftMonth(-1)}
className="btn-icon h-9 w-9 sm:h-7 sm:w-7 shrink-0" className="h-9 w-9 sm:h-7 sm:w-7 shrink-0 rounded-btn flex items-center justify-center text-muted hover:text-main hover:bg-panel transition-colors cursor-pointer"
title="Vorheriger Monat" title="Vorheriger Monat"
aria-label="Vorheriger Monat" aria-label="Vorheriger Monat"
> >
@@ -54,7 +54,7 @@ export const JournalCalendar: React.FC<JournalCalendarProps> = ({ activeDate, en
<select <select
value={view.month} value={view.month}
onChange={(e) => setView((v) => ({ ...v, month: Number(e.target.value) }))} onChange={(e) => setView((v) => ({ ...v, month: Number(e.target.value) }))}
className="flex-1 min-w-0 h-9 sm:h-7 px-1.5 input-field text-xs font-semibold" className="flex-1 min-w-0 h-9 sm:h-7 px-1.5 rounded-btn bg-panel text-main border-0 text-xs font-semibold outline-none focus:ring-1 focus:ring-accent cursor-pointer"
aria-label="Monat" aria-label="Monat"
> >
{MONTHS.map((m, i) => ( {MONTHS.map((m, i) => (
@@ -66,7 +66,7 @@ export const JournalCalendar: React.FC<JournalCalendarProps> = ({ activeDate, en
<select <select
value={view.year} value={view.year}
onChange={(e) => setView((v) => ({ ...v, year: Number(e.target.value) }))} onChange={(e) => setView((v) => ({ ...v, year: Number(e.target.value) }))}
className="w-[4.5rem] h-9 sm:h-7 px-1.5 input-field text-xs font-semibold" className="w-[4.5rem] h-9 sm:h-7 px-1.5 rounded-btn bg-panel text-main border-0 text-xs font-semibold outline-none focus:ring-1 focus:ring-accent cursor-pointer"
aria-label="Jahr" aria-label="Jahr"
> >
{years.map((y) => ( {years.map((y) => (
@@ -78,7 +78,7 @@ export const JournalCalendar: React.FC<JournalCalendarProps> = ({ activeDate, en
<button <button
type="button" type="button"
onClick={() => shiftMonth(1)} onClick={() => shiftMonth(1)}
className="btn-icon h-9 w-9 sm:h-7 sm:w-7 shrink-0" className="h-9 w-9 sm:h-7 sm:w-7 shrink-0 rounded-btn flex items-center justify-center text-muted hover:text-main hover:bg-panel transition-colors cursor-pointer"
title="Nächster Monat" title="Nächster Monat"
aria-label="Nächster Monat" aria-label="Nächster Monat"
> >
@@ -266,7 +266,7 @@ const FolderTreeItem: React.FC<FolderTreeItemProps> = ({
mergeHoverId === d.id mergeHoverId === d.id
? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main' ? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main'
: selectedDocId === d.id && subView === 'editor' : selectedDocId === d.id && subView === 'editor'
? 'bg-panel-elevated text-main font-semibold border-border/80' ? 'bg-panel-elevated text-main font-semibold border-transparent'
: 'border-transparent text-main hover:bg-panel-elevated' : 'border-transparent text-main hover:bg-panel-elevated'
}`} }`}
> >
@@ -1707,7 +1707,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
<div> <div>
<div <div
className={`rounded-card border-2 transition-[background-color,border-color,padding] duration-300 ease-out ${ className={`rounded-card border-2 transition-[background-color,border-color,padding] duration-300 ease-out ${
subView === 'journal' ? 'border-accent/40 bg-panel-elevated p-2.5' : 'border-transparent p-0' subView === 'journal' ? 'border-transparent bg-panel-elevated p-2.5' : 'border-transparent p-0'
}`} }`}
> >
<button <button
@@ -1778,7 +1778,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
mergeHoverId === d.id mergeHoverId === d.id
? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main' ? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main'
: selectedDocId === d.id && subView === 'editor' : selectedDocId === d.id && subView === 'editor'
? 'bg-panel-elevated text-main font-semibold border-border/80' ? 'bg-panel-elevated text-main font-semibold border-transparent'
: 'border-transparent text-main hover:bg-panel-elevated' : 'border-transparent text-main hover:bg-panel-elevated'
}`} }`}
> >
@@ -1841,7 +1841,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
mergeHoverId === d.id mergeHoverId === d.id
? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main' ? 'border-accent bg-accent/15 ring-2 ring-accent/30 text-main'
: selectedDocId === d.id && subView === 'editor' : selectedDocId === d.id && subView === 'editor'
? 'bg-panel-elevated text-main font-semibold border-border/80' ? 'bg-panel-elevated text-main font-semibold border-transparent'
: 'border-transparent text-main hover:bg-panel-elevated' : 'border-transparent text-main hover:bg-panel-elevated'
}`} }`}
> >
@@ -1910,7 +1910,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
onClick={openTrash} onClick={openTrash}
className={`w-full flex items-center gap-2 px-2 h-11 sm:h-8 rounded-btn text-xs border transition-colors cursor-pointer ${ className={`w-full flex items-center gap-2 px-2 h-11 sm:h-8 rounded-btn text-xs border transition-colors cursor-pointer ${
subView === 'trash' subView === 'trash'
? 'bg-panel-elevated text-main font-semibold border-border/80' ? 'bg-panel-elevated text-main font-semibold border-transparent'
: 'border-transparent text-muted hover:text-main hover:bg-panel-elevated' : 'border-transparent text-muted hover:text-main hover:bg-panel-elevated'
}`} }`}
> >