Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"images" : [
{
"filename" : "AppIcon.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
Expand Down
2 changes: 2 additions & 0 deletions clients/ios/Resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<string>Vellum Assistant</string>
<key>CFBundleIdentifier</key>
<string>com.vellum.vellum-assistant-ios</string>
<key>CFBundleExecutable</key>
<string>vellum-assistant-ios</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
Expand Down
4 changes: 3 additions & 1 deletion clients/macos/vellum-assistant/Features/Chat/ChatView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ struct ChatView: View {

@State private var isDropTargeted = false
@State private var editorContentHeight: CGFloat = 20
@AppStorage("useThreadDrawer") private var useThreadDrawer: Bool = false
@State private var composerScrollOffset: CGFloat = 0

var body: some View {
Expand Down Expand Up @@ -286,7 +287,8 @@ struct ChatView: View {
}
}
.padding(.horizontal, VSpacing.xl)
.padding(.vertical, VSpacing.md)
.padding(.top, useThreadDrawer ? VSpacing.xs : VSpacing.md)
.padding(.bottom, VSpacing.md)
.frame(maxWidth: 700)
.frame(maxWidth: .infinity)
}
Expand Down
307 changes: 237 additions & 70 deletions clients/macos/vellum-assistant/Features/MainWindow/MainWindowView.swift

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ struct SettingsPanel: View {
@State private var hasBraveKey: Bool = false
@AppStorage("maxStepsPerSession") private var maxSteps: Double = 50
@AppStorage("ambientAgentEnabled") private var ambientEnabled: Bool = false
@AppStorage("useThreadDrawer") private var useThreadDrawer: Bool = false

var body: some View {
VSidePanel(title: "Settings", onClose: onClose) {
Expand Down Expand Up @@ -180,6 +181,28 @@ struct SettingsPanel: View {
.padding(VSpacing.lg)
.vCard(background: Slate._900)

// DISPLAY section
VStack(alignment: .leading, spacing: VSpacing.md) {
Text("DISPLAY")
.font(VFont.sectionTitle)
.foregroundColor(VColor.textPrimary)

HStack {
VStack(alignment: .leading, spacing: VSpacing.xs) {
Text("Show thread list drawer")
.font(VFont.body)
.foregroundColor(VColor.textSecondary)
Text("Access chat history from a left-side drawer instead of tabs")
.font(VFont.caption)
.foregroundColor(VColor.textMuted)
}
Spacer()
VToggle(isOn: $useThreadDrawer)
}
}
.padding(VSpacing.lg)
.vCard(background: Slate._900)

// PERMISSIONS section
VStack(alignment: .leading, spacing: VSpacing.md) {
Text("PERMISSIONS")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ struct ThreadTab: View {
Image(systemName: "xmark")
.font(.system(size: 10, weight: .bold))
.foregroundColor(VColor.textMuted)
.frame(width: 16, height: 16)
.contentShape(Rectangle())
}
.buttonStyle(.plain)
.accessibilityLabel("Close \(label)")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ public struct VSplitView<Main: View, Panel: View>: View {

public var body: some View {
HStack(spacing: 0) {
// Main content - shrinks when panel appears
main
.frame(maxWidth: .infinity, maxHeight: .infinity)

// Panel slides in from right, pushing content
if showPanel, let panel = panel {
panel
.frame(width: panelWidth)
Expand Down