feat: select text across bullets and delete it like a text editor; Ctrl+Z in tasks; notes and lists without emoji; custom done columns complete tasks
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m33s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m33s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e2b9daba75
commit
6fb98d4002
27 files changed
+535
-64
No files matched your search
@@ -282,7 +282,7 @@ const FolderTreeItem: React.FC<FolderTreeItemProps> = ({
|
||||
: 'border-transparent text-main hover:bg-panel-elevated'
|
||||
}`}
|
||||
>
|
||||
<span className="shrink-0">{d.icon || '🗒️'}</span>
|
||||
{d.icon && <span className="shrink-0">{d.icon}</span>}
|
||||
<span className="truncate flex-1">{d.title || 'Unbenannte Notiz'}</span>
|
||||
</div>
|
||||
))}
|
||||
@@ -589,7 +589,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
try {
|
||||
const created = await api.createDocument({
|
||||
title: title.trim() || 'Neue Notiz',
|
||||
icon: icon.trim() || '🗒️',
|
||||
icon: icon.trim(),
|
||||
folderPath,
|
||||
blocks: [
|
||||
{
|
||||
@@ -1420,7 +1420,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
map.set(d.id, {
|
||||
docId: d.id,
|
||||
title: d.title || 'Unbenannte Notiz',
|
||||
icon: d.icon || '🗒️',
|
||||
icon: d.icon || '',
|
||||
folderPath: d.folderPath || '',
|
||||
matchedBlocks: matched,
|
||||
});
|
||||
@@ -1433,7 +1433,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
map.set(dg.docId, {
|
||||
docId: dg.docId,
|
||||
title: dg.title || 'Unbenannte Notiz',
|
||||
icon: dg.icon || '🗒️',
|
||||
icon: dg.icon || '',
|
||||
folderPath: dg.folderPath || '',
|
||||
matchedBlocks: dg.matchedBlocks || [],
|
||||
});
|
||||
@@ -1806,7 +1806,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
className="flex-1 min-w-0 truncate text-left text-xs font-medium text-main hover:text-accent cursor-pointer"
|
||||
title="Andere Notiz wählen"
|
||||
>
|
||||
{selectedDocObj?.icon} {selectedDocObj?.title}
|
||||
{[selectedDocObj?.icon, selectedDocObj?.title].filter(Boolean).join(' ')}
|
||||
</button>
|
||||
<div ref={setZenActionsTarget} className="flex items-center" />
|
||||
<button
|
||||
@@ -1990,7 +1990,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
: 'border-transparent text-main hover:bg-panel-elevated'
|
||||
}`}
|
||||
>
|
||||
<span className="shrink-0">{d.icon || '🗒️'}</span>
|
||||
{d.icon && <span className="shrink-0">{d.icon}</span>}
|
||||
<span className="truncate flex-1">{d.title || 'Unbenannte Notiz'}</span>
|
||||
{d.sharedWith && d.sharedWith.length > 0 && (
|
||||
<Users className="w-3 h-3 text-status-ok shrink-0" />
|
||||
@@ -2061,7 +2061,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
: 'border-transparent text-main hover:bg-panel-elevated'
|
||||
}`}
|
||||
>
|
||||
<span className="shrink-0">{d.icon || '🗒️'}</span>
|
||||
{d.icon && <span className="shrink-0">{d.icon}</span>}
|
||||
<span className="truncate flex-1">{d.title || 'Unbenannte Notiz'}</span>
|
||||
{d.sharedWith && d.sharedWith.length > 0 && (
|
||||
<Users className="w-3 h-3 text-status-ok shrink-0" />
|
||||
@@ -2363,7 +2363,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
className="inline-flex items-center gap-1.5 text-[11px] px-2 py-0.5 rounded-btn bg-panel-elevated text-main truncate max-w-full"
|
||||
title={meta.docs[0].title}
|
||||
>
|
||||
<span>{meta.docs[0].icon || '🗒️'}</span>
|
||||
{meta.docs[0].icon && <span>{meta.docs[0].icon}</span>}
|
||||
<span className="truncate">{meta.docs[0].title || 'Unbenannte Notiz'}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2464,7 +2464,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
onClick={() => handleJumpToDocBlock(docGroup.docId)}
|
||||
className="flex items-center gap-2 text-xs font-semibold text-accent hover:underline cursor-pointer"
|
||||
>
|
||||
<span>{docGroup.icon || '🗒️'}</span>
|
||||
{docGroup.icon && <span>{docGroup.icon}</span>}
|
||||
<span>{docGroup.title}</span>
|
||||
{docGroup.folderPath && (
|
||||
<span className="badge-neutral text-[10px] font-normal">
|
||||
@@ -2714,7 +2714,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
className="inline-flex items-center gap-1 text-[11px] px-2 py-0.5 rounded-btn bg-main/[0.06] text-muted hover:text-main"
|
||||
title={item.doc.title}
|
||||
>
|
||||
<span>{item.doc.icon || '🗒️'}</span>
|
||||
{item.doc.icon && <span>{item.doc.icon}</span>}
|
||||
<span className="truncate max-w-[120px]">{item.doc.title}</span>
|
||||
{item.doc.folderPath && (
|
||||
<span className="text-faint text-[10px]">({item.doc.folderPath})</span>
|
||||
@@ -2815,7 +2815,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
) : (
|
||||
<ChevronDown className="w-3 h-3 text-accent" />
|
||||
)}
|
||||
<span>{doc.icon || '🗒️'}</span>
|
||||
{doc.icon && <span>{doc.icon}</span>}
|
||||
<span>{doc.title}</span>
|
||||
<span className="badge-neutral text-[9px] font-mono">
|
||||
{docOpenCount} offen
|
||||
@@ -2967,7 +2967,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
||||
}}
|
||||
>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<EmojiIconButton value={newNoteIcon} onChange={setNewNoteIcon} fallback="🗒️" />
|
||||
<EmojiIconButton value={newNoteIcon} onChange={setNewNoteIcon} />
|
||||
<input
|
||||
type="text"
|
||||
autoFocus
|
||||
|
||||
Reference in new issue
Block a user