feat: enhance terminal functionality and settings

- Added new endpoints for terminal settings: GET and PUT /settings to retrieve and update terminal configurations.
- Implemented session limit checks during session creation, returning a 429 status when the limit is reached.
- Introduced a new TerminalSection in settings view for customizing terminal appearance and behavior, including font family, default font size, line height, and screen reader mode.
- Added support for new terminal features such as search functionality and improved error handling with a TerminalErrorBoundary component.
- Updated terminal layout persistence to include session IDs for reconnection and enhanced terminal state management.
- Introduced new keyboard shortcuts for terminal actions, including creating new terminal tabs.
- Enhanced UI with scrollbar theming for terminal components.
This commit is contained in:
SuperComboGamer
2025-12-20 22:56:25 -05:00
parent 8fcc6cb4db
commit 195b98e688
24 changed files with 2729 additions and 149 deletions

View File

@@ -4,14 +4,14 @@ interface TerminalOutputProps {
export function TerminalOutput({ lines }: TerminalOutputProps) {
return (
<div className="bg-zinc-900 rounded-lg p-4 font-mono text-sm max-h-48 overflow-y-auto">
<div className="bg-card border border-border rounded-lg p-4 font-mono text-sm max-h-48 overflow-y-auto">
{lines.map((line, index) => (
<div key={index} className="text-zinc-400">
<span className="text-green-500">$</span> {line}
<div key={index} className="text-foreground">
<span className="text-primary">$</span> {line}
</div>
))}
{lines.length === 0 && (
<div className="text-zinc-500 italic">Waiting for output...</div>
<div className="text-muted-foreground italic">Waiting for output...</div>
)}
</div>
);