Skip to content

Commit 459cf76

Browse files
committed
feat: update version to 0.9.1 and UI improvements
1 parent 8e06cbd commit 459cf76

File tree

13 files changed

+224
-74
lines changed

13 files changed

+224
-74
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"tar-fs": ">=2.1.3",
5959
"esbuild": ">=0.25.0",
6060
"undici": ">=5.29.0",
61-
"brace-expansion": ">=2.0.2",
61+
"brace-expansion": "2.0.2",
6262
"form-data": ">=4.0.4",
6363
"bluebird": ">=3.7.2"
6464
}

pnpm-lock.yaml

Lines changed: 12 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webview-ui/src/App.tsx

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ const App = () => {
258258
}
259259

260260
return (
261-
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900">
261+
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 glass-scrollable">
262262
{/* Top Navigation Bar (includes header icons, tabs, and recent tasks) */}
263263
<TopNavBar activeTab={tab} onTabChange={switchTab} />
264264
<ModeTabBar activeTab={tab} onTabChange={switchTab} />
@@ -318,7 +318,11 @@ const App = () => {
318318

319319
{tab === "settings" && (
320320
<div className="glass-animate-fade-in">
321-
<SettingsView ref={settingsRef} onDone={() => setTab("chat")} targetSection={currentSection} />
321+
<SettingsView
322+
ref={settingsRef}
323+
onDone={() => setTab("chat")}
324+
targetSection={currentSection}
325+
/>
322326
</div>
323327
)}
324328

@@ -408,18 +412,18 @@ const App = () => {
408412
/>
409413
) : (
410414
<MemoizedEditMessageDialog
411-
open={editMessageDialogState.isOpen}
412-
onOpenChange={(open: boolean) => setEditMessageDialogState((prev) => ({ ...prev, isOpen: open }))}
413-
onConfirm={() => {
414-
vscode.postMessage({
415-
type: "editMessageConfirm",
416-
messageTs: editMessageDialogState.messageTs,
417-
text: editMessageDialogState.text,
418-
images: editMessageDialogState.images,
419-
})
420-
setEditMessageDialogState((prev) => ({ ...prev, isOpen: false }))
421-
}}
422-
/>
415+
open={editMessageDialogState.isOpen}
416+
onOpenChange={(open: boolean) => setEditMessageDialogState((prev) => ({ ...prev, isOpen: open }))}
417+
onConfirm={() => {
418+
vscode.postMessage({
419+
type: "editMessageConfirm",
420+
messageTs: editMessageDialogState.messageTs,
421+
text: editMessageDialogState.text,
422+
images: editMessageDialogState.images,
423+
})
424+
setEditMessageDialogState((prev) => ({ ...prev, isOpen: false }))
425+
}}
426+
/>
423427
)}
424428
</div>
425429
)
@@ -439,6 +443,6 @@ const AppWithProviders = () => (
439443
</TranslationProvider>
440444
</ExtensionStateContextProvider>
441445
</ErrorBoundary>
442-
);
446+
)
443447

444448
export default AppWithProviders

webview-ui/src/components/ModeTabBar.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const modeTabConfig = [
1818

1919
export const ModeTabBar: React.FC<ModeTabBarProps> = ({ activeTab, onTabChange }) => {
2020
return (
21-
<div className="glass-mode-bar sticky top-14 z-40 w-full border-b border-white/10 bg-white/5 backdrop-blur-xl backdrop-saturate-150">
21+
<div className="glass-nav-bar sticky top-14 z-40 w-full border-b border-white/10 bg-white/5 backdrop-blur-xl backdrop-saturate-150">
2222
<nav className="flex items-center justify-center space-x-1 px-4 py-2">
2323
{modeTabConfig.map(({ id, icon: Icon, label }) => (
2424
<Button
@@ -27,15 +27,15 @@ export const ModeTabBar: React.FC<ModeTabBarProps> = ({ activeTab, onTabChange }
2727
size="sm"
2828
onClick={() => onTabChange(id)}
2929
className={`
30-
relative flex items-center space-x-2 px-4 py-2 rounded-lg transition-all duration-200
30+
relative flex items-center space-x-2 px-4 py-2 rounded-lg transition-all duration-300 ease-in-out
3131
${
3232
activeTab === id
3333
? "bg-white/30 text-white shadow-lg backdrop-blur-md border border-white/30"
34-
: "text-white/70 hover:text-white hover:bg-white/15 hover:backdrop-blur-sm"
34+
: "text-white/70 hover:text-white hover:bg-white/15 hover:backdrop-blur-sm hover:shadow-md"
3535
}
3636
${activeTab === id ? "glass-active-tab" : "glass-tab"}
37-
`}
38-
>
37+
glass-focus
38+
`}>
3939
<Icon className="h-4 w-4" />
4040
<span className="text-sm font-medium">{label}</span>
4141
{activeTab === id && (
@@ -48,4 +48,4 @@ export const ModeTabBar: React.FC<ModeTabBarProps> = ({ activeTab, onTabChange }
4848
)
4949
}
5050

51-
export default ModeTabBar
51+
export default ModeTabBar

webview-ui/src/components/architect/ArchitectView.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import React from "react"
22

33
const ArchitectView: React.FC = () => {
44
return (
5-
<div className="flex h-full items-center justify-center text-white/70">
6-
<p className="text-lg">Architect Mode Content Coming Soon!</p>
5+
<div className="glass-content flex h-full items-center justify-center text-white/70">
6+
<div className="glass-nav-bar rounded-xl p-8 text-center backdrop-blur-sm bg-white/5">
7+
<p className="text-lg font-medium">Architect Mode Content Coming Soon!</p>
8+
</div>
79
</div>
810
)
911
}
1012

11-
export default ArchitectView
13+
export default ArchitectView

webview-ui/src/components/common/Modal.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ export function Modal({ isOpen, onClose, children, className = "" }: ModalProps)
99
if (!isOpen) return null
1010

1111
return (
12-
<div className="fixed inset-0 bg-black/70 flex items-center justify-center z-[1000]" onClick={onClose}>
12+
<div
13+
className="fixed inset-0 bg-black/70 backdrop-blur-sm flex items-center justify-center z-[1000]"
14+
onClick={onClose}>
1315
<div
14-
className={`bg-vscode-editor-background rounded w-[90%] h-[90%] max-w-[1200px] flex flex-col shadow-[0_5px_15px_rgba(0,0,0,0.5)] border border-vscode-editorGroup-border relative ${className}`}
16+
className={`glass-nav-bar rounded-lg w-[90%] h-[90%] max-w-[1200px] flex flex-col shadow-[0_8px_32px_rgba(0,0,0,0.4)] border border-white/20 relative ${className}`}
1517
onClick={(e) => e.stopPropagation()}>
1618
{children}
1719
</div>

webview-ui/src/components/common/Tab.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const Tab = ({ className, children, ...props }: TabProps) => (
1212
)
1313

1414
export const TabHeader = ({ className, children, ...props }: TabProps) => (
15-
<div className={cn("px-5 py-2.5 border-b border-vscode-panel-border", className)} {...props}>
15+
<div className={cn("px-5 py-2.5 border-b border-white/10 glass-nav-bar", className)} {...props}>
1616
{children}
1717
</div>
1818
)
@@ -40,7 +40,7 @@ export const TabContent = forwardRef<HTMLDivElement, TabProps>(({ className, chi
4040
)
4141

4242
return (
43-
<div ref={ref} className={cn("flex-1 overflow-auto p-5", className)} onWheel={onWheel} {...props}>
43+
<div ref={ref} className={cn("flex-1 overflow-auto p-5 glass-content", className)} onWheel={onWheel} {...props}>
4444
{children}
4545
</div>
4646
)

webview-ui/src/components/history/HistoryView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
251251

252252
{/* Fixed action bar at bottom - only shown in selection mode with selected items */}
253253
{isSelectionMode && selectedTaskIds.length > 0 && (
254-
<div className="fixed bottom-0 left-0 right-2 bg-vscode-editor-background border-t border-vscode-panel-border p-2 flex justify-between items-center">
254+
<div className="fixed bottom-0 left-0 right-2 glass-nav-bar border-t border-white/10 p-2 flex justify-between items-center">
255255
<div className="text-vscode-foreground">
256256
{t("history:selectedItems", { selected: selectedTaskIds.length, total: tasks.length })}
257257
</div>

webview-ui/src/components/settings/SettingsView.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,10 @@ import PromptsSettings from "./PromptsSettings"
6767

6868
export const settingsTabsContainer = "flex flex-1 overflow-hidden [&.narrow_.tab-label]:hidden"
6969
export const settingsTabList =
70-
"w-48 data-[compact=true]:w-12 flex-shrink-0 flex flex-col overflow-y-auto overflow-x-hidden border-r border-vscode-sideBar-background"
70+
"w-48 data-[compact=true]:w-12 flex-shrink-0 flex flex-col overflow-y-auto overflow-x-hidden border-r border-white/10 glass-nav-bar"
7171
export const settingsTabTrigger =
72-
"whitespace-nowrap overflow-hidden min-w-0 h-12 px-4 py-3 box-border flex items-center border-l-2 border-transparent text-vscode-foreground opacity-70 hover:bg-vscode-list-hoverBackground data-[compact=true]:w-12 data-[compact=true]:p-4"
73-
export const settingsTabTriggerActive = "opacity-100 border-vscode-focusBorder bg-vscode-list-activeSelectionBackground"
72+
"whitespace-nowrap overflow-hidden min-w-0 h-12 px-4 py-3 box-border flex items-center border-l-2 border-transparent text-vscode-foreground opacity-70 hover:bg-white/10 hover:backdrop-blur-sm data-[compact=true]:w-12 data-[compact=true]:p-4 glass-tab transition-all duration-200"
73+
export const settingsTabTriggerActive = "opacity-100 border-white/20 bg-white/15 backdrop-blur-sm glass-active-tab"
7474

7575
export interface SettingsViewRef {
7676
checkUnsaveChanges: (then: () => void) => void

webview-ui/src/components/ui/button.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { cva, type VariantProps } from "class-variance-authority"
55
import { cn } from "@/lib/utils"
66

77
const buttonVariants = cva(
8-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80",
8+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80",
99
{
1010
variants: {
1111
variant: {
@@ -19,6 +19,8 @@ const buttonVariants = cva(
1919
link: "text-primary underline-offset-4 hover:underline",
2020
combobox:
2121
"border border-vscode-dropdown-border focus-visible:border-vscode-focusBorder bg-vscode-dropdown-background hover:bg-transparent text-vscode-dropdown-foreground font-normal",
22+
glass: "glass-button-primary text-white hover:bg-white/20 border-white/20",
23+
"glass-secondary": "glass-button-secondary text-white hover:bg-white/15 border-white/15",
2224
},
2325
size: {
2426
default: "h-7 px-3",

0 commit comments

Comments
 (0)