diff --git a/frontend/src/components/WorkspaceChatWidget.vue b/frontend/src/components/WorkspaceChatWidget.vue new file mode 100644 index 0000000..59c1a86 --- /dev/null +++ b/frontend/src/components/WorkspaceChatWidget.vue @@ -0,0 +1,390 @@ + + + + + + + + Project chat + + + ▾ + + + No past conversations + + + {{ conversationLabel(c) }} + + + + ↻ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/components/WorkspaceNoteEditor.vue b/frontend/src/components/WorkspaceNoteEditor.vue index a5bb3f6..d0185f2 100644 --- a/frontend/src/components/WorkspaceNoteEditor.vue +++ b/frontend/src/components/WorkspaceNoteEditor.vue @@ -457,12 +457,12 @@ defineExpose({ reload: loadProjectNotes }); /* ── Left rail ── */ .note-rail { - width: 155px; + width: 200px; flex-shrink: 0; display: flex; flex-direction: column; overflow: hidden; - border-right: 1px solid var(--color-border); + background: var(--color-bg-card, var(--color-bg-secondary)); } .rail-header { @@ -551,13 +551,13 @@ defineExpose({ reload: loadProjectNotes }); border-bottom: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent); cursor: pointer; gap: 0.15rem; - border-left: 2px solid transparent; + border-right: 2px solid transparent; transition: background 0.12s; } .note-row:hover { background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)); } .note-row.active { background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)); - border-left-color: var(--color-primary); + border-right-color: var(--color-primary); } .note-row-main { @@ -715,7 +715,6 @@ defineExpose({ reload: loadProjectNotes }); display: flex; align-items: center; padding: 0.5rem 0.75rem; - border-bottom: 1px solid var(--color-border); flex-shrink: 0; gap: 0.5rem; } @@ -742,8 +741,7 @@ defineExpose({ reload: loadProjectNotes }); .btn-save:disabled { opacity: 0.4; cursor: default; } .note-title-row { - padding: 0.5rem 0.75rem; - border-bottom: 1px solid var(--color-border); + padding: 0.9rem 1.1rem 0.5rem; flex-shrink: 0; } @@ -751,19 +749,25 @@ defineExpose({ reload: loadProjectNotes }); width: 100%; background: transparent; border: none; - font-size: 1rem; + font-size: 1.4rem; font-weight: 600; + line-height: 1.25; color: var(--color-text); padding: 0; + font-family: 'Fraunces', serif; + letter-spacing: -0.01em; } .note-title-input:focus { outline: none; } +.note-title-input::placeholder { + color: var(--color-text-muted); + font-style: italic; +} .tag-row { display: flex; align-items: flex-start; gap: 0.4rem; padding: 0.4rem 0.6rem; - border-bottom: 1px solid var(--color-border); flex-shrink: 0; } .tag-row > :first-child { flex: 1; min-width: 0; } @@ -789,7 +793,6 @@ defineExpose({ reload: loadProjectNotes }); align-items: center; gap: 0.3rem; padding: 0.35rem 0.6rem; - border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)); flex-shrink: 0; } @@ -824,7 +827,6 @@ defineExpose({ reload: loadProjectNotes }); .toolbar-row { padding: 0.3rem 0.6rem; - border-bottom: 1px solid var(--color-border); flex-shrink: 0; } @@ -834,7 +836,6 @@ defineExpose({ reload: loadProjectNotes }); flex-wrap: wrap; gap: 0.25rem; padding: 0.3rem 0.6rem; - border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)); flex-shrink: 0; } diff --git a/frontend/src/views/WorkspaceView.vue b/frontend/src/views/WorkspaceView.vue index b410bee..960a8e3 100644 --- a/frontend/src/views/WorkspaceView.vue +++ b/frontend/src/views/WorkspaceView.vue @@ -1,15 +1,13 @@ @@ -176,13 +94,6 @@ onUnmounted(async () => { > Tasks - - Chat - { - + - @@ -209,35 +119,8 @@ onUnmounted(async () => { - - - - - - - What would you like to work on? - - 📊 Project status - 📝 New note - ✓ Add tasks - - - - - - - - + { - + + +
What would you like to work on?