Skip to content

Commit 5a21884

Browse files
committed
Fix terminal typewriter: start with empty elements, show buttons after typing completes
1 parent 20e15c3 commit 5a21884

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

index.html

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
<div class="container">
88
<div class="hero-content">
99
<div class="hero-text">
10-
<h1 class="hero-title" id="terminal-name">{{ site.data.profile.name }}</h1>
11-
<h2 class="hero-subtitle" id="terminal-headline">{{ site.data.profile.headline }}</h2>
12-
<p class="hero-description" id="terminal-bio">{{ site.data.profile.bio }}</p>
13-
<div class="hero-buttons" id="hero-buttons">
10+
<h1 class="hero-title" id="terminal-name"></h1>
11+
<h2 class="hero-subtitle" id="terminal-headline"></h2>
12+
<p class="hero-description" id="terminal-bio"></p>
13+
<div class="hero-buttons" id="hero-buttons" style="opacity: 0; transition: opacity 0.5s ease-in;">
1414
<a href="{{ site.data.profile.contact.github }}" class="btn btn-primary github-btn" target="_blank">
1515
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" style="margin-right: 8px;">
1616
<path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/>
@@ -99,10 +99,14 @@ <h3>Connect</h3>
9999

100100
<script>
101101
// Terminal typewriter effect with single cursor
102+
const nameText = "{{ site.data.profile.name }}";
103+
const headlineText = "{{ site.data.profile.headline }}";
104+
const bioText = "{{ site.data.profile.bio }}";
105+
102106
const texts = [
103-
{ element: document.getElementById('terminal-name'), text: "{{ site.data.profile.name }}", speed: 80 },
104-
{ element: document.getElementById('terminal-headline'), text: "{{ site.data.profile.headline }}", speed: 60 },
105-
{ element: document.getElementById('terminal-bio'), text: "{{ site.data.profile.bio }}", speed: 40 }
107+
{ element: document.getElementById('terminal-name'), text: nameText, speed: 80 },
108+
{ element: document.getElementById('terminal-headline'), text: headlineText, speed: 60 },
109+
{ element: document.getElementById('terminal-bio'), text: bioText, speed: 40 }
106110
];
107111

108112
let currentTextIndex = 0;
@@ -111,18 +115,14 @@ <h3>Connect</h3>
111115

112116
function typeWriter() {
113117
if (currentTextIndex >= texts.length) {
114-
// All text typed, remove cursor
118+
// All text typed, remove cursor and show buttons
115119
texts[texts.length - 1].element.innerHTML = texts[texts.length - 1].element.innerHTML.replace(cursor, '');
120+
document.getElementById('hero-buttons').style.opacity = '1';
116121
return;
117122
}
118123

119124
const current = texts[currentTextIndex];
120125

121-
if (charIndex === 0) {
122-
// Clear the element when starting to type
123-
current.element.innerHTML = cursor;
124-
}
125-
126126
if (charIndex < current.text.length) {
127127
// Type current character
128128
current.element.innerHTML = current.text.substring(0, charIndex + 1) + cursor;

0 commit comments

Comments
 (0)