diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/chat-view-idle-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/chat-view-idle-chromium-linux.png index 0eb62954db7..b3de7ce0a6b 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/chat-view-idle-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/chat-view-idle-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d23a2e49a796acc94f387f7d4cddf783de1c630a3cd3902f3cf558083839b043 -size 17817 +oid sha256:63c6e23a31f570031361db39105d4283e05da923bb50757e7583c9430f805c53 +size 16379 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/welcome-with-switcher-and-notification-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/welcome-with-switcher-and-notification-chromium-linux.png index 77deca1d843..b7c12d607a5 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/welcome-with-switcher-and-notification-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/chat/welcome-with-switcher-and-notification-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5236457b1993d510ffd683a6ca3c8e538defe5ab607cbb92185bf9169764e8bf -size 28744 +oid sha256:31bf6a6c046503a150ec6e49eae627411af10da26c17c7c5c455bb3c74198bc5 +size 27697 diff --git a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/history-sessionlist/with-items-chromium-linux.png b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/history-sessionlist/with-items-chromium-linux.png index 74a826d3453..64504449b57 100644 --- a/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/history-sessionlist/with-items-chromium-linux.png +++ b/packages/kilo-vscode/tests/visual-regression.spec.ts-snapshots/history-sessionlist/with-items-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65686e2d0978adcf09ae504d9414e2d81f304eb18ff2275be7a33a9c3579a5e5 -size 18209 +oid sha256:8b971f7a2234c16abbeeda98d9ee4f024a4ff46e63f7a6e5cc900a1e893bde6e +size 18934 diff --git a/packages/kilo-vscode/webview-ui/src/App.tsx b/packages/kilo-vscode/webview-ui/src/App.tsx index 41b0987c923..8b81e975b21 100644 --- a/packages/kilo-vscode/webview-ui/src/App.tsx +++ b/packages/kilo-vscode/webview-ui/src/App.tsx @@ -237,10 +237,11 @@ const AppContent: Component = () => { - + setCurrentView("newTask")} /> setCurrentView("newTask")} onSelectSession={(cloudSessionId) => { session.selectCloudSession(cloudSessionId) setCurrentView("newTask") diff --git a/packages/kilo-vscode/webview-ui/src/components/chat/CloudImportDialog.tsx b/packages/kilo-vscode/webview-ui/src/components/chat/CloudImportDialog.tsx index c7c45ff5570..f4ea7fe6f8b 100644 --- a/packages/kilo-vscode/webview-ui/src/components/chat/CloudImportDialog.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/chat/CloudImportDialog.tsx @@ -56,7 +56,7 @@ export const CloudImportDialog: Component = (props) => { error={error()} />
-
- +
+ + + {language.t("session.cloud.repoOnly") ?? "Only this repository"} + + + +
items={sessions()} diff --git a/packages/kilo-vscode/webview-ui/src/components/history/SessionList.tsx b/packages/kilo-vscode/webview-ui/src/components/history/SessionList.tsx index 402d7c7b815..27722bb20d7 100644 --- a/packages/kilo-vscode/webview-ui/src/components/history/SessionList.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/history/SessionList.tsx @@ -37,6 +37,7 @@ function dateGroupKey(iso: string): (typeof DATE_GROUP_KEYS)[number] { interface SessionListProps { onSelectSession: (id: string) => void + onBack?: () => void } const SessionList: Component = (props) => { @@ -130,6 +131,11 @@ const SessionList: Component = (props) => { return (
+
+ +
items={session.sessions()} key={(s) => s.id} diff --git a/packages/kilo-vscode/webview-ui/src/i18n/en.ts b/packages/kilo-vscode/webview-ui/src/i18n/en.ts index b508de7a234..40cfd529cb7 100644 --- a/packages/kilo-vscode/webview-ui/src/i18n/en.ts +++ b/packages/kilo-vscode/webview-ui/src/i18n/en.ts @@ -827,13 +827,13 @@ export const dict = { "session.search.placeholder": "Search sessions...", "session.empty": "No sessions yet. Click + to start a new conversation.", "session.cloud.repoOnly": "Only this repository", - "session.cloud.import": "Import from cloud", + "session.cloud.import": "Import session", "feedback.button": "Feedback & Support", "feedback.dialog.message": "We'd love to hear your feedback or help with any issues you're experiencing.", "feedback.dialog.github": "Report an issue on GitHub", "feedback.dialog.discord": "Join our Discord community", "feedback.dialog.support": "Customer Support", - "session.cloud.import.title": "Import from cloud", + "session.cloud.import.title": "Import session", "session.cloud.import.placeholder": "Session ID, URL, or kilo import command", "session.cloud.import.button": "Import", "session.cloud.import.invalid": "Invalid session ID format", diff --git a/packages/kilo-vscode/webview-ui/src/styles/chat.css b/packages/kilo-vscode/webview-ui/src/styles/chat.css index 9fe7451c68f..44827a67c91 100644 --- a/packages/kilo-vscode/webview-ui/src/styles/chat.css +++ b/packages/kilo-vscode/webview-ui/src/styles/chat.css @@ -2089,6 +2089,24 @@ white-space: nowrap; } +body.vscode-light .session-list [data-slot="list-item"][data-active="true"] [data-slot="list-item-description"], +body.vscode-light .session-list [data-slot="list-item"][data-selected="true"] [data-slot="list-item-description"] { + color: var(--text-on-interactive-base, white); +} + +body.vscode-light + .session-list + [data-slot="list-item"][data-active="true"] + [data-slot="session-delete-button"] + [data-slot="icon-svg"], +body.vscode-light + .session-list + [data-slot="list-item"][data-selected="true"] + [data-slot="session-delete-button"] + [data-slot="icon-svg"] { + color: var(--text-on-interactive-base, white); +} + .session-list [data-slot="session-delete-button"] { flex-shrink: 0; margin-left: 4px; @@ -2109,10 +2127,39 @@ min-height: 0; } +.session-list-header, .cloud-session-filters { flex-shrink: 0; - padding: 8px 12px; - border-bottom: 1px solid var(--vscode-panel-border); + display: flex; + align-items: center; + gap: 8px; + padding: 4px 8px; + min-height: 40px; +} + +.cloud-session-filters { + [data-component="checkbox"] { + gap: 8px; + + [data-slot="checkbox-checkbox-label"] { + padding-inline-start: 0; + margin-inline-end: 0; + } + } +} + +.cloud-session-filters-right { + display: flex; + align-items: center; + gap: 8px; + margin-left: auto; +} + +[data-component="input"][data-variant="normal"] [data-slot="input-wrapper"]:focus-within:not(:has([data-readonly])) { + border-color: transparent; + box-shadow: none; + outline: 1px solid var(--vscode-focusBorder); + outline-offset: -1px; } .cloud-session-load-more {