Enhanced footer with sleek GitHub link and beautiful Git version badge

This commit is contained in:
2025-12-27 21:54:35 +11:00
parent d7f534284a
commit 8410a9a07d
3 changed files with 97 additions and 37 deletions

View File

@@ -48,8 +48,20 @@
<!-- Footer -->
<footer class="footer">
<p>&copy; 2025 Beyond Cloud Technology. All rights reserved.</p>
<!-- GitHub Link -->
<a href="https://github.com/DeNNiiInc/Web-Page-Performance-Test" target="_blank" rel="noopener noreferrer" class="github-link">
<svg class="github-icon" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 0c-6.626 0-12 5.373-12 12 0 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.23.957-.266 1.983-.399 3.003-.404 1.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.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
</svg>
<span>View on GitHub</span>
</a>
<!-- Git Version Badge -->
<div id="version-badge" class="version-badge">
<span class="version-label">Version:</span>
<svg class="badge-icon" viewBox="0 0 24 24" fill="currentColor">
<path d="M21.007 8.222A3.738 3.738 0 0 0 15.045 5.2a3.737 3.737 0 0 0 1.156 6.583 2.988 2.988 0 0 1-2.668 1.67h-2.99a4.456 4.456 0 0 0-2.989 1.165V7.4a3.737 3.737 0 1 0-1.494 0v9.117a3.776 3.776 0 1 0 1.816.099 2.99 2.99 0 0 1 2.668-1.667h2.99a4.484 4.484 0 0 0 4.223-3.039 3.736 3.736 0 0 0 3.25-3.687zM4.565 3.738a2.242 2.242 0 1 1 4.484 0 2.242 2.242 0 0 1-4.484 0zm4.484 16.441a2.242 2.242 0 1 1-4.484 0 2.242 2.242 0 0 1 4.484 0zm8.221-9.715a2.242 2.242 0 1 1 0-4.485 2.242 2.242 0 0 1 0 4.485z"/>
</svg>
<span id="commit-id" class="commit-id">Loading...</span>
<span class="version-separator"></span>
<span id="commit-age" class="commit-age">Loading...</span>

View File

@@ -5,14 +5,20 @@
async function updateVersionBadge() {
try {
const response = await fetch('/api/git-info');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
const commitIdEl = document.getElementById('commit-id');
const commitAgeEl = document.getElementById('commit-age');
if (data.error) {
commitIdEl.textContent = 'N/A';
commitAgeEl.textContent = 'Local Dev';
if (data.error || !data.commitId) {
// Fallback - try to get from git locally or show placeholder
commitIdEl.textContent = 'local';
commitAgeEl.textContent = 'dev mode';
commitIdEl.style.color = 'var(--color-text-muted)';
} else {
commitIdEl.textContent = data.commitId;
@@ -21,8 +27,11 @@ async function updateVersionBadge() {
}
} catch (error) {
console.error('Failed to fetch git info:', error);
document.getElementById('commit-id').textContent = 'N/A';
document.getElementById('commit-age').textContent = 'Error';
const commitIdEl = document.getElementById('commit-id');
const commitAgeEl = document.getElementById('commit-age');
commitIdEl.textContent = 'local';
commitAgeEl.textContent = 'dev mode';
commitIdEl.style.color = 'var(--color-text-tertiary)';
}
}

View File

@@ -226,55 +226,94 @@ body::before {
/* Footer */
.footer {
text-align: center;
margin-top: var(--spacing-2xl);
padding: var(--spacing-xl) 0;
border-top: 1px solid var(--color-border);
color: var(--color-text-muted);
font-size: 0.875rem;
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
text-align: center;
margin-top: var(--spacing-2xl);
padding: var(--spacing-xl) 0;
border-top: 1px solid var(--color-border);
color: var(--color-text-muted);
font-size: 0.875rem;
display: flex;
flex-direction: column;
gap: var(--spacing-md);
align-items: center;
}
/* GitHub Link */
.github-link {
display: inline-flex;
align-items: center;
gap: var(--spacing-xs);
padding: var(--spacing-sm) var(--spacing-lg);
background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);
border: 1px solid rgba(99, 102, 241, 0.3);
border-radius: var(--radius-lg);
color: var(--color-accent-primary);
text-decoration: none;
font-weight: 500;
font-size: 0.875rem;
transition: all var(--transition-base);
backdrop-filter: blur(10px);
}
.github-link:hover {
background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(139, 92, 246, 0.2) 100%);
border-color: rgba(99, 102, 241, 0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2);
color: var(--color-accent-primary);
}
.github-icon {
width: 1.25rem;
height: 1.25rem;
flex-shrink: 0;
}
/* Version Badge */
.version-badge {
display: inline-flex;
align-items: center;
gap: var(--spacing-xs);
padding: var(--spacing-xs) var(--spacing-md);
background: var(--color-bg-tertiary);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
font-family: var(--font-mono);
font-size: 0.75rem;
margin: 0 auto;
transition: all var(--transition-base);
display: inline-flex;
align-items: center;
gap: var(--spacing-xs);
padding: var(--spacing-xs) var(--spacing-lg);
background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.1) 100%);
border: 1.5px solid rgba(16, 185, 129, 0.3);
border-radius: 50px;
font-family: var(--font-mono);
font-size: 0.8125rem;
margin: 0 auto;
transition: all var(--transition-base);
backdrop-filter: blur(10px);
}
.version-badge:hover {
border-color: var(--color-border-hover);
background: var(--color-bg-glass-hover);
transform: translateY(-1px);
background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.15) 100%);
border-color: rgba(16, 185, 129, 0.5);
transform: translateY(-1px) scale(1.02);
box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}
.version-label {
color: var(--color-text-tertiary);
font-weight: 500;
.badge-icon {
width: 1rem;
height: 1rem;
color: var(--color-accent-success);
flex-shrink: 0;
}
.commit-id {
color: var(--color-accent-success);
font-weight: 600;
letter-spacing: 0.5px;
color: var(--color-accent-success);
font-weight: 700;
letter-spacing: 0.5px;
text-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
}
.version-separator {
color: var(--color-text-muted);
color: rgba(16, 185, 129, 0.5);
font-weight: 300;
}
.commit-age {
color: var(--color-text-secondary);
color: var(--color-text-secondary);
font-weight: 400;
}
/* ===================================