requireLogin(); $currentUser = $auth->currentUser(); $userId = $currentUser['id']; $books = getAllBooks(); $stats = getDashboardStats($userId); $overall = $stats['progress']; // Build per-book completion map for sidebar dots $booksProgress = getBooksWithProgress($userId); $bookProgressMap = []; foreach ($booksProgress as $bp) { $bookProgressMap[$bp['id']] = [ 'done' => (int)$bp['chapters_done'], 'total' => (int)$bp['num_chapters'], ]; } $userInitial = strtoupper(substr($currentUser['username'], 0, 1)); ?>