#591 - server-ssh-keys

This commit is contained in:
Saeed Vaziry
2025-05-29 21:20:33 +02:00
parent 8b6f65db97
commit 0fce4dba9c
22 changed files with 438 additions and 195 deletions

View File

@ -1,5 +1,5 @@
import { ReactNode } from 'react';
export default function HeaderContainer({ children }: { children: ReactNode }) {
return <div className="flex items-center justify-between">{children}</div>;
return <div className="flex items-start justify-between gap-2">{children}</div>;
}

View File

@ -20,9 +20,12 @@ export default function LogOutput({ children }: { children: ReactNode }) {
};
return (
<div className="relative">
<ScrollArea ref={scrollRef} className="bg-accent/50 text-accent-foreground relative h-[500px] w-full p-4 font-mono text-sm whitespace-pre-line">
{children}
<div className="relative w-full">
<ScrollArea
ref={scrollRef}
className="bg-accent/50 text-accent-foreground relative h-[500px] w-full overflow-auto p-4 font-mono text-sm break-all whitespace-pre-wrap"
>
<div>{children}</div>
<div ref={endRef} />
<ScrollBar orientation="vertical" />
</ScrollArea>
@ -37,7 +40,7 @@ export default function LogOutput({ children }: { children: ReactNode }) {
<TooltipTrigger asChild>
<div>{autoScroll ? <ClockArrowDownIcon className="h-4 w-4" /> : <ArrowDown className="h-4 w-4" />}</div>
</TooltipTrigger>
<TooltipContent>{autoScroll ? 'Turn off auto scroll' : 'Auto scroll down'}</TooltipContent>
<TooltipContent side="left">{autoScroll ? 'Turn off auto scroll' : 'Auto scroll down'}</TooltipContent>
</Tooltip>
</Button>
</div>

View File

@ -40,7 +40,7 @@ function DialogContent({ className, children, ...props }: React.ComponentProps<t
<DialogPrimitive.Content
data-slot="dialog-content"
className={cn(
'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-lg border shadow-lg duration-200 sm:max-w-lg',
'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] overflow-x-hidden rounded-lg border shadow-lg duration-200 sm:max-w-lg',
className,
)}
{...props}