Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
13 changes: 0 additions & 13 deletions apps/web/src/components/settings/SettingsRouteContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -130,22 +130,9 @@ export function SettingsRouteContextProvider({ children }: { children: ReactNode
...(settings.codeViewerAutosave !== defaults.codeViewerAutosave
? ["Code preview autosave"]
: []),
...(settings.defaultThreadEnvMode !== defaults.defaultThreadEnvMode
? ["New thread mode"]
: []),
...(settings.autoUpdateWorktreeBaseBranch !== defaults.autoUpdateWorktreeBaseBranch
? ["Worktree base refresh"]
: []),
...(settings.confirmThreadDelete !== defaults.confirmThreadDelete
? ["Delete confirmation"]
: []),
...(settings.autoDeleteMergedThreads !== defaults.autoDeleteMergedThreads
? ["Auto-delete merged threads"]
: []),
...(settings.autoDeleteMergedThreadsDelayMinutes !==
defaults.autoDeleteMergedThreadsDelayMinutes
? ["Auto-delete delay"]
: []),
...(settings.rebaseBeforeCommit !== defaults.rebaseBeforeCommit
? ["Rebase before commit"]
: []),
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/components/ui/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ function SidebarFooter({ className, ...props }: React.ComponentProps<"div">) {
function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {
return (
<Separator
className={cn("mx-2 w-auto bg-sidebar-border", className)}
className={cn("mx-2 w-[calc(100%-1rem)] bg-sidebar-border", className)}
data-sidebar="separator"
data-slot="sidebar-separator"
{...props}
Expand Down
156 changes: 0 additions & 156 deletions apps/web/src/routes/_chat.settings.index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1118,48 +1118,6 @@ function SettingsRouteView() {
}
/>

<SettingsRow
title="New threads"
description="Pick the default workspace mode for newly created draft threads."
resetAction={
settings.defaultThreadEnvMode !== defaults.defaultThreadEnvMode ? (
<SettingResetButton
label="new threads"
onClick={() =>
updateSettings({
defaultThreadEnvMode: defaults.defaultThreadEnvMode,
})
}
/>
) : null
}
control={
<Select
value={settings.defaultThreadEnvMode}
onValueChange={(value) => {
if (value !== "local" && value !== "worktree") return;
updateSettings({
defaultThreadEnvMode: value,
});
}}
>
<SelectTrigger className="w-full sm:w-44" aria-label="Default thread mode">
<SelectValue>
{settings.defaultThreadEnvMode === "worktree" ? "New worktree" : "Local"}
</SelectValue>
</SelectTrigger>
<SelectPopup align="end" alignItemWithTrigger={false}>
<SelectItem hideIndicator value="local">
Local
</SelectItem>
<SelectItem hideIndicator value="worktree">
New worktree
</SelectItem>
</SelectPopup>
</Select>
}
/>

<SettingsRow
title="New worktree base"
description="Refresh the selected base branch from its tracked remote before creating a new worktree, without changing your current checkout."
Expand Down Expand Up @@ -1187,120 +1145,6 @@ function SettingsRouteView() {
/>
}
/>

<SettingsRow
title="Delete confirmation"
description="Ask before deleting a thread and its chat history."
resetAction={
settings.confirmThreadDelete !== defaults.confirmThreadDelete ? (
<SettingResetButton
label="delete confirmation"
onClick={() =>
updateSettings({
confirmThreadDelete: defaults.confirmThreadDelete,
})
}
/>
) : null
}
control={
<Switch
checked={settings.confirmThreadDelete}
onCheckedChange={(checked) =>
updateSettings({
confirmThreadDelete: Boolean(checked),
})
}
aria-label="Confirm thread deletion"
/>
}
/>

<SettingsRow
title="Auto-delete after merge"
description="Automatically delete a thread after its associated PR is merged."
resetAction={
settings.autoDeleteMergedThreads !== defaults.autoDeleteMergedThreads ? (
<SettingResetButton
label="auto-delete merged threads"
onClick={() =>
updateSettings({
autoDeleteMergedThreads: defaults.autoDeleteMergedThreads,
})
}
/>
) : null
}
control={
<Switch
checked={settings.autoDeleteMergedThreads}
onCheckedChange={(checked) =>
updateSettings({
autoDeleteMergedThreads: Boolean(checked),
})
}
aria-label="Auto-delete merged threads"
/>
}
/>

{settings.autoDeleteMergedThreads ? (
<SettingsRow
title="Auto-delete delay"
description="How long to wait after a PR merge before deleting the thread."
resetAction={
settings.autoDeleteMergedThreadsDelayMinutes !==
defaults.autoDeleteMergedThreadsDelayMinutes ? (
<SettingResetButton
label="auto-delete delay"
onClick={() =>
updateSettings({
autoDeleteMergedThreadsDelayMinutes:
defaults.autoDeleteMergedThreadsDelayMinutes,
})
}
/>
) : null
}
control={
<Select
value={String(settings.autoDeleteMergedThreadsDelayMinutes)}
onValueChange={(value) =>
updateSettings({
autoDeleteMergedThreadsDelayMinutes: Number(value),
})
}
>
<SelectTrigger className="w-32">
<SelectValue />
</SelectTrigger>
<SelectPopup align="end" alignItemWithTrigger={false}>
<SelectItem hideIndicator value="1">
1 minute
</SelectItem>
<SelectItem hideIndicator value="2">
2 minutes
</SelectItem>
<SelectItem hideIndicator value="5">
5 minutes
</SelectItem>
<SelectItem hideIndicator value="10">
10 minutes
</SelectItem>
<SelectItem hideIndicator value="15">
15 minutes
</SelectItem>
<SelectItem hideIndicator value="30">
30 minutes
</SelectItem>
<SelectItem hideIndicator value="60">
1 hour
</SelectItem>
</SelectPopup>
</Select>
}
/>
) : null}
</SettingsSection>
)}

Expand Down
Loading