fix0710
This commit is contained in:
parent
05ba79ba03
commit
a1a41fbada
|
|
@ -3,281 +3,471 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Student Services - LMS Dashboard</title>
|
<title>Dashboard - Student Portal</title>
|
||||||
|
|
||||||
<!-- Google Fonts (Segoe UI style clean font එකක් සඳහා) -->
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
<!-- FontAwesome Icons (Card ඇතුලේ තියෙන icons සඳහා) -->
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
<style>
|
|
||||||
:root{
|
:root{
|
||||||
--primary:#5E244E;
|
--primary:#5E244E;
|
||||||
--secondary:#8B3A74;
|
--secondary:#8B3A74;
|
||||||
--light:#f8f4f7;
|
--light:#f8f4f7;
|
||||||
|
--sidebar-width: 260px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hero{
|
body{
|
||||||
background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
|
font-family:'Inter', sans-serif;
|
||||||
url('https://images.pexels.com/photos/3802510/pexels-photo-3802510.jpeg');
|
background:#f5f3f6;
|
||||||
background-size:cover;
|
}
|
||||||
background-position:center;
|
|
||||||
|
/* ---------- Sidebar ---------- */
|
||||||
|
.sidebar{
|
||||||
|
width:var(--sidebar-width);
|
||||||
|
min-height:100vh;
|
||||||
|
background:var(--primary);
|
||||||
color:#fff;
|
color:#fff;
|
||||||
padding:80px 0;
|
position:fixed;
|
||||||
text-align:center;
|
top:0;
|
||||||
}
|
left:0;
|
||||||
|
padding:24px 0;
|
||||||
.portal-card{
|
|
||||||
border:none;
|
|
||||||
border-radius:15px;
|
|
||||||
transition:.3s;
|
transition:.3s;
|
||||||
box-shadow:0 5px 20px rgba(0,0,0,.08);
|
z-index:1030;
|
||||||
}
|
}
|
||||||
|
|
||||||
.portal-card:hover{
|
.sidebar .brand{
|
||||||
transform:translateY(-8px);
|
padding:0 24px 24px;
|
||||||
|
font-weight:700;
|
||||||
|
font-size:1.15rem;
|
||||||
|
border-bottom:1px solid rgba(255,255,255,.12);
|
||||||
|
margin-bottom:12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.portal-icon{
|
.sidebar .nav-link{
|
||||||
width:70px;
|
color:rgba(255,255,255,.75);
|
||||||
height:70px;
|
padding:12px 24px;
|
||||||
background:#5E244E;
|
border-radius:0;
|
||||||
|
font-size:.95rem;
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
gap:12px;
|
||||||
|
transition:.2s;
|
||||||
|
border-left:3px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-link i{ width:20px; text-align:center; }
|
||||||
|
|
||||||
|
.sidebar .nav-link:hover{
|
||||||
|
background:rgba(255,255,255,.06);
|
||||||
color:#fff;
|
color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-link.active{
|
||||||
|
background:rgba(255,255,255,.1);
|
||||||
|
color:#fff;
|
||||||
|
border-left:3px solid #fff;
|
||||||
|
font-weight:600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .logout-link{
|
||||||
|
color:rgba(255,255,255,.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .logout-link:hover{
|
||||||
|
color:#fff;
|
||||||
|
background:rgba(220,53,69,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Main content ---------- */
|
||||||
|
.main{
|
||||||
|
margin-left:var(--sidebar-width);
|
||||||
|
padding:28px 32px 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:space-between;
|
||||||
|
margin-bottom:28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar{
|
||||||
|
width:42px;
|
||||||
|
height:42px;
|
||||||
border-radius:50%;
|
border-radius:50%;
|
||||||
|
background:var(--secondary);
|
||||||
|
color:#fff;
|
||||||
display:flex;
|
display:flex;
|
||||||
align-items:center;
|
align-items:center;
|
||||||
justify-content:center;
|
justify-content:center;
|
||||||
font-size:28px;
|
font-weight:600;
|
||||||
margin:auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-portal{
|
/* ---------- Stat cards ---------- */
|
||||||
background:#5E244E;
|
.stat-card{
|
||||||
color:#fff;
|
|
||||||
padding:10px 30px;
|
|
||||||
border:none;
|
border:none;
|
||||||
transition: 0.2s ease;
|
border-radius:14px;
|
||||||
|
padding:22px;
|
||||||
|
box-shadow:0 5px 20px rgba(0,0,0,.06);
|
||||||
|
height:100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-portal:hover{
|
.stat-icon{
|
||||||
background:#8B3A74;
|
width:48px;
|
||||||
|
height:48px;
|
||||||
|
border-radius:12px;
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
font-size:20px;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
|
margin-bottom:14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.stat-value{
|
||||||
.modal-content {
|
font-size:1.6rem;
|
||||||
border: none;
|
|
||||||
border-radius: 16px;
|
|
||||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-header {
|
|
||||||
background: transparent;
|
|
||||||
border-bottom: none;
|
|
||||||
padding: 25px 25px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-title {
|
|
||||||
color: var(--primary);
|
|
||||||
font-weight:700;
|
font-weight:700;
|
||||||
font-size: 1.35rem;
|
color:#1e1e2f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-body {
|
.stat-label{
|
||||||
padding: 10px 25px 20px;
|
color:#6b7280;
|
||||||
|
font-size:.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ---------- Panels ---------- */
|
||||||
.input-group-text {
|
.panel{
|
||||||
background-color: #f8fafc;
|
background:#fff;
|
||||||
border-color: #cbd5e1;
|
border-radius:14px;
|
||||||
color: #64748b;
|
padding:24px;
|
||||||
border-top-left-radius: 8px;
|
box-shadow:0 5px 20px rgba(0,0,0,.06);
|
||||||
border-bottom-left-radius: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-label {
|
.panel h5{
|
||||||
color: #475569;
|
font-weight:700;
|
||||||
font-weight: 500;
|
color:#1e1e2f;
|
||||||
font-size: 0.9rem;
|
margin-bottom:18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control {
|
.course-row{
|
||||||
border: 1px solid #cbd5e1;
|
display:flex;
|
||||||
padding: 0.65rem 0.75rem;
|
align-items:center;
|
||||||
font-size: 0.95rem;
|
justify-content:space-between;
|
||||||
border-top-right-radius: 8px;
|
padding:14px 0;
|
||||||
border-bottom-right-radius: 8px;
|
border-bottom:1px solid #f1f1f4;
|
||||||
transition: all 0.2s ease;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control:focus {
|
.course-row:last-child{ border-bottom:none; }
|
||||||
border-color: var(--secondary);
|
|
||||||
box-shadow: 0 0 0 4px rgba(139, 58, 116, 0.12);
|
.course-tag{
|
||||||
outline: 0;
|
width:38px;
|
||||||
|
height:38px;
|
||||||
|
border-radius:10px;
|
||||||
|
background:var(--light);
|
||||||
|
color:var(--primary);
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
font-weight:700;
|
||||||
|
font-size:.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.progress{
|
||||||
.input-group:focus-within .input-group-text {
|
height:6px;
|
||||||
border-color: var(--secondary);
|
border-radius:10px;
|
||||||
color: var(--secondary);
|
background:#eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-footer {
|
.progress-bar{
|
||||||
background: transparent;
|
|
||||||
border-top: none;
|
|
||||||
padding: 0 25px 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.btn-modal-cancel {
|
|
||||||
background: transparent;
|
|
||||||
border: 1.5px solid #cbd5e1;
|
|
||||||
color: #64748b;
|
|
||||||
font-weight: 600;
|
|
||||||
padding: 10px 0;
|
|
||||||
transition: all 0.2s;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-modal-cancel:hover {
|
|
||||||
background: #f1f5f9;
|
|
||||||
color: #334155;
|
|
||||||
border-color: #94a3b8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-modal-login {
|
|
||||||
background:var(--primary);
|
background:var(--primary);
|
||||||
color: #fff;
|
|
||||||
border: none;
|
|
||||||
font-weight: 600;
|
|
||||||
padding: 10px 0;
|
|
||||||
box-shadow: 0 4px 12px rgba(94, 36, 78, 0.2);
|
|
||||||
transition: all 0.2s;
|
|
||||||
width: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-modal-login:hover {
|
.deadline-item{
|
||||||
background: var(--secondary);
|
display:flex;
|
||||||
color: #fff;
|
gap:14px;
|
||||||
transform: translateY(-1px);
|
padding:12px 0;
|
||||||
box-shadow: 0 6px 15px rgba(94, 36, 78, 0.3);
|
border-bottom:1px solid #f1f1f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deadline-item:last-child{ border-bottom:none; }
|
||||||
|
|
||||||
|
.deadline-date{
|
||||||
|
min-width:52px;
|
||||||
|
text-align:center;
|
||||||
|
background:var(--light);
|
||||||
|
color:var(--primary);
|
||||||
|
border-radius:10px;
|
||||||
|
padding:6px 4px;
|
||||||
|
font-weight:700;
|
||||||
|
font-size:.8rem;
|
||||||
|
line-height:1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-soft{
|
||||||
|
background:var(--light);
|
||||||
|
color:var(--primary);
|
||||||
|
font-weight:600;
|
||||||
|
padding:5px 10px;
|
||||||
|
border-radius:8px;
|
||||||
|
font-size:.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Mobile ---------- */
|
||||||
|
.sidebar-toggle{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px){
|
||||||
|
.sidebar{
|
||||||
|
left:calc(-1 * var(--sidebar-width));
|
||||||
|
}
|
||||||
|
.sidebar.show{
|
||||||
|
left:0;
|
||||||
|
}
|
||||||
|
.main{
|
||||||
|
margin-left:0;
|
||||||
|
}
|
||||||
|
.sidebar-toggle{
|
||||||
|
display:inline-flex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
<section class="hero">
|
<!-- Sidebar -->
|
||||||
<div class="container">
|
<aside class="sidebar" id="sidebar">
|
||||||
<h1 class="fw-bold">Student Portal</h1>
|
<div class="brand"><i class="fa-solid fa-graduation-cap me-2"></i>Student Portal</div>
|
||||||
<p class="mt-3">
|
<nav class="nav flex-column">
|
||||||
Access your courses, timetable, assignments, examination results,
|
<a href="#" class="nav-link active"><i class="fa-solid fa-gauge"></i>Dashboard</a>
|
||||||
payments and profile from one place.
|
<a href="#" class="nav-link"><i class="fa-solid fa-book"></i>My Courses</a>
|
||||||
</p>
|
<a href="#" class="nav-link"><i class="fa-solid fa-calendar-days"></i>Class Timetable</a>
|
||||||
|
<a href="#" class="nav-link"><i class="fa-solid fa-file-lines"></i>Assignments</a>
|
||||||
|
<a href="#" class="nav-link"><i class="fa-solid fa-square-poll-vertical"></i>Exam Results</a>
|
||||||
|
<a href="#" class="nav-link"><i class="fa-solid fa-credit-card"></i>Fee Payments</a>
|
||||||
|
<a href="#" class="nav-link"><i class="fa-solid fa-user"></i>Profile</a>
|
||||||
|
<a href="student-portal-fixed.html" class="nav-link logout-link mt-3"><i class="fa-solid fa-right-from-bracket"></i>Logout</a>
|
||||||
|
</nav>
|
||||||
|
</aside>
|
||||||
|
|
||||||
<button onclick="studentlogin()" class="btn btn-portal mt-3">
|
<!-- Main content -->
|
||||||
Student Login
|
<div class="main">
|
||||||
</button>
|
<div class="topbar">
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-sm btn-outline-secondary sidebar-toggle me-2" id="sidebarToggle"><i class="fa-solid fa-bars"></i></button>
|
||||||
|
<h4 class="fw-bold mb-0 d-inline">Welcome back, Nimasha</h4>
|
||||||
|
<p class="text-muted mb-0">Here's what's happening with your studies today.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
<div class="d-flex align-items-center gap-3">
|
||||||
|
<i class="fa-regular fa-bell fs-5 text-secondary"></i>
|
||||||
<section class="py-5">
|
<div class="avatar">N</div>
|
||||||
<div class="container">
|
|
||||||
<div class="text-center mb-5">
|
|
||||||
<h2>Student Services</h2>
|
|
||||||
<p class="text-muted">
|
|
||||||
Everything you need during your academic journey.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row g-4">
|
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
|
||||||
<div class="portal-icon">
|
|
||||||
<i class="fa-solid fa-book"></i>
|
|
||||||
</div>
|
|
||||||
<h4 class="mt-4">My Courses</h4>
|
|
||||||
<p class="text-muted">View enrolled courses and learning materials.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<!-- Stat cards -->
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="row g-3 mb-4">
|
||||||
<div class="portal-icon">
|
<div class="col-6 col-lg-3">
|
||||||
<i class="fa-solid fa-calendar-days"></i>
|
<div class="card stat-card">
|
||||||
|
<div class="stat-icon" style="background:#5E244E;"><i class="fa-solid fa-book"></i></div>
|
||||||
|
<div class="stat-value">6</div>
|
||||||
|
<div class="stat-label">Enrolled Courses</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 col-lg-3">
|
||||||
|
<div class="card stat-card">
|
||||||
|
<div class="stat-icon" style="background:#0d9488;"><i class="fa-solid fa-file-circle-check"></i></div>
|
||||||
|
<div class="stat-value">3</div>
|
||||||
|
<div class="stat-label">Pending Assignments</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 col-lg-3">
|
||||||
|
<div class="card stat-card">
|
||||||
|
<div class="stat-icon" style="background:#d97706;"><i class="fa-solid fa-square-poll-vertical"></i></div>
|
||||||
|
<div class="stat-value">78%</div>
|
||||||
|
<div class="stat-label">Average Result</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 col-lg-3">
|
||||||
|
<div class="card stat-card">
|
||||||
|
<div class="stat-icon" style="background:#dc2626;"><i class="fa-solid fa-credit-card"></i></div>
|
||||||
|
<div class="stat-value">Rs. 12,000</div>
|
||||||
|
<div class="stat-label">Balance Due</div>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="mt-4">Class Timetable</h4>
|
|
||||||
<p class="text-muted">Check your weekly lecture schedule.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="row g-3">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<!-- Courses -->
|
||||||
<div class="portal-icon">
|
<div class="col-lg-7">
|
||||||
<i class="fa-solid fa-file-lines"></i>
|
<div class="panel mb-3">
|
||||||
|
<h5>My Courses</h5>
|
||||||
|
|
||||||
|
<div class="course-row">
|
||||||
|
<div class="d-flex align-items-center gap-3">
|
||||||
|
<div class="course-tag">DS</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Data Structures & Algorithms</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Dr. K. Perera</div>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="mt-4">Assignments</h4>
|
</div>
|
||||||
<p class="text-muted">Submit assignments and download resources.</p>
|
<div style="width:120px;">
|
||||||
|
<div class="progress"><div class="progress-bar" style="width:72%"></div></div>
|
||||||
|
<div class="text-muted text-end" style="font-size:.75rem;">72%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="course-row">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="d-flex align-items-center gap-3">
|
||||||
<div class="portal-icon">
|
<div class="course-tag">WD</div>
|
||||||
<i class="fa-solid fa-square-poll-vertical"></i>
|
<div>
|
||||||
|
<div class="fw-semibold">Web Application Development</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Ms. S. Fernando</div>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="mt-4">Exam Results</h4>
|
</div>
|
||||||
<p class="text-muted">View semester and final examination results.</p>
|
<div style="width:120px;">
|
||||||
|
<div class="progress"><div class="progress-bar" style="width:58%"></div></div>
|
||||||
|
<div class="text-muted text-end" style="font-size:.75rem;">58%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="course-row">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="d-flex align-items-center gap-3">
|
||||||
<div class="portal-icon">
|
<div class="course-tag">DB</div>
|
||||||
<i class="fa-solid fa-credit-card"></i>
|
<div>
|
||||||
|
<div class="fw-semibold">Database Management Systems</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Mr. R. Silva</div>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="mt-4">Fee Payments</h4>
|
</div>
|
||||||
<p class="text-muted">Pay course fees and download payment receipts.</p>
|
<div style="width:120px;">
|
||||||
|
<div class="progress"><div class="progress-bar" style="width:85%"></div></div>
|
||||||
|
<div class="text-muted text-end" style="font-size:.75rem;">85%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="course-row">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="d-flex align-items-center gap-3">
|
||||||
<div class="portal-icon">
|
<div class="course-tag">NW</div>
|
||||||
<i class="fa-solid fa-user"></i>
|
<div>
|
||||||
</div>
|
<div class="fw-semibold">Computer Networks</div>
|
||||||
<h4 class="mt-4">Student Profile</h4>
|
<div class="text-muted" style="font-size:.8rem;">Dr. A. Bandara</div>
|
||||||
<p class="text-muted">Update your personal information securely.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="width:120px;">
|
||||||
|
<div class="progress"><div class="progress-bar" style="width:40%"></div></div>
|
||||||
|
<div class="text-muted text-end" style="font-size:.75rem;">40%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
|
||||||
<section class="py-5 bg-light">
|
|
||||||
<div class="container">
|
|
||||||
<div class="text-center mb-5">
|
|
||||||
<h2>Quick Links</h2>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row text-center">
|
<!-- Exam Results -->
|
||||||
<div class="col-md-3 mb-3">
|
<div class="panel">
|
||||||
<a href="#" class="btn btn-outline-dark w-100">Academic Calendar</a>
|
<h5>Recent Exam Results</h5>
|
||||||
</div>
|
<div class="table-responsive">
|
||||||
<div class="col-md-3 mb-3">
|
<table class="table table-borderless align-middle mb-0">
|
||||||
<a href="#" class="btn btn-outline-dark w-100">Student Handbook</a>
|
<thead>
|
||||||
</div>
|
<tr class="text-muted" style="font-size:.8rem;">
|
||||||
<div class="col-md-3 mb-3">
|
<th>Course</th>
|
||||||
<a href="#" class="btn btn-outline-dark w-100">Examination Notices</a>
|
<th>Semester</th>
|
||||||
</div>
|
<th>Grade</th>
|
||||||
<div class="col-md-3 mb-3">
|
<th>Status</th>
|
||||||
<a href="#" class="btn btn-outline-dark w-100">Contact Support</a>
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Data Structures & Algorithms</td>
|
||||||
|
<td>Sem 3</td>
|
||||||
|
<td class="fw-semibold">A-</td>
|
||||||
|
<td><span class="badge-soft">Passed</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Database Management Systems</td>
|
||||||
|
<td>Sem 3</td>
|
||||||
|
<td class="fw-semibold">B+</td>
|
||||||
|
<td><span class="badge-soft">Passed</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Computer Networks</td>
|
||||||
|
<td>Sem 2</td>
|
||||||
|
<td class="fw-semibold">B</td>
|
||||||
|
<td><span class="badge-soft">Passed</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
<!-- Sidebar right column -->
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<div class="panel mb-3">
|
||||||
|
<h5>Upcoming Deadlines</h5>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">12<br>JUL</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Database Assignment 02</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Database Management Systems</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">15<br>JUL</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Web Dev Project Submission</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Web Application Development</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">20<br>JUL</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Networks Quiz 03</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Computer Networks</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel">
|
||||||
|
<h5>Today's Timetable</h5>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">9<br>AM</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Data Structures & Algorithms</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Lecture Hall 2</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">11<br>AM</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Database Lab</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Computer Lab 1</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="deadline-item">
|
||||||
|
<div class="deadline-date">2<br>PM</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-semibold">Computer Networks</div>
|
||||||
|
<div class="text-muted" style="font-size:.8rem;">Lecture Hall 5</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
<script>
|
||||||
|
document.getElementById('sidebarToggle')?.addEventListener('click', function () {
|
||||||
|
document.getElementById('sidebar').classList.toggle('show');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.hero {
|
.hero {
|
||||||
height: 220px; /* Hero එකේ උස තවත් අඩු කළා */
|
height: 220px;
|
||||||
background: linear-gradient(rgba(20,20,20,.55),rgba(20,20,20,.55)),
|
background: linear-gradient(rgba(20,20,20,.55),rgba(20,20,20,.55)),
|
||||||
url('https://images.unsplash.com/photo-1517520287167-4bbf64a00d66?auto=format&fit=crop&w=1600&q=80');
|
url('https://images.unsplash.com/photo-1517520287167-4bbf64a00d66?auto=format&fit=crop&w=1600&q=80');
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div class="collapse navbar-collapse" id="menu">
|
<div class="collapse navbar-collapse" id="menu" style="padding-left:214px;">
|
||||||
<ul class="navbar-nav ms-auto mb-2 mb-lg-0 align-items-lg-center">
|
<ul class="navbar-nav ms-auto mb-2 mb-lg-0 align-items-lg-center">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link {{ request()->is('/') ? 'active-page' : '' }}" href="/">Home</a>
|
<a class="nav-link {{ request()->is('/') ? 'active-page' : '' }}" href="/">Home</a>
|
||||||
|
|
@ -201,8 +201,8 @@
|
||||||
@php
|
@php
|
||||||
$displayName = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
$displayName = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||||
@endphp
|
@endphp
|
||||||
<div class="dropdown">
|
<div class="dropdown" style="padding-left:325px;">
|
||||||
<a class="user-dropdown-toggle dropdown-toggle text-white"
|
<a class="user-dropdown-toggle text-white"
|
||||||
href="#"
|
href="#"
|
||||||
role="button"
|
role="button"
|
||||||
id="userMenu"
|
id="userMenu"
|
||||||
|
|
|
||||||
|
|
@ -257,9 +257,7 @@ body{
|
||||||
color: #5E244E;
|
color: #5E244E;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========================================================
|
|
||||||
Custom Pure CSS Animations (No external libraries needed)
|
|
||||||
======================================================== */
|
|
||||||
.animate-on-scroll {
|
.animate-on-scroll {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: all 1s ease-out;
|
transition: all 1s ease-out;
|
||||||
|
|
@ -295,7 +293,7 @@ body{
|
||||||
{{-- ===================== HERO ===================== --}}
|
{{-- ===================== HERO ===================== --}}
|
||||||
<section class="hero" role="banner" aria-label="Automobile Engineering Academy introduction">
|
<section class="hero" role="banner" aria-label="Automobile Engineering Academy introduction">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- Hero එක load වෙද්දිම animate වෙන්න කෙලින්ම animated දැම්මා -->
|
|
||||||
<div class="hero-content text-center animate-on-scroll animated fade-up-init">
|
<div class="hero-content text-center animate-on-scroll animated fade-up-init">
|
||||||
<h1 class="display-4 fw-bold">
|
<h1 class="display-4 fw-bold">
|
||||||
Automobile Engineering Academy
|
Automobile Engineering Academy
|
||||||
|
|
@ -366,8 +364,8 @@ body{
|
||||||
|
|
||||||
<div class="row g-4 mb-5">
|
<div class="row g-4 mb-5">
|
||||||
@foreach($courses as $index => $course)
|
@foreach($courses as $index => $course)
|
||||||
<!-- Cards ටික එකින් එක delay වෙන්න inline style එකක් දැම්මා -->
|
|
||||||
<div class="col-lg-4 col-md-6 animate-on-scroll fade-up-init" style="transition-delay: {{ $index * 150 }}ms;">
|
<div class="col-lg-4 col-md-6 " style="transition-delay: {{ $index * 150 }}ms;">
|
||||||
<div class="card course-card h-100">
|
<div class="card course-card h-100">
|
||||||
|
|
||||||
<div class="course-image-wrapper">
|
<div class="course-image-wrapper">
|
||||||
|
|
@ -473,7 +471,7 @@ body{
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- බාහිර කිසිම script එකක් ඕනේ නැහැ, මේ සරල කෑල්ල කෙලින්ම වැඩ කරනවා -->
|
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
const animatedElements = document.querySelectorAll('.animate-on-scroll');
|
const animatedElements = document.querySelectorAll('.animate-on-scroll');
|
||||||
|
|
@ -482,11 +480,11 @@ body{
|
||||||
entries.forEach(entry => {
|
entries.forEach(entry => {
|
||||||
if (entry.isIntersecting) {
|
if (entry.isIntersecting) {
|
||||||
entry.target.classList.add('animated');
|
entry.target.classList.add('animated');
|
||||||
observer.unobserve(entry.target); // එක පාරක් වැඩ කළාම ඇති නිසා නැවත check කරන්නේ නැත
|
observer.unobserve(entry.target);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, {
|
}, {
|
||||||
threshold: 0.15 // Section එකෙන් 15%ක් screen එකට ආපු ගමන් animate වේ
|
threshold: 0.15
|
||||||
});
|
});
|
||||||
|
|
||||||
animatedElements.forEach(el => observer.observe(el));
|
animatedElements.forEach(el => observer.observe(el));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue