Skip to content

Commit 90f1983

Browse files
File changes
1 parent 3708d87 commit 90f1983

File tree

1 file changed

+57
-40
lines changed

1 file changed

+57
-40
lines changed

src/pages/GamificationAnalytics.jsx

Lines changed: 57 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -141,46 +141,63 @@ export default function GamificationAnalytics() {
141141
)}
142142

143143
{/* Analytics Tabs */}
144-
<Tabs defaultValue="tiers" className="space-y-4">
145-
<TabsList>
146-
<TabsTrigger value="tiers">
147-
<Trophy className="h-4 w-4 mr-2" />
148-
Tier Performance
149-
</TabsTrigger>
150-
<TabsTrigger value="redemptions">
151-
<Gift className="h-4 w-4 mr-2" />
152-
Redemption Analytics
153-
</TabsTrigger>
154-
<TabsTrigger value="engagement">
155-
<BarChart3 className="h-4 w-4 mr-2" />
156-
Engagement Correlation
157-
</TabsTrigger>
158-
</TabsList>
159-
160-
<TabsContent value="tiers" className="space-y-4">
161-
<TierPerformanceChart
162-
usersByTier={usersByTier}
163-
allTiers={allTiers}
164-
allUserPoints={allUserPoints}
165-
pointsLedger={pointsLedger}
166-
/>
167-
</TabsContent>
168-
169-
<TabsContent value="redemptions" className="space-y-4">
170-
<RedemptionAnalytics
171-
redemptions={allRedemptions}
172-
userPoints={allUserPoints}
173-
/>
174-
</TabsContent>
175-
176-
<TabsContent value="engagement" className="space-y-4">
177-
<EngagementCorrelation
178-
pointsLedger={pointsLedger}
179-
recognitions={recognitions}
180-
userPoints={allUserPoints}
181-
/>
182-
</TabsContent>
183-
</Tabs>
144+
{hasData && (
145+
<Tabs defaultValue="tiers" className="space-y-4">
146+
<TabsList>
147+
<TabsTrigger value="tiers">
148+
<Trophy className="h-4 w-4 mr-2" />
149+
Points by Tier
150+
</TabsTrigger>
151+
<TabsTrigger value="redemptions">
152+
<Gift className="h-4 w-4 mr-2" />
153+
Redemption Analytics
154+
</TabsTrigger>
155+
<TabsTrigger value="engagement">
156+
<BarChart3 className="h-4 w-4 mr-2" />
157+
Engagement Correlation
158+
</TabsTrigger>
159+
</TabsList>
160+
161+
<TabsContent value="tiers" className="space-y-4">
162+
{tierDistributionData.length === 0 ? (
163+
<Card className="bg-slate-900 border-slate-800">
164+
<CardContent className="py-8 text-center">
165+
<p className="text-slate-400">No tier distribution data available</p>
166+
</CardContent>
167+
</Card>
168+
) : (
169+
<Card className="bg-slate-900 border-slate-800">
170+
<CardContent className="pt-6">
171+
<ResponsiveContainer width="100%" height={300}>
172+
<BarChart data={tierDistributionData}>
173+
<CartesianGrid strokeDasharray="3 3" stroke="#334155" />
174+
<XAxis dataKey="tier" stroke="#cbd5e1" />
175+
<YAxis stroke="#cbd5e1" />
176+
<Tooltip contentStyle={{ backgroundColor: '#1e293b', border: '1px solid #475569', borderRadius: '8px' }} />
177+
<Bar dataKey="points" fill="#F59E0B" radius={[8, 8, 0, 0]} />
178+
</BarChart>
179+
</ResponsiveContainer>
180+
</CardContent>
181+
</Card>
182+
)}
183+
</TabsContent>
184+
185+
<TabsContent value="redemptions" className="space-y-4">
186+
<RedemptionAnalytics
187+
redemptions={safeRedemptions}
188+
userPoints={safeUserPoints}
189+
/>
190+
</TabsContent>
191+
192+
<TabsContent value="engagement" className="space-y-4">
193+
<EngagementCorrelation
194+
pointsLedger={pointsLedger}
195+
recognitions={recognitions}
196+
userPoints={safeUserPoints}
197+
/>
198+
</TabsContent>
199+
</Tabs>
200+
)}
184201
</div>
185202
);
186203
}

0 commit comments

Comments
 (0)