feat(admin): Enhance Turnstile configuration UI and add GitHub commit links
- Move Turnstile status indicator above input fields for better visibility - Mask secret key input with placeholder dots when already configured - Update secret key helper text to indicate configuration status - Enhance version API endpoint to include GitHub commit URL - Add githubUrl field to version response for direct commit linking - Implement emoji sizing styles for post content and compose input - Update RightSidebar version state type to include githubUrl - Add clickable GitHub commit link in version display when available - Improve security by hiding sensitive Turnstile secret key values
This commit is contained in:
@@ -9,26 +9,51 @@ export async function GET() {
|
||||
stdio: ['pipe', 'pipe', 'ignore'] // Ignore stderr
|
||||
}).trim();
|
||||
|
||||
// Also get the short hash for reference
|
||||
// Get the short hash for reference
|
||||
const commitHash = execSync('git rev-parse --short HEAD', {
|
||||
encoding: 'utf-8',
|
||||
stdio: ['pipe', 'pipe', 'ignore']
|
||||
}).trim();
|
||||
|
||||
const fullHash = execSync('git rev-parse HEAD', {
|
||||
encoding: 'utf-8',
|
||||
stdio: ['pipe', 'pipe', 'ignore']
|
||||
}).trim();
|
||||
|
||||
// Try to get the GitHub repo URL
|
||||
let githubUrl = null;
|
||||
try {
|
||||
const remoteUrl = execSync('git config --get remote.origin.url', {
|
||||
encoding: 'utf-8',
|
||||
stdio: ['pipe', 'pipe', 'ignore']
|
||||
}).trim();
|
||||
|
||||
// Convert git URL to GitHub web URL
|
||||
// Handle both SSH (git@github.com:user/repo.git) and HTTPS (https://github.com/user/repo.git)
|
||||
if (remoteUrl.includes('github.com')) {
|
||||
let cleanUrl = remoteUrl
|
||||
.replace('git@github.com:', 'https://github.com/')
|
||||
.replace(/\.git$/, '');
|
||||
|
||||
githubUrl = `${cleanUrl}/commit/${fullHash}`;
|
||||
}
|
||||
} catch (e) {
|
||||
// If we can't get the remote URL, that's okay
|
||||
}
|
||||
|
||||
return NextResponse.json({
|
||||
count: parseInt(commitCount, 10),
|
||||
hash: commitHash,
|
||||
fullHash: execSync('git rev-parse HEAD', {
|
||||
encoding: 'utf-8',
|
||||
stdio: ['pipe', 'pipe', 'ignore']
|
||||
}).trim()
|
||||
fullHash: fullHash,
|
||||
githubUrl: githubUrl
|
||||
});
|
||||
} catch (error) {
|
||||
// If git is not available or not a git repo, return unknown
|
||||
return NextResponse.json({
|
||||
count: null,
|
||||
hash: 'unknown',
|
||||
fullHash: null
|
||||
fullHash: null,
|
||||
githubUrl: null
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user