Files
terminal-portfolio-site/src/main.ts
2026-04-13 19:30:14 -05:00

35 lines
1010 B
TypeScript

import './style.css';
// Copy functionality
const commandBox = document.getElementById('commandBox') as HTMLDivElement;
const copyBtn = document.getElementById('copyBtn') as HTMLButtonElement;
const tooltip = document.getElementById('tooltip') as HTMLDivElement;
const COMMAND = 'ssh portfolio@keshavanand.net';
async function copyToClipboard() {
try {
await navigator.clipboard.writeText(COMMAND);
copyBtn.classList.add('copied');
tooltip.classList.add('show');
setTimeout(() => {
copyBtn.classList.remove('copied');
tooltip.classList.remove('show');
}, 2000);
} catch (err) {
console.error('Failed to copy:', err);
}
}
copyBtn.addEventListener('click', (e) => {
e.stopPropagation();
copyToClipboard();
});
commandBox.addEventListener('click', (e) => {
if (!(e.target as HTMLElement).closest('.copy-btn')) copyToClipboard();
});
// Fade in docs link after 2 seconds
setTimeout(() => {
document.getElementById('docsLink')?.classList.add('show');
}, 2000);