Add version footer and disable map scroll wheel zoom
- Add build-time version generation script that captures git commit info - Create /api/version endpoint to serve version data - Add version footer component showing commit SHA, date, and branch - Link version SHA to commit on git.deco.sh for easy navigation - Fix footer text duplication issue with i18n translations - Disable mouse wheel zoom on map, require +/- buttons for better UX - Update service worker cache to v4 with new version-footer.js 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
87fef8309d
commit
ec60d6bd2a
10 changed files with 237 additions and 6 deletions
72
scripts/generate-version.js
Normal file
72
scripts/generate-version.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
const { execSync } = require('child_process');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
try {
|
||||
// Get the current commit SHA (short version)
|
||||
const fullSha = execSync('git rev-parse HEAD', { encoding: 'utf8' }).trim();
|
||||
const shortSha = fullSha.substring(0, 7);
|
||||
|
||||
// Get the current branch name
|
||||
const branch = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf8' }).trim();
|
||||
|
||||
// Get the commit date
|
||||
const commitDate = execSync('git log -1 --format=%cI', { encoding: 'utf8' }).trim();
|
||||
|
||||
// Get the commit message (first line only)
|
||||
const commitMessage = execSync('git log -1 --format=%s', { encoding: 'utf8' }).trim();
|
||||
|
||||
const versionInfo = {
|
||||
sha: fullSha,
|
||||
shortSha: shortSha,
|
||||
branch: branch,
|
||||
commitDate: commitDate,
|
||||
commitMessage: commitMessage,
|
||||
buildDate: new Date().toISOString(),
|
||||
gitUrl: 'https://git.deco.sh/deco/ice'
|
||||
};
|
||||
|
||||
// Ensure dist directory exists
|
||||
const distDir = path.join(__dirname, '..', 'dist');
|
||||
if (!fs.existsSync(distDir)) {
|
||||
fs.mkdirSync(distDir, { recursive: true });
|
||||
}
|
||||
|
||||
// Write version info to dist directory
|
||||
fs.writeFileSync(
|
||||
path.join(distDir, 'version.json'),
|
||||
JSON.stringify(versionInfo, null, 2)
|
||||
);
|
||||
|
||||
console.log(`✅ Generated version info: ${shortSha} (${branch})`);
|
||||
console.log(`📅 Commit date: ${commitDate}`);
|
||||
console.log(`📝 Message: ${commitMessage}`);
|
||||
|
||||
} catch (error) {
|
||||
console.warn('⚠️ Could not generate version info (not in git repository?):', error.message);
|
||||
|
||||
// Create fallback version info
|
||||
const fallbackVersion = {
|
||||
sha: 'unknown',
|
||||
shortSha: 'unknown',
|
||||
branch: 'unknown',
|
||||
commitDate: new Date().toISOString(),
|
||||
commitMessage: 'No git information available',
|
||||
buildDate: new Date().toISOString(),
|
||||
gitUrl: 'https://git.deco.sh/deco/ice'
|
||||
};
|
||||
|
||||
const distDir = path.join(__dirname, '..', 'dist');
|
||||
if (!fs.existsSync(distDir)) {
|
||||
fs.mkdirSync(distDir, { recursive: true });
|
||||
}
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(distDir, 'version.json'),
|
||||
JSON.stringify(fallbackVersion, null, 2)
|
||||
);
|
||||
|
||||
console.log('📦 Created fallback version info');
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue