From c15cb22be49780382803a7caab0cf7a4eb2902e2 Mon Sep 17 00:00:00 2001 From: Steven RYDELL Date: Wed, 29 Jul 2026 07:20:43 +0200 Subject: [PATCH] Adopt the shared ScrollArea for app-wide scrolling --- src/components/bootstrap/BootstrapWizard.tsx | 11 +++++---- src/components/forms/FieldWidget.tsx | 7 ++++-- src/components/layout/Sidebar.tsx | 7 +++--- src/components/ui/command.tsx | 9 ++++---- src/components/ui/scroll-area.tsx | 13 ++++++++--- src/pages/AdminPanel.tsx | 24 ++++++++++++-------- 6 files changed, 45 insertions(+), 26 deletions(-) diff --git a/src/components/bootstrap/BootstrapWizard.tsx b/src/components/bootstrap/BootstrapWizard.tsx index 4674e0e..02724d2 100644 --- a/src/components/bootstrap/BootstrapWizard.tsx +++ b/src/components/bootstrap/BootstrapWizard.tsx @@ -9,6 +9,7 @@ import { useTranslation } from 'react-i18next'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { ScrollArea } from '@/components/ui/scroll-area'; import { ArrowLeft, ArrowRight, Check, Copy, Loader2, Rocket } from 'lucide-react'; import { useSchemaStore } from '@/stores/schemaStore'; @@ -403,13 +404,15 @@ export function BootstrapWizard() { function WizardShell({ children }: { children: React.ReactNode }) { return ( -
+
-
-
{children}
-
+ +
+
{children}
+
+
); } diff --git a/src/components/forms/FieldWidget.tsx b/src/components/forms/FieldWidget.tsx index 445d1fb..5ba3b52 100644 --- a/src/components/forms/FieldWidget.tsx +++ b/src/components/forms/FieldWidget.tsx @@ -15,6 +15,7 @@ import { Button } from '@/components/ui/button'; import { Switch } from '@/components/ui/switch'; import { Badge } from '@/components/ui/badge'; import { Checkbox } from '@/components/ui/checkbox'; +import { ScrollArea } from '@/components/ui/scroll-area'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; @@ -1831,7 +1832,8 @@ function EnumMultiSelect({ enumName, items, onChange, readOnly, schema, minItems className="h-8" />
-
+ +
{filtered.length === 0 && (

{t('field.noMatches', 'No matches')}

)} @@ -1859,7 +1861,8 @@ function EnumMultiSelect({ enumName, items, onChange, readOnly, schema, minItems
))} -
+ + diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx index b6b4af5..2e33fb5 100644 --- a/src/components/layout/Sidebar.tsx +++ b/src/components/layout/Sidebar.tsx @@ -12,6 +12,7 @@ import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; import { EnterpriseUpsell } from '@/components/common/EnterpriseUpsell'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; +import { ScrollArea } from '@/components/ui/scroll-area'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import { useUIStore } from '@/stores/uiStore'; import { useAccountStore } from '@/stores/accountStore'; @@ -342,8 +343,8 @@ export function Sidebar() { onClick={() => setSidebarOpen(false)} />