diff --git a/src/components/settings/appearance-settings.tsx b/src/components/settings/appearance-settings.tsx index 6869b38..98bd89b 100644 --- a/src/components/settings/appearance-settings.tsx +++ b/src/components/settings/appearance-settings.tsx @@ -4,6 +4,7 @@ import { Monitor, Moon, RotateCcw, Sun, Type } from "lucide-react" import { useTranslations } from "next-intl" import { useTheme } from "next-themes" import { Button } from "@/components/ui/button" +import { ScrollArea } from "@/components/ui/scroll-area" import { Select, SelectContent, @@ -47,7 +48,7 @@ export function AppearanceSettings() { } return ( -
+
{/* ===== Theme Mode (existing) ===== */}
@@ -218,6 +219,6 @@ export function AppearanceSettings() {
- + ) } diff --git a/src/components/settings/chat-channel-settings.tsx b/src/components/settings/chat-channel-settings.tsx index ac51f69..9680ca0 100644 --- a/src/components/settings/chat-channel-settings.tsx +++ b/src/components/settings/chat-channel-settings.tsx @@ -2,6 +2,7 @@ import { useTranslations } from "next-intl" +import { ScrollArea } from "@/components/ui/scroll-area" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { ChannelListTab } from "./channel-list-tab" import { ChannelCommandsTab } from "./channel-commands-tab" @@ -12,7 +13,7 @@ export function ChatChannelSettings() { const t = useTranslations("ChatChannelSettings") return ( -
+
@@ -42,6 +43,6 @@ export function ChatChannelSettings() { -
+ ) } diff --git a/src/components/settings/model-provider-settings.tsx b/src/components/settings/model-provider-settings.tsx index 54d2621..29a4c21 100644 --- a/src/components/settings/model-provider-settings.tsx +++ b/src/components/settings/model-provider-settings.tsx @@ -7,6 +7,7 @@ import { toast } from "sonner" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" +import { ScrollArea } from "@/components/ui/scroll-area" import { Select, SelectContent, @@ -91,7 +92,7 @@ export function ModelProviderSettings() { }, [deleteTarget, loadProviders, t]) return ( -
+

{t("sectionTitle")}

@@ -225,6 +226,6 @@ export function ModelProviderSettings() { -
+ ) } diff --git a/src/components/settings/shortcut-settings.tsx b/src/components/settings/shortcut-settings.tsx index 537e4eb..0b1953a 100644 --- a/src/components/settings/shortcut-settings.tsx +++ b/src/components/settings/shortcut-settings.tsx @@ -15,6 +15,7 @@ import { shortcutFromKeyboardEvent, } from "@/lib/keyboard-shortcuts" import { Button } from "@/components/ui/button" +import { ScrollArea } from "@/components/ui/scroll-area" const SHARED_SHORTCUT_PAIRS: Array<[ShortcutActionId, ShortcutActionId]> = [ ["new_terminal_tab", "new_conversation"], @@ -98,7 +99,7 @@ export function ShortcutSettings() { }, [actionTitle, recordingAction, shortcuts, t, updateShortcut]) return ( -
+
@@ -162,6 +163,6 @@ export function ShortcutSettings() {
-
+ ) } diff --git a/src/components/settings/system-network-settings.tsx b/src/components/settings/system-network-settings.tsx index adbd58d..87bb3b6 100644 --- a/src/components/settings/system-network-settings.tsx +++ b/src/components/settings/system-network-settings.tsx @@ -17,6 +17,7 @@ import { toast } from "sonner" import { useAppI18n } from "@/components/i18n-provider" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" +import { ScrollArea } from "@/components/ui/scroll-area" import { Select, SelectContent, @@ -339,7 +340,7 @@ export function SystemNetworkSettings() { } return ( -
+
@@ -588,6 +589,6 @@ export function SystemNetworkSettings() {
-
+ ) } diff --git a/src/components/settings/version-control-settings.tsx b/src/components/settings/version-control-settings.tsx index ffeb3b2..d5991a4 100644 --- a/src/components/settings/version-control-settings.tsx +++ b/src/components/settings/version-control-settings.tsx @@ -15,6 +15,7 @@ import { toast } from "sonner" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Badge } from "@/components/ui/badge" +import { ScrollArea } from "@/components/ui/scroll-area" import { AlertDialog, AlertDialogAction, @@ -344,7 +345,7 @@ export function VersionControlSettings() { } return ( -
+

{t("sectionTitle")}

@@ -551,6 +552,6 @@ export function VersionControlSettings() { -
+
) } diff --git a/src/components/settings/web-service-settings.tsx b/src/components/settings/web-service-settings.tsx index 1eae23e..f4365b2 100644 --- a/src/components/settings/web-service-settings.tsx +++ b/src/components/settings/web-service-settings.tsx @@ -3,6 +3,7 @@ import { useCallback, useEffect, useState } from "react" import { Check, Copy, ExternalLink, Eye, EyeOff } from "lucide-react" import { useTranslations } from "next-intl" +import { ScrollArea } from "@/components/ui/scroll-area" import { startWebServer, stopWebServer, @@ -145,64 +146,70 @@ export function WebServiceSettings() { const isRunning = status !== null return ( -
-
-

{t("sectionTitle")}

-

- {t("sectionDescription")} -

-
- -
- {/* Port config */} -
- - setPort(e.target.value)} - disabled={isRunning} - min={1024} - max={65535} - className="flex h-9 w-32 rounded-md border border-input bg-background px-3 py-1 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50" - /> + +
+
+

{t("sectionTitle")}

+

+ {t("sectionDescription")} +

- {/* Start/Stop button */} -
- -
- + {/* Port config */} +
+ + setPort(e.target.value)} + disabled={isRunning} + min={1024} + max={65535} + className="flex h-9 w-32 rounded-md border border-input bg-background px-3 py-1 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50" /> - - {isRunning ? t("running") : t("stopped")} - -
+ + {/* Start/Stop button */} +
+ +
+ + + {isRunning ? t("running") : t("stopped")} + + +
+
+ + {error &&

{error}

} + + {/* Connection info */} + {isRunning && ( +
+ {status.addresses.map((addr) => ( + + ))} + +

{t("tokenHint")}

+
+ )}
- - {error &&

{error}

} - - {/* Connection info */} - {isRunning && ( -
- {status.addresses.map((addr) => ( - - ))} - -

{t("tokenHint")}

-
- )}
-
+
) }