fix: Resolve variable hoisting error in version comparison API
Critical Bug Fix: - archivedVersions was used before declaration (line 147 vs line 165) - Caused 'Cannot access before initialization' error - Moved versionDescriptions and archivedVersions declarations to top - Now defined BEFORE usage in resultsWithArchived.map() Impact: Analytics page was completely broken (stuck on loading) Resolution: API now returns data correctly, UI functional Error: ReferenceError: Cannot access 'g' before initialization Fix: Proper variable ordering in route.ts
This commit is contained in:
@@ -118,6 +118,17 @@ export async function GET() {
|
||||
}
|
||||
})
|
||||
|
||||
// Define version metadata FIRST (before usage)
|
||||
const versionDescriptions: Record<string, string> = {
|
||||
'v8': 'Money Line Sticky Trend (Nov 18+) - PRODUCTION',
|
||||
'v7': 'HalfTrend with toggles (deprecated)',
|
||||
'v6': 'HalfTrend + BarColor (Nov 12-18) - ARCHIVED',
|
||||
'v5': 'Buy/Sell Signal (pre-Nov 12) - ARCHIVED',
|
||||
'unknown': 'No version tracked (pre-Nov 12) - ARCHIVED'
|
||||
}
|
||||
|
||||
const archivedVersions = ['v5', 'v6', 'v7', 'unknown']
|
||||
|
||||
// Sort versions: v8 first (production), then v7, v6, v5, unknown (archived)
|
||||
const versionOrder: Record<string, number> = {
|
||||
'v8': 0, 'v7': 1, 'v6': 2, 'v5': 3, 'unknown': 4
|
||||
@@ -128,23 +139,12 @@ export async function GET() {
|
||||
return orderA - orderB
|
||||
})
|
||||
|
||||
// Mark archived versions
|
||||
// Mark archived versions (archivedVersions now defined above)
|
||||
const resultsWithArchived = results.map(r => ({
|
||||
...r,
|
||||
archived: archivedVersions.includes(r.version)
|
||||
}))
|
||||
|
||||
// Get version descriptions and archived status
|
||||
const versionDescriptions: Record<string, string> = {
|
||||
'v8': 'Money Line Sticky Trend (Nov 18+) - PRODUCTION',
|
||||
'v7': 'HalfTrend with toggles (deprecated)',
|
||||
'v6': 'HalfTrend + BarColor (Nov 12-18) - ARCHIVED',
|
||||
'v5': 'Buy/Sell Signal (pre-Nov 12) - ARCHIVED',
|
||||
'unknown': 'No version tracked (pre-Nov 12) - ARCHIVED'
|
||||
}
|
||||
|
||||
const archivedVersions = ['v5', 'v6', 'v7', 'unknown']
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
versions: resultsWithArchived,
|
||||
|
||||
Reference in New Issue
Block a user