refactor: update ScrollableOverlay structure for consistent layout across pages

This commit is contained in:
Bohdan Triapitsyn
2025-12-30 21:13:59 +02:00
parent a236dc81c9
commit 91a3496bd3
7 changed files with 33 additions and 15 deletions
@@ -266,8 +266,9 @@ export const AgentsPage: React.FC = () => {
} }
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
{} <div className="mx-auto max-w-3xl space-y-6 p-6">
{/* Header */}
<div className="space-y-1"> <div className="space-y-1">
<h1 className="typography-ui-header font-semibold text-lg"> <h1 className="typography-ui-header font-semibold text-lg">
{isNewAgent ? 'New Agent' : selectedAgentName} {isNewAgent ? 'New Agent' : selectedAgentName}
@@ -929,6 +930,7 @@ export const AgentsPage: React.FC = () => {
</Button> </Button>
</div> </div>
</div> </div>
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -122,8 +122,9 @@ export const CommandsPage: React.FC = () => {
} }
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
{} <div className="mx-auto max-w-3xl space-y-6 p-6">
{/* Header */}
<div className="space-y-1"> <div className="space-y-1">
<h1 className="typography-ui-header font-semibold text-lg"> <h1 className="typography-ui-header font-semibold text-lg">
{isNewCommand ? 'New Command' : `/${selectedCommandName}`} {isNewCommand ? 'New Command' : `/${selectedCommandName}`}
@@ -359,6 +360,7 @@ Use @filename to include file contents.`}
</Button> </Button>
</div> </div>
</div> </div>
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -156,8 +156,9 @@ export const GitIdentitiesPage: React.FC = () => {
} }
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
{} <div className="mx-auto max-w-3xl space-y-6 p-6">
{/* Header */}
<div className="space-y-1"> <div className="space-y-1">
<h1 className="typography-ui-header font-semibold text-lg"> <h1 className="typography-ui-header font-semibold text-lg">
{isNewProfile ? 'New Git Profile' : isGlobalProfile ? 'Global Identity' : name || 'Edit Profile'} {isNewProfile ? 'New Git Profile' : isGlobalProfile ? 'Global Identity' : name || 'Edit Profile'}
@@ -369,6 +370,7 @@ export const GitIdentitiesPage: React.FC = () => {
</div> </div>
)} )}
</div> </div>
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -449,7 +449,8 @@ export const ProvidersPage: React.FC = () => {
if (isAddMode) { if (isAddMode) {
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
<div className="mx-auto max-w-3xl space-y-6 p-6">
<div className="space-y-1"> <div className="space-y-1">
<h1 className="typography-ui-header font-semibold text-lg">Connect provider</h1> <h1 className="typography-ui-header font-semibold text-lg">Connect provider</h1>
<p className="typography-body text-muted-foreground"> <p className="typography-body text-muted-foreground">
@@ -700,6 +701,7 @@ export const ProvidersPage: React.FC = () => {
)} )}
</div> </div>
)} )}
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
} }
@@ -730,7 +732,8 @@ export const ProvidersPage: React.FC = () => {
}); });
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
<div className="mx-auto max-w-3xl space-y-6 p-6">
<div className="space-y-1"> <div className="space-y-1">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<ProviderLogo providerId={selectedProvider.id} className="h-5 w-5" /> <ProviderLogo providerId={selectedProvider.id} className="h-5 w-5" />
@@ -968,6 +971,7 @@ export const ProvidersPage: React.FC = () => {
)} )}
</div> </div>
</div> </div>
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -33,12 +33,16 @@ export const SettingsPageLayout: React.FC<SettingsPageLayoutProps> = ({
return ( return (
<ScrollableOverlay <ScrollableOverlay
outerClassName={cn('h-full', outerClassName)} outerClassName={cn('h-full', outerClassName)}
className={cn( className="w-full"
'mx-auto max-w-3xl space-y-6 p-3 sm:p-6',
className
)}
> >
{children} <div
className={cn(
'mx-auto max-w-3xl space-y-6 p-3 sm:p-6',
className
)}
>
{children}
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -363,7 +363,8 @@ export const SkillsPage: React.FC = () => {
} }
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
<div className="mx-auto max-w-3xl space-y-6 p-6">
{isNewSkill ? modeTabs : null} {isNewSkill ? modeTabs : null}
{/* Header */} {/* Header */}
@@ -617,6 +618,7 @@ export const SkillsPage: React.FC = () => {
</DialogFooter> </DialogFooter>
</DialogContent> </DialogContent>
</Dialog> </Dialog>
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };
@@ -121,7 +121,8 @@ export const SkillsCatalogPage: React.FC<SkillsCatalogPageProps> = ({ mode, onMo
}; };
return ( return (
<ScrollableOverlay outerClassName="h-full" className="mx-auto max-w-3xl space-y-6 p-6"> <ScrollableOverlay outerClassName="h-full" className="w-full">
<div className="mx-auto max-w-3xl space-y-6 p-6">
<div className="space-y-3"> <div className="space-y-3">
<AnimatedTabs <AnimatedTabs
tabs={[ tabs={[
@@ -280,6 +281,7 @@ export const SkillsCatalogPage: React.FC<SkillsCatalogPageProps> = ({ mode, onMo
<AddCatalogDialog open={addCatalogOpen} onOpenChange={setAddCatalogOpen} /> <AddCatalogDialog open={addCatalogOpen} onOpenChange={setAddCatalogOpen} />
<InstallSkillDialog open={installDialogOpen} onOpenChange={setInstallDialogOpen} item={installItem} /> <InstallSkillDialog open={installDialogOpen} onOpenChange={setInstallDialogOpen} item={installItem} />
</div>
</ScrollableOverlay> </ScrollableOverlay>
); );
}; };