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)
|
// Sort versions: v8 first (production), then v7, v6, v5, unknown (archived)
|
||||||
const versionOrder: Record<string, number> = {
|
const versionOrder: Record<string, number> = {
|
||||||
'v8': 0, 'v7': 1, 'v6': 2, 'v5': 3, 'unknown': 4
|
'v8': 0, 'v7': 1, 'v6': 2, 'v5': 3, 'unknown': 4
|
||||||
@@ -128,23 +139,12 @@ export async function GET() {
|
|||||||
return orderA - orderB
|
return orderA - orderB
|
||||||
})
|
})
|
||||||
|
|
||||||
// Mark archived versions
|
// Mark archived versions (archivedVersions now defined above)
|
||||||
const resultsWithArchived = results.map(r => ({
|
const resultsWithArchived = results.map(r => ({
|
||||||
...r,
|
...r,
|
||||||
archived: archivedVersions.includes(r.version)
|
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({
|
return NextResponse.json({
|
||||||
success: true,
|
success: true,
|
||||||
versions: resultsWithArchived,
|
versions: resultsWithArchived,
|
||||||
|
|||||||
Reference in New Issue
Block a user