feat(career): stajyer transkripti ve resmi belgelerin admin ile stajyer panellerine entegrasyonu
- Stajı tamamlanan stajyerlerin repo ve defter tutarlılığı doğrulanarak akademik transkriptleri oluşturuldu - Stajyer paneline resmi staj belgeleri showcase kartı, transkript sekmesi ve hızlı indirme aksiyonları eklendi - Admin paneli listesine ve defter inceleme modalına A4/A5 defter, transkript ve repo butonları entegre edildi - Filament InternApplicationResource tablosuna belge doğrulama ve yazdırma aksiyonları tanımlandı - Doğrulama sayfası PDF çıktısı ve buton hover renkleri optimize edildi
This commit is contained in:
@@ -137,6 +137,38 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Official Documents & Quick Exports Card -->
|
||||
<div class="bg-slate-50 rounded-2xl p-5 border border-slate-200/50 space-y-3">
|
||||
<h5 class="font-bold text-slate-700 text-xs uppercase tracking-wider flex items-center gap-1.5">
|
||||
<i class="uil uil-file-download-alt text-emerald-600"></i>
|
||||
<span>Resmi Belgeler & Çıktılar</span>
|
||||
</h5>
|
||||
|
||||
<div class="space-y-2" id="ijm-documents-container">
|
||||
<a href="#" id="ijm-btn-verify-cert" target="_blank" class="btn-doc-emerald w-full px-3 py-2 bg-emerald-600 hover:bg-emerald-700 text-white hover:text-white font-extrabold text-xs rounded-xl transition-all flex items-center justify-between shadow-sm">
|
||||
<span class="flex items-center gap-1.5"><i class="uil uil-award"></i> Sertifika & Transkript</span>
|
||||
<i class="uil uil-external-link-alt text-xs"></i>
|
||||
</a>
|
||||
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
<a href="#" id="ijm-btn-print-a4" target="_blank" class="btn-doc-slate px-3 py-2 bg-white hover:bg-slate-100 border border-slate-200 text-slate-700 hover:text-slate-900 font-bold text-xs rounded-xl transition-all flex items-center justify-center gap-1">
|
||||
<i class="uil uil-print text-xs"></i> A4 Defter
|
||||
</a>
|
||||
<a href="#" id="ijm-btn-print-a5" target="_blank" class="btn-doc-slate px-3 py-2 bg-white hover:bg-slate-100 border border-slate-200 text-slate-700 hover:text-slate-900 font-bold text-xs rounded-xl transition-all flex items-center justify-center gap-1">
|
||||
<i class="uil uil-print text-xs"></i> A5 Defter
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a href="#" id="ijm-btn-download-md" target="_blank" class="btn-doc-slate w-full px-3 py-2 bg-slate-100 hover:bg-slate-200 text-slate-700 hover:text-slate-900 font-bold text-xs rounded-xl transition-all flex items-center justify-center gap-1.5">
|
||||
<i class="uil uil-arrow-down-tray"></i> Günlüğü İndir (.md)
|
||||
</a>
|
||||
|
||||
<a href="#" id="ijm-btn-repo" target="_blank" class="hidden w-full px-3 py-2 bg-slate-900 hover:bg-black text-white hover:text-white font-bold text-xs rounded-xl transition-all items-center justify-center gap-1.5">
|
||||
<i class="uil uil-github"></i> GitHub Reposu
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Right Section: Carousel & Navigation (col-span-8) -->
|
||||
@@ -198,7 +230,13 @@
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<div class="px-6 py-4 bg-slate-50 border-t border-slate-100 flex items-center justify-end flex-shrink-0">
|
||||
<div class="px-6 py-4 bg-slate-50 border-t border-slate-100 flex items-center justify-between flex-shrink-0">
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="#" id="ijm-footer-verify" target="_blank" class="btn-doc-emerald px-4 py-2 bg-emerald-600 hover:bg-emerald-700 text-white hover:text-white font-bold rounded-xl text-xs transition-colors shadow-sm flex items-center gap-1.5">
|
||||
<i class="uil uil-award"></i>
|
||||
<span>Sertifika & Transkript Doğrula</span>
|
||||
</a>
|
||||
</div>
|
||||
<button type="button" onclick="closeInternJournalModal()" class="px-5 py-2.5 bg-slate-800 hover:bg-slate-900 text-white font-bold rounded-xl text-xs transition-colors shadow-md cursor-pointer">Kapat</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -217,6 +255,63 @@
|
||||
border-color: #dbeafe;
|
||||
color: #1e40af !important;
|
||||
}
|
||||
|
||||
/* Prevent theme red text color on link buttons hover */
|
||||
a.btn-doc-emerald, .btn-doc-emerald {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
a.btn-doc-emerald:hover, a.btn-doc-emerald:focus, .btn-doc-emerald:hover {
|
||||
color: #ffffff !important;
|
||||
background-color: #047857 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
a.btn-doc-blue, .btn-doc-blue {
|
||||
color: #1d4ed8 !important;
|
||||
}
|
||||
a.btn-doc-blue:hover, a.btn-doc-blue:focus, .btn-doc-blue:hover {
|
||||
color: #1e40af !important;
|
||||
background-color: #dbeafe !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
a.btn-doc-slate, .btn-doc-slate {
|
||||
color: #475569 !important;
|
||||
}
|
||||
a.btn-doc-slate:hover, a.btn-doc-slate:focus, .btn-doc-slate:hover {
|
||||
color: #0f172a !important;
|
||||
background-color: #e2e8f0 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
a.btn-doc-amber, .btn-doc-amber {
|
||||
color: #b45309 !important;
|
||||
}
|
||||
a.btn-doc-amber:hover, a.btn-doc-amber:focus, .btn-doc-amber:hover {
|
||||
color: #92400e !important;
|
||||
background-color: #fef3c7 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
a.btn-doc-green, .btn-doc-green {
|
||||
color: #15803d !important;
|
||||
}
|
||||
a.btn-doc-green:hover, a.btn-doc-green:focus, .btn-doc-green:hover {
|
||||
color: #166534 !important;
|
||||
background-color: #dcfce7 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
a.btn-doc-repo, .btn-doc-repo {
|
||||
color: #2563eb !important;
|
||||
}
|
||||
a.btn-doc-repo:hover, a.btn-doc-repo:focus, .btn-doc-repo:hover {
|
||||
color: #1d4ed8 !important;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
a.btn-doc-md, .btn-doc-md {
|
||||
color: #059669 !important;
|
||||
}
|
||||
a.btn-doc-md:hover, a.btn-doc-md:focus, .btn-doc-md:hover {
|
||||
color: #047857 !important;
|
||||
background-color: #d1fae5 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@@ -318,6 +413,46 @@
|
||||
updateSignatureUI('unit', data.intern.notebook_unit_signed, data.intern.notebook_unit_name);
|
||||
updateSignatureUI('approved', data.intern.notebook_approved, null);
|
||||
|
||||
// Setup Official Document URLs
|
||||
const certCode = data.intern.certificate_code;
|
||||
const certBtn = document.getElementById('ijm-btn-verify-cert');
|
||||
const footerCertBtn = document.getElementById('ijm-footer-verify');
|
||||
if (certCode) {
|
||||
const verifyUrl = `/staj-dogrulama/${certCode}`;
|
||||
if (certBtn) {
|
||||
certBtn.href = verifyUrl;
|
||||
certBtn.classList.remove('hidden');
|
||||
}
|
||||
if (footerCertBtn) {
|
||||
footerCertBtn.href = verifyUrl;
|
||||
footerCertBtn.classList.remove('hidden');
|
||||
}
|
||||
} else {
|
||||
if (certBtn) certBtn.classList.add('hidden');
|
||||
if (footerCertBtn) footerCertBtn.classList.add('hidden');
|
||||
}
|
||||
|
||||
const printA4Btn = document.getElementById('ijm-btn-print-a4');
|
||||
if (printA4Btn) printA4Btn.href = `/stajyer/defteri-yazdir?size=a4&intern_id=${internId}`;
|
||||
|
||||
const printA5Btn = document.getElementById('ijm-btn-print-a5');
|
||||
if (printA5Btn) printA5Btn.href = `/stajyer/defteri-yazdir?size=a5&intern_id=${internId}`;
|
||||
|
||||
const mdBtn = document.getElementById('ijm-btn-download-md');
|
||||
if (mdBtn) mdBtn.href = `/stajyer/gunluk-indir?intern_id=${internId}`;
|
||||
|
||||
const repoBtn = document.getElementById('ijm-btn-repo');
|
||||
if (repoBtn) {
|
||||
if (data.intern.github_repo) {
|
||||
repoBtn.href = data.intern.github_repo;
|
||||
repoBtn.classList.remove('hidden');
|
||||
repoBtn.classList.add('flex');
|
||||
} else {
|
||||
repoBtn.classList.add('hidden');
|
||||
repoBtn.classList.remove('flex');
|
||||
}
|
||||
}
|
||||
|
||||
// Setup carousel slide data
|
||||
journalEntries = data.entries;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user