diff --git a/package.json b/package.json index 4167e42..03392b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "siteforge", "private": true, - "version": "1.1.0", + "version": "1.1.1", "type": "module", "scripts": { "dev": "vite", diff --git a/src/AdminPage.tsx b/src/AdminPage.tsx index 1e13f7c..7de4978 100644 --- a/src/AdminPage.tsx +++ b/src/AdminPage.tsx @@ -141,7 +141,10 @@ interface StudyUserRecord { displayName: string createdAt: string | null lastLoginAt: string | null - enrolledStudies: Array<{ slug: string; title: string }> + lastStudiedDate: string | null + currentStreak: number + longestStreak: number + enrolledStudies: Array<{ slug: string; title: string; completedLessons?: number; totalLessons?: number }> noteCount: number subscribeNewsletter: boolean studyRemindersEnabled: boolean @@ -276,6 +279,7 @@ function StudyUsersPanel({ studies }: { studies: StudyProgram[] }) {
{user.enrolledStudies.length} enrolled {user.noteCount} notes + {(user.currentStreak ?? 0) > 0 && {user.currentStreak} 🔥} {isExpanded ? '▲' : '▼'}
@@ -285,6 +289,8 @@ function StudyUsersPanel({ studies }: { studies: StudyProgram[] }) {
Joined: {user.createdAt ? new Date(user.createdAt).toLocaleDateString() : '—'} Last login: {user.lastLoginAt ? new Date(user.lastLoginAt).toLocaleDateString() : '—'} + Last studied: {user.lastStudiedDate ?? '—'} + Streak: {user.currentStreak ?? 0} 🔥 (best: {user.longestStreak ?? 0}) Newsletter: {user.subscribeNewsletter ? 'Yes' : 'No'} Reminders: {user.studyRemindersEnabled ? 'On' : 'Off'}
@@ -329,7 +335,14 @@ function StudyUsersPanel({ studies }: { studies: StudyProgram[] }) {