claudish/landingpage/components/TerminalWindow.tsx

36 lines
1.3 KiB
TypeScript

import React from 'react';
interface TerminalWindowProps {
children: React.ReactNode;
className?: string;
title?: string;
noPadding?: boolean;
}
export const TerminalWindow: React.FC<TerminalWindowProps> = ({
children,
className = '',
title = 'claudish-cli',
noPadding = false
}) => {
return (
<div className={`bg-[#0d1117] border border-gray-800 rounded-xl shadow-2xl overflow-hidden flex flex-col ${className}`}>
{/* Window Header */}
<div className="bg-[#161b22] px-4 py-3 flex items-center border-b border-gray-800 select-none shrink-0">
<div className="flex gap-2">
<div className="w-3 h-3 rounded-full bg-[#ff5f56] hover:bg-[#ff5f56]/80 transition-colors" />
<div className="w-3 h-3 rounded-full bg-[#ffbd2e] hover:bg-[#ffbd2e]/80 transition-colors" />
<div className="w-3 h-3 rounded-full bg-[#27c93f] hover:bg-[#27c93f]/80 transition-colors" />
</div>
<div className="flex-1 text-center text-xs font-mono text-gray-500 font-medium ml-[-3.25rem]">
{title}
</div>
</div>
{/* Terminal Content */}
<div className={`flex-1 ${noPadding ? '' : 'p-4 md:p-6'} font-mono text-sm overflow-hidden relative leading-relaxed flex flex-col`}>
{children}
</div>
</div>
);
};