feat(front): add professor portal view, schedule & earnings charts, and account navigation

This commit is contained in:
2026-08-25 03:48:32 +03:30
parent 5035879651
commit afd729b1ac
6 changed files with 1652 additions and 0 deletions
+82
View File
@@ -5,6 +5,17 @@
<p>کلاسهای ثبتشده و گواهینامههایتان را از اینجا مدیریت کنید.</p>
</header>
<div v-if="auth.isProfessor" class="professor-banner">
<div class="professor-banner-content">
<div class="professor-badge-pill">🎓 پنل ویژه اساتید گام نو</div>
<h2>میزکار و پنل تدریس اساتید</h2>
<p>مشاهده کلاسهای در حال برگزاری، زمانبندی جلسات، آمار دانشجویان و گزارش و نمودار سهم تدریس شما</p>
</div>
<RouterLink :to="{ name: 'professor-portal' }" class="professor-cta-btn">
ورود به میزکار تدریس
</RouterLink>
</div>
<div class="summary-grid">
<RouterLink :to="{ name: 'my-classes' }" class="summary-tile">
<span class="tile-label">کلاسهای من</span>
@@ -72,6 +83,77 @@ onMounted(async () => {
color: var(--ink-soft);
}
.professor-banner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1.5rem;
padding: 1.5rem 1.75rem;
margin-bottom: 1.5rem;
border-radius: 1.25rem;
background: linear-gradient(135deg, #14352b 0%, #1f4e3f 60%, #2d6a4f 100%);
color: var(--chalk);
box-shadow: 0 10px 25px -5px rgba(20, 53, 43, 0.25);
border: 1px solid rgba(232, 163, 23, 0.3);
}
.professor-badge-pill {
display: inline-block;
font-size: 0.75rem;
font-weight: 700;
padding: 0.2rem 0.65rem;
border-radius: 999px;
background: rgba(232, 163, 23, 0.2);
color: #ffd166;
border: 1px solid rgba(232, 163, 23, 0.4);
margin-bottom: 0.5rem;
}
.professor-banner h2 {
font-family: var(--font-display);
font-size: 1.35rem;
color: #fff;
margin: 0 0 0.35rem 0;
}
.professor-banner p {
font-size: 0.88rem;
color: rgba(255, 255, 255, 0.85);
margin: 0;
line-height: 1.5;
max-width: 540px;
}
.professor-cta-btn {
white-space: nowrap;
padding: 0.75rem 1.25rem;
border-radius: 0.85rem;
background: var(--saffron);
color: var(--ink);
font-weight: 700;
font-size: 0.9rem;
box-shadow: 0 4px 12px rgba(232, 163, 23, 0.3);
transition: transform 0.2s ease, box-shadow 0.2s ease;
flex-shrink: 0;
}
.professor-cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(232, 163, 23, 0.4);
}
@media (max-width: 768px) {
.professor-banner {
flex-direction: column;
align-items: flex-start;
padding: 1.25rem;
}
.professor-cta-btn {
width: 100%;
text-align: center;
}
}
.summary-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
File diff suppressed because it is too large Load Diff