diff --git a/apps/web/src/routes/dashboard/github-insights/+page.svelte b/apps/web/src/routes/dashboard/github-insights/+page.svelte new file mode 100644 index 0000000..c0a1235 --- /dev/null +++ b/apps/web/src/routes/dashboard/github-insights/+page.svelte @@ -0,0 +1,433 @@ + + + + GitHub Insights — DevCard + + + +
+ +
+ + + {#if loading} +
+
+

Loading your GitHub insights...

+
+ + {:else if requiresConnect} +
+

🔗

+

Connect your GitHub account

+

Link your GitHub to unlock your developer intelligence dashboard.

+ Connect GitHub +
+ + {:else if error} +
+

⚠️

+

{error}

+ +
+ + {:else if insights} +
+ + +
+
+

@{insights.username}

+

Developer Intelligence Dashboard

+ {#if insights.statsAreCapped} +
+ ⚠️ Stats based on your most recently updated 200 repos. You have {insights.totalRepos} repos total. +
+ {/if} +
+ +
+ + +
+
+
{insights.totalRepos}
+
Repositories
+
+
+
{insights.totalStars}
+
Total Stars
+
+
+
{insights.totalForks}
+
Total Forks
+
+
+
{insights.followers}
+
Followers
+
+
+
{insights.following}
+
Following
+
+ {#if insights.primaryLanguage} +
+
{insights.primaryLanguage}
+
Primary Language
+
+ {/if} +
+ + + {#if insights.aiSummary} +
+
🤖 AI Developer Summary
+

{insights.aiSummary}

+
+ {/if} + + + {#if insights.languageStats.length > 0} +
+

Language Breakdown

+
+ {#each insights.languageStats as lang} +
+ {/each} +
+
+ {#each insights.languageStats as lang} +
+ + {lang.language} + {lang.percentage.toFixed(1)}% +
+ {/each} +
+
+ {/if} + + + {#if insights.topRepos.length > 0} + + {/if} + +

Last updated: {new Date(insights.fetchedAt).toLocaleString()}

+
+ {/if} +
+ + \ No newline at end of file