{"record":{"id":"49728336b10c537f","repo":"diegosouzapw/OmniRoute","slug":"profileloadfailed","errorCode":null,"errorMessage":"profileLoadFailed","messagePattern":"profileLoadFailed","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/app/(dashboard)/dashboard/profile/page.tsx","lineNumber":111,"sourceCode":"  const locale = useLocale();\n  const [userLevel, setUserLevel] = useState<UserLevel | null>(null);\n  const [allBadges, setAllBadges] = useState<BadgeDef[]>([]);\n  const [earnedBadges, setEarnedBadges] = useState<UserBadge[]>([]);\n  const [loading, setLoading] = useState(true);\n  const [error, setError] = useState(\"\");\n  const [selectedBadge, setSelectedBadge] = useState<BadgeDef | null>(null);\n  const [streak] = useState(0); // streak data comes from future API\n\n  const fetchData = useCallback(async () => {\n    try {\n      const [levelRes, badgesRes, earnedRes] = await Promise.all([\n        fetch(\"/api/gamification/level\"),\n        fetch(\"/api/gamification/badges\"),\n        fetch(\"/api/gamification/badges/earned\"),\n      ]);\n\n      if (!levelRes.ok && !badgesRes.ok && !earnedRes.ok) {\n        throw new Error(tg(\"profileLoadFailed\"));\n      }\n\n      if (levelRes.ok) {\n        const data = await levelRes.json();\n        setUserLevel(data.level ?? data);\n      }\n      if (badgesRes.ok) {\n        const data = await badgesRes.json();\n        setAllBadges(data.badges ?? data ?? []);\n      }\n      if (earnedRes.ok) {\n        const data = await earnedRes.json();\n        setEarnedBadges(data.badges ?? data ?? []);\n      }\n    } catch (loadError) {\n      setError(loadError instanceof Error ? loadError.message : tg(\"profileLoadFailed\"));\n    } finally {\n      setLoading(false);","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/(dashboard)/dashboard/profile/page.tsx#L93-L129","documentation":"Error \"profileLoadFailed\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/(dashboard)/dashboard/profile/page.tsx:111 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}