style(workspace): borderless selection in the notes sidebar and journal calendar
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m15s
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:
1 parent
546bcba666
commit
61c7dea6a1
3 files changed
+10
-9
No files matched your search
@@ -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'
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in new issue
Block a user