refactor: group internship commits by date and update UI to a grid layout

This commit is contained in:
Ümit Tunç
2026-06-06 01:10:13 +03:00
parent 080c39ac88
commit db60909348
2 changed files with 77 additions and 39 deletions
+23 -11
View File
@@ -268,22 +268,34 @@ class CareerController extends Controller
// Sort commits chronological (ascending)
$commits = array_reverse($commits);
// Group commits by date (YYYY-MM-DD)
$grouped = [];
foreach ($commits as $c) {
$dateStr = $c['commit']['author']['date'] ?? '';
if ($dateStr) {
$dateOnly = \Carbon\Carbon::parse($dateStr)->format('Y-m-d');
$grouped[$dateOnly][] = $c;
}
}
// Sort dates chronological (ascending)
ksort($grouped);
// Generate Markdown content
$md = "# Staj Günlüğü - " . $intern->name . "\n";
$md .= "Depo: https://github.com/{$owner}/{$repoName}\n\n";
$day = 1;
foreach ($commits as $c) {
$message = $c['commit']['message'] ?? '';
$dateStr = $c['commit']['author']['date'] ?? '';
$date = $dateStr ? \Carbon\Carbon::parse($dateStr)->format('d.m.Y H:i') : '';
$hash = substr($c['sha'] ?? '', 0, 7);
$md .= "## {$day}. Gün\n";
$md .= "- **Tarih:** {$date}\n";
$md .= "- **Commit:** `{$hash}`\n";
$md .= "- **Mesaj:** {$message}\n\n";
foreach ($grouped as $date => $dayCommits) {
$formattedDate = \Carbon\Carbon::parse($date)->format('d.m.Y');
$md .= "## {$day}. Gün ({$formattedDate})\n";
foreach ($dayCommits as $c) {
$message = trim($c['commit']['message'] ?? '');
$time = \Carbon\Carbon::parse($c['commit']['author']['date'] ?? '')->format('H:i');
$hash = substr($c['sha'] ?? '', 0, 7);
$md .= "- [{$time}] `{$hash}`: {$message}\n";
}
$md .= "\n";
$day++;
}