fix0713
This commit is contained in:
parent
a1a41fbada
commit
31a16b79aa
|
|
@ -10,6 +10,20 @@ use Illuminate\Support\Facades\Log;
|
|||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
|
||||
|
||||
|
||||
public function profilview(Request $request)
|
||||
{
|
||||
// Auth wi inna userge data gannawa
|
||||
$user = Auth::user();
|
||||
|
||||
// profile.blade.php file ekata data pass karanawa
|
||||
return view('profile', compact('user'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Handle Student Registration (POST)
|
||||
*/
|
||||
|
|
@ -88,4 +102,28 @@ class AuthController extends Controller
|
|||
return response()->json(['success' => true, 'forced' => true]);
|
||||
}
|
||||
}
|
||||
|
||||
public function update(Request $request)
|
||||
{
|
||||
|
||||
$request->validate([
|
||||
'first_name' => 'required|string|max:255',
|
||||
'last_name' => 'required|string|max:255',
|
||||
'phone' => 'nullable|string|max:20',
|
||||
]);
|
||||
|
||||
|
||||
$user = Auth::user();
|
||||
|
||||
|
||||
$user->update([
|
||||
'first_name' => $request->first_name,
|
||||
'last_name' => $request->last_name,
|
||||
'phone' => $request->phone,
|
||||
]);
|
||||
|
||||
|
||||
return redirect()->back()->with('success', 'Profile updated successfully!');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -23,22 +23,22 @@ public function studentlogin(Request $request)
|
|||
->where('email', $request->username)
|
||||
->first();
|
||||
|
||||
// 1. Hash::check පාවිච්චි කරලා password එක check කරන්න
|
||||
|
||||
if ($student && Hash::check($request->password, $student->password) && $student->pin == $request->pin) {
|
||||
|
||||
// 2. Status එක active හෝ හිස් ("") වුණොත් ඇතුලට යන්න දෙන්න
|
||||
|
||||
if ($student->status !== 'active' && $student->status !== '') {
|
||||
return redirect('/')->with('error', 'Your account is inactive!');
|
||||
}
|
||||
|
||||
// Session එකට ID එක දානවා
|
||||
|
||||
$request->session()->put('student_id', $student->studentid);
|
||||
|
||||
// කෙලින්ම Student Portal එකට redirect කරනවා
|
||||
|
||||
return redirect()->route('student.portal')->with('success', 'Logged in successfully!');
|
||||
}
|
||||
|
||||
// දත්ත වැරදියි නම් හෝම් පේජ් එකට යවනවා
|
||||
|
||||
return redirect('/')->with('error', 'Invalid Email, Password, or PIN!');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,400 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'Assignments')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
body{
|
||||
background:#f4f7fc;
|
||||
}
|
||||
|
||||
.page-title{
|
||||
font-size:32px;
|
||||
font-weight:700;
|
||||
color:#1f2937;
|
||||
}
|
||||
|
||||
.assignment-card{
|
||||
border:none;
|
||||
border-radius:18px;
|
||||
overflow:hidden;
|
||||
box-shadow:0 10px 25px rgba(0,0,0,.08);
|
||||
transition:.3s;
|
||||
}
|
||||
|
||||
.assignment-card:hover{
|
||||
transform:translateY(-5px);
|
||||
box-shadow:0 18px 35px rgba(0,0,0,.12);
|
||||
}
|
||||
|
||||
.assignment-header{
|
||||
background:linear-gradient(135deg,#0d6efd,#4f46e5);
|
||||
color:white;
|
||||
padding:18px;
|
||||
}
|
||||
|
||||
.assignment-header h5{
|
||||
margin:0;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.assignment-body{
|
||||
padding:22px;
|
||||
}
|
||||
|
||||
.info-box{
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
margin-bottom:12px;
|
||||
}
|
||||
|
||||
.info-title{
|
||||
color:#6b7280;
|
||||
font-size:14px;
|
||||
}
|
||||
|
||||
.info-value{
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.status{
|
||||
padding:6px 14px;
|
||||
border-radius:50px;
|
||||
font-size:13px;
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.pending{
|
||||
background:#fff3cd;
|
||||
color:#856404;
|
||||
}
|
||||
|
||||
.submitted{
|
||||
background:#d1e7dd;
|
||||
color:#0f5132;
|
||||
}
|
||||
|
||||
.overdue{
|
||||
background:#f8d7da;
|
||||
color:#842029;
|
||||
}
|
||||
|
||||
.progress{
|
||||
height:8px;
|
||||
border-radius:20px;
|
||||
}
|
||||
|
||||
.btn-submit{
|
||||
border-radius:50px;
|
||||
padding:10px 22px;
|
||||
}
|
||||
|
||||
.search-box{
|
||||
border-radius:50px;
|
||||
}
|
||||
|
||||
.filter-btn{
|
||||
border-radius:50px;
|
||||
margin-right:8px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
<!-- Page Header -->
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
|
||||
<div>
|
||||
<h2 class="page-title">
|
||||
<i class="fas fa-file-alt text-primary"></i>
|
||||
Assignments
|
||||
</h2>
|
||||
|
||||
<p class="text-muted">
|
||||
View, download and submit your course assignments.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Search -->
|
||||
|
||||
<div class="row mb-4">
|
||||
|
||||
<div class="col-md-6">
|
||||
|
||||
<input type="text"
|
||||
class="form-control search-box"
|
||||
placeholder="Search Assignment...">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 text-md-end mt-3 mt-md-0">
|
||||
|
||||
<button class="btn btn-primary filter-btn">All</button>
|
||||
<button class="btn btn-warning filter-btn">Pending</button>
|
||||
<button class="btn btn-success filter-btn">Submitted</button>
|
||||
<button class="btn btn-danger filter-btn">Overdue</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- Assignment 1 -->
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
|
||||
<div class="card assignment-card">
|
||||
|
||||
<div class="assignment-header">
|
||||
|
||||
<h5>
|
||||
Engine Maintenance Report
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="assignment-body">
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Module</span>
|
||||
<span class="info-value">Automobile Engineering</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Due Date</span>
|
||||
<span class="info-value text-danger">
|
||||
20 July 2026
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Status</span>
|
||||
|
||||
<span class="status pending">
|
||||
Pending
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p class="text-muted">
|
||||
|
||||
Prepare a detailed report on preventive engine
|
||||
maintenance including servicing procedures and
|
||||
safety guidelines.
|
||||
|
||||
</p>
|
||||
|
||||
<label class="small text-muted mb-2">
|
||||
Submission Progress
|
||||
</label>
|
||||
|
||||
<div class="progress mb-4">
|
||||
|
||||
<div class="progress-bar bg-warning"
|
||||
style="width:40%">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#"
|
||||
class="btn btn-outline-primary">
|
||||
|
||||
<i class="fas fa-download"></i>
|
||||
Download
|
||||
|
||||
</a>
|
||||
|
||||
<a href="#"
|
||||
class="btn btn-success btn-submit">
|
||||
|
||||
<i class="fas fa-upload"></i>
|
||||
Submit
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Assignment 2 -->
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
|
||||
<div class="card assignment-card">
|
||||
|
||||
<div class="assignment-header bg-success">
|
||||
|
||||
<h5>
|
||||
Brake System Inspection
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="assignment-body">
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Module</span>
|
||||
<span class="info-value">Vehicle Technology</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Due Date</span>
|
||||
<span class="info-value">
|
||||
10 July 2026
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Status</span>
|
||||
|
||||
<span class="status submitted">
|
||||
Submitted
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p class="text-muted">
|
||||
|
||||
Explain the complete brake inspection procedure
|
||||
with diagrams and maintenance schedule.
|
||||
|
||||
</p>
|
||||
|
||||
<label class="small text-muted mb-2">
|
||||
Submission Progress
|
||||
</label>
|
||||
|
||||
<div class="progress mb-4">
|
||||
|
||||
<div class="progress-bar bg-success"
|
||||
style="width:100%">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#"
|
||||
class="btn btn-outline-primary">
|
||||
|
||||
<i class="fas fa-download"></i>
|
||||
Download
|
||||
|
||||
</a>
|
||||
|
||||
<button class="btn btn-secondary btn-submit" disabled>
|
||||
|
||||
Submitted
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Assignment 3 -->
|
||||
|
||||
<div class="col-lg-6 mb-4">
|
||||
|
||||
<div class="card assignment-card">
|
||||
|
||||
<div class="assignment-header bg-danger">
|
||||
|
||||
<h5>
|
||||
Transmission System Analysis
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="assignment-body">
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Module</span>
|
||||
<span class="info-value">Power Train</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Due Date</span>
|
||||
<span class="info-value text-danger">
|
||||
01 July 2026
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<span class="info-title">Status</span>
|
||||
|
||||
<span class="status overdue">
|
||||
Overdue
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p class="text-muted">
|
||||
|
||||
Compare manual and automatic transmission systems
|
||||
with advantages and disadvantages.
|
||||
|
||||
</p>
|
||||
|
||||
<label class="small text-muted mb-2">
|
||||
Submission Progress
|
||||
</label>
|
||||
|
||||
<div class="progress mb-4">
|
||||
|
||||
<div class="progress-bar bg-danger"
|
||||
style="width:0%">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between">
|
||||
|
||||
<a href="#"
|
||||
class="btn btn-outline-primary">
|
||||
|
||||
<i class="fas fa-download"></i>
|
||||
Download
|
||||
|
||||
</a>
|
||||
|
||||
<button class="btn btn-danger btn-submit">
|
||||
|
||||
Submit Late
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -0,0 +1,589 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title','Feedback & Complaint')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
|
||||
body{
|
||||
background:#f6f7fb;
|
||||
}
|
||||
|
||||
|
||||
/* Header */
|
||||
|
||||
.feedback-header{
|
||||
|
||||
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||
color:white;
|
||||
padding:40px;
|
||||
border-radius:20px;
|
||||
margin-bottom:35px;
|
||||
box-shadow:0 15px 35px rgba(0,0,0,.12);
|
||||
|
||||
}
|
||||
|
||||
|
||||
.feedback-header h2{
|
||||
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.feedback-header p{
|
||||
|
||||
color:#ddd;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Cards */
|
||||
|
||||
.feedback-card{
|
||||
|
||||
background:#fff;
|
||||
border-radius:20px;
|
||||
border:none;
|
||||
padding:30px;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
height:100%;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.card-title{
|
||||
|
||||
color:#5E244E;
|
||||
font-weight:700;
|
||||
margin-bottom:25px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.card-title i{
|
||||
|
||||
color:#d4af37;
|
||||
margin-right:8px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Inputs */
|
||||
|
||||
.form-control,
|
||||
.form-select{
|
||||
|
||||
border-radius:15px;
|
||||
padding:12px;
|
||||
border:1px solid #ddd;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.form-control:focus,
|
||||
.form-select:focus{
|
||||
|
||||
border-color:#744a68;
|
||||
box-shadow:0 0 0 .2rem rgba(94,36,78,.15);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Button */
|
||||
|
||||
.submit-btn{
|
||||
|
||||
background:#5E244E;
|
||||
color:white;
|
||||
border:none;
|
||||
border-radius:50px;
|
||||
padding:12px 30px;
|
||||
font-weight:600;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.submit-btn:hover{
|
||||
|
||||
background:#4a1c3e;
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* History */
|
||||
|
||||
.history-card{
|
||||
|
||||
margin-top:35px;
|
||||
background:white;
|
||||
border-radius:20px;
|
||||
overflow:hidden;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
|
||||
}
|
||||
|
||||
|
||||
.history-head{
|
||||
|
||||
background:#5E244E;
|
||||
color:white;
|
||||
padding:18px 25px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.badge-status{
|
||||
|
||||
padding:7px 15px;
|
||||
border-radius:50px;
|
||||
font-size:13px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.pending{
|
||||
|
||||
background:#fff3cd;
|
||||
color:#856404;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.resolved{
|
||||
|
||||
background:#d1e7dd;
|
||||
color:#0f5132;
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
|
||||
<div class="feedback-header">
|
||||
|
||||
<h2>
|
||||
|
||||
<i class="fas fa-comments"></i>
|
||||
|
||||
Feedback & Complaint
|
||||
|
||||
</h2>
|
||||
|
||||
|
||||
<p>
|
||||
|
||||
Share your suggestions, feedback, or complaints with the
|
||||
Automobile Engineering Academy management team.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
|
||||
<!-- Feedback -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
|
||||
<div class="feedback-card">
|
||||
|
||||
|
||||
<h4 class="card-title">
|
||||
|
||||
<i class="fas fa-star"></i>
|
||||
|
||||
Submit Feedback
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
|
||||
<form>
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<label class="form-label">
|
||||
Feedback Type
|
||||
</label>
|
||||
|
||||
<select class="form-select">
|
||||
|
||||
<option>
|
||||
Select Type
|
||||
</option>
|
||||
|
||||
<option>
|
||||
Course
|
||||
</option>
|
||||
|
||||
<option>
|
||||
Lecturer
|
||||
</option>
|
||||
|
||||
<option>
|
||||
Workshop
|
||||
</option>
|
||||
|
||||
<option>
|
||||
Facilities
|
||||
</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<label class="form-label">
|
||||
Subject
|
||||
</label>
|
||||
|
||||
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
placeholder="Enter subject">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<label class="form-label">
|
||||
Your Feedback
|
||||
</label>
|
||||
|
||||
|
||||
<textarea class="form-control"
|
||||
rows="5"
|
||||
placeholder="Write your feedback">
|
||||
|
||||
</textarea>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<button class="submit-btn">
|
||||
|
||||
<i class="fas fa-paper-plane"></i>
|
||||
|
||||
Submit Feedback
|
||||
|
||||
</button>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Complaint -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
|
||||
<div class="feedback-card">
|
||||
|
||||
|
||||
<h4 class="card-title">
|
||||
|
||||
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
|
||||
Submit Complaint
|
||||
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
|
||||
|
||||
<form>
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
|
||||
<label class="form-label">
|
||||
Complaint Category
|
||||
</label>
|
||||
|
||||
|
||||
<select class="form-select">
|
||||
|
||||
|
||||
<option>
|
||||
Select Category
|
||||
</option>
|
||||
|
||||
|
||||
<option>
|
||||
Academic Issue
|
||||
</option>
|
||||
|
||||
|
||||
<option>
|
||||
Staff Issue
|
||||
</option>
|
||||
|
||||
|
||||
<option>
|
||||
Technical Issue
|
||||
</option>
|
||||
|
||||
|
||||
<option>
|
||||
Other
|
||||
</option>
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
|
||||
<label class="form-label">
|
||||
Complaint Title
|
||||
</label>
|
||||
|
||||
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
placeholder="Enter complaint title">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
|
||||
<label class="form-label">
|
||||
Complaint Details
|
||||
</label>
|
||||
|
||||
|
||||
<textarea class="form-control"
|
||||
rows="5"
|
||||
placeholder="Explain your complaint">
|
||||
|
||||
</textarea>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<button class="submit-btn">
|
||||
|
||||
|
||||
<i class="fas fa-paper-plane"></i>
|
||||
|
||||
Submit Complaint
|
||||
|
||||
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Previous History -->
|
||||
|
||||
|
||||
<div class="history-card">
|
||||
|
||||
|
||||
<div class="history-head">
|
||||
|
||||
|
||||
<h4 class="mb-0">
|
||||
|
||||
<i class="fas fa-history"></i>
|
||||
|
||||
Previous Requests
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="table-responsive">
|
||||
|
||||
|
||||
<table class="table table-hover mb-0">
|
||||
|
||||
|
||||
<thead>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<th>
|
||||
Type
|
||||
</th>
|
||||
|
||||
<th>
|
||||
Subject
|
||||
</th>
|
||||
|
||||
<th>
|
||||
Date
|
||||
</th>
|
||||
|
||||
<th>
|
||||
Status
|
||||
</th>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</thead>
|
||||
|
||||
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
|
||||
<td>
|
||||
Feedback
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
Workshop Equipment
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
10 July 2026
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
|
||||
<span class="badge-status resolved">
|
||||
|
||||
Resolved
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
|
||||
<td>
|
||||
Complaint
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
Class Schedule Issue
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
05 July 2026
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
|
||||
<span class="badge-status pending">
|
||||
|
||||
Pending
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -1,7 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'Dashboard')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<!-- <meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Dashboard - Student Portal</title>
|
||||
|
||||
|
|
@ -10,7 +15,7 @@
|
|||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<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">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"> -->
|
||||
|
||||
<style>
|
||||
:root{
|
||||
|
|
@ -235,31 +240,142 @@
|
|||
display:inline-flex;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.portal-card{
|
||||
border:none;
|
||||
border-radius:15px;
|
||||
transition:.4s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
box-shadow:0 5px 20px rgba(0,0,0,.08);
|
||||
border: 1px solid #efeff4;
|
||||
}
|
||||
|
||||
.portal-card:hover{
|
||||
transform:translateY(-8px);
|
||||
border-color: var(--primary);
|
||||
box-shadow: 0 15px 30px rgba(94, 36, 78, 0.1);
|
||||
}
|
||||
|
||||
.portal-icon{
|
||||
width:70px;
|
||||
height:70px;
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
border-radius:50%;
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
font-size:28px;
|
||||
margin:auto;
|
||||
transition: 0.4s ease;
|
||||
}
|
||||
|
||||
.portal-card:hover .portal-icon {
|
||||
background: var(--secondary);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.btn-portal{
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
padding:12px 35px;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn-portal:hover{
|
||||
background:#8B3A74;
|
||||
color:#fff;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(94, 36, 78, 0.3);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
border: none;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.modal.fade .modal-dialog {
|
||||
transform: scale(0.85);
|
||||
transition: transform 0.3s ease-out;
|
||||
}
|
||||
.modal.show .modal-dialog {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
background: transparent;
|
||||
border-bottom: none;
|
||||
padding: 25px 25px 10px;
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
color: var(--primary);
|
||||
font-weight: 700;
|
||||
font-size: 1.35rem;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding: 10px 25px 20px;
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
background-color: #f8fafc;
|
||||
border-color: #cbd5e1;
|
||||
color: #64748b;
|
||||
border-top-left-radius: 8px;
|
||||
border-bottom-left-radius: 8px;
|
||||
}
|
||||
|
||||
.form-label {
|
||||
color: #475569;
|
||||
font-weight: 500;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
border: 1px solid #cbd5e1;
|
||||
padding: 0.65rem 0.75rem;
|
||||
font-size: 0.95rem;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-right-radius: 8px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
border-color: var(--secondary);
|
||||
box-shadow: 0 0 0 4px rgba(139, 58, 116, 0.12);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.input-group:focus-within .input-group-text {
|
||||
border-color: var(--secondary);
|
||||
color: var(--secondary);
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
background: transparent;
|
||||
border-top: none;
|
||||
padding: 0 25px 30px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Sidebar -->
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<div class="brand"><i class="fa-solid fa-graduation-cap me-2"></i>Student Portal</div>
|
||||
<nav class="nav flex-column">
|
||||
<a href="#" class="nav-link active"><i class="fa-solid fa-gauge"></i>Dashboard</a>
|
||||
<a href="#" class="nav-link"><i class="fa-solid fa-book"></i>My Courses</a>
|
||||
<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>
|
||||
|
||||
|
||||
|
||||
<!-- Main content -->
|
||||
<div class="main">
|
||||
<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>
|
||||
<!-- <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, Imaa</h4>
|
||||
<p class="text-muted mb-0">Here's what's happening with your studies today.</p>
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
|
|
@ -271,11 +387,13 @@
|
|||
<!-- Stat cards -->
|
||||
<div class="row g-3 mb-4">
|
||||
<div class="col-6 col-lg-3" >
|
||||
|
||||
<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">
|
||||
|
|
@ -294,15 +412,95 @@
|
|||
<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 class="stat-value">2</div>
|
||||
<div class="stat-label">Examination Notices</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3">
|
||||
<!-- Courses -->
|
||||
<div class="col-lg-7">
|
||||
<section class="py-5 overflow-hidden">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5 animate-item fade-up-init" >
|
||||
<h2 class="fw-bold">Student Services</h2>
|
||||
<p class="text-muted">
|
||||
Everything you need during your academic journey.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row g-4 animate-item fade-in-init">
|
||||
<div class="col-md-4">
|
||||
<a href="/mycourse" style="text-decoration: none;">
|
||||
<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 fw-bold">My Courses</h4>
|
||||
<p class="text-muted mb-0">View enrolled courses and learning materials.</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="/timetable" style="text-decoration: none;">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
<div class="portal-icon">
|
||||
<i class="fa-solid fa-calendar-days"></i>
|
||||
</div>
|
||||
<h4 class="mt-4 fw-bold">Class Timetable</h4>
|
||||
<p class="text-muted mb-0">Check your weekly lecture schedule.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="/Assignments" style="text-decoration: none;">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
<div class="portal-icon">
|
||||
<i class="fa-solid fa-file-lines"></i>
|
||||
</div>
|
||||
<h4 class="mt-4 fw-bold">Assignments</h4>
|
||||
<p class="text-muted mb-0">Submit assignments and download resources.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="/results" style="text-decoration: none;">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
<div class="portal-icon">
|
||||
<i class="fa-solid fa-square-poll-vertical"></i>
|
||||
</div>
|
||||
<h4 class="mt-4 fw-bold">Exam Results</h4>
|
||||
<p class="text-muted mb-0">View semester and final examination results.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="/Feedback&Complain" style="text-decoration: none;">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
<div class="portal-icon">
|
||||
<i class="fa-solid fa-credit-card"></i>
|
||||
</div>
|
||||
<h4 class="mt-4 fw-bold">Feedback & Complain Form</h4>
|
||||
<p class="text-muted mb-0">Feedback & Complain Form.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="/StudentProfile" style="text-decoration: none;">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
<div class="portal-icon">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
</div>
|
||||
<h4 class="mt-4 fw-bold">Student Profile</h4>
|
||||
<p class="text-muted mb-0">Update your personal information securely.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- <div class="col-lg-7">
|
||||
<div class="panel mb-3">
|
||||
<h5>My Courses</h5>
|
||||
|
||||
|
|
@ -361,10 +559,10 @@
|
|||
<div class="text-muted text-end" style="font-size:.75rem;">40%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- Exam Results -->
|
||||
<div class="panel">
|
||||
<!-- <div class="panel">
|
||||
<h5>Recent Exam Results</h5>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless align-middle mb-0">
|
||||
|
|
@ -399,10 +597,10 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- Sidebar right column -->
|
||||
<div class="col-lg-5">
|
||||
<!-- <div class="col-lg-5">
|
||||
<div class="panel mb-3">
|
||||
<h5>Upcoming Deadlines</h5>
|
||||
|
||||
|
|
@ -460,7 +658,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,549 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'Student Profile')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
|
||||
body{
|
||||
background:#f6f7fb;
|
||||
}
|
||||
|
||||
|
||||
/* Header */
|
||||
|
||||
.profile-header{
|
||||
|
||||
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||
color:#fff;
|
||||
border-radius:20px;
|
||||
padding:40px;
|
||||
margin-bottom:35px;
|
||||
box-shadow:0 15px 35px rgba(0,0,0,.15);
|
||||
|
||||
}
|
||||
|
||||
|
||||
.profile-header h2{
|
||||
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.profile-header p{
|
||||
|
||||
color:#ddd;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Profile Card */
|
||||
|
||||
.profile-card{
|
||||
|
||||
background:#fff;
|
||||
border-radius:20px;
|
||||
padding:30px;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
height:100%;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Student Image */
|
||||
|
||||
.profile-image{
|
||||
|
||||
width:150px;
|
||||
height:150px;
|
||||
border-radius:50%;
|
||||
object-fit:cover;
|
||||
border:6px solid #d4af37;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.student-name{
|
||||
|
||||
color:#5E244E;
|
||||
font-weight:700;
|
||||
margin-top:15px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.student-id{
|
||||
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
padding:8px 20px;
|
||||
border-radius:50px;
|
||||
display:inline-block;
|
||||
font-size:14px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Information */
|
||||
|
||||
.info-title{
|
||||
|
||||
color:#5E244E;
|
||||
font-weight:700;
|
||||
border-bottom:2px solid #d4af37;
|
||||
padding-bottom:10px;
|
||||
margin-bottom:20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.info-row{
|
||||
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
padding:12px 0;
|
||||
border-bottom:1px solid #eee;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.label{
|
||||
|
||||
color:#777;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.value{
|
||||
|
||||
font-weight:600;
|
||||
color:#333;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Course */
|
||||
|
||||
.course-box{
|
||||
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
padding:25px;
|
||||
border-radius:20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.course-box h4{
|
||||
|
||||
color:#d4af37;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.course-item{
|
||||
|
||||
margin-top:12px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.course-item i{
|
||||
|
||||
color:#d4af37;
|
||||
width:25px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Button */
|
||||
|
||||
.edit-btn{
|
||||
|
||||
background:#d4af37;
|
||||
color:white;
|
||||
border:none;
|
||||
border-radius:50px;
|
||||
padding:12px 30px;
|
||||
font-weight:600;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.edit-btn:hover{
|
||||
|
||||
background:#c49d20;
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
|
||||
<div class="profile-header">
|
||||
|
||||
|
||||
<h2>
|
||||
|
||||
<i class="fas fa-user-graduate"></i>
|
||||
|
||||
Student Profile
|
||||
|
||||
</h2>
|
||||
|
||||
|
||||
<p>
|
||||
|
||||
Manage your personal information and academic details.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
|
||||
<!-- Profile Left -->
|
||||
|
||||
|
||||
<div class="col-lg-4">
|
||||
|
||||
|
||||
<div class="profile-card text-center">
|
||||
|
||||
|
||||
<img src="https://i.pravatar.cc/300"
|
||||
class="profile-image">
|
||||
|
||||
|
||||
|
||||
<h3 class="student-name">
|
||||
|
||||
Kasun Perera
|
||||
|
||||
</h3>
|
||||
|
||||
|
||||
|
||||
<span class="student-id">
|
||||
|
||||
Student ID : AEA20260045
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
|
||||
<button class="edit-btn mt-3">
|
||||
|
||||
<i class="fas fa-edit"></i>
|
||||
|
||||
Edit Profile
|
||||
|
||||
</button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Details -->
|
||||
|
||||
|
||||
<div class="col-lg-8">
|
||||
|
||||
|
||||
<div class="profile-card">
|
||||
|
||||
|
||||
<h4 class="info-title">
|
||||
|
||||
<i class="fas fa-user"></i>
|
||||
|
||||
Personal Information
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Full Name
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
Kasun Perera
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
NIC / Passport
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
200012345678
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Date of Birth
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
15 March 2000
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Gender
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
Male
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Email
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
student@email.com
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Phone
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
+94 77 1234567
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row g-4 mt-1">
|
||||
|
||||
|
||||
<!-- Education -->
|
||||
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
|
||||
<div class="profile-card">
|
||||
|
||||
|
||||
<h4 class="info-title">
|
||||
|
||||
<i class="fas fa-graduation-cap"></i>
|
||||
|
||||
Educational Background
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Qualification
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
NVQ Level 4
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Institute
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
ABC Technical College
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="info-row">
|
||||
|
||||
<span class="label">
|
||||
Year Completed
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
2025
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Course Details -->
|
||||
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
|
||||
<div class="course-box">
|
||||
|
||||
|
||||
<h4>
|
||||
|
||||
<i class="fas fa-car"></i>
|
||||
|
||||
Course Details
|
||||
|
||||
</h4>
|
||||
|
||||
|
||||
|
||||
<div class="course-item">
|
||||
|
||||
<i class="fas fa-book"></i>
|
||||
|
||||
Diploma in Automobile Engineering
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="course-item">
|
||||
|
||||
<i class="fas fa-calendar"></i>
|
||||
|
||||
Duration : 2 Years
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="course-item">
|
||||
|
||||
<i class="fas fa-layer-group"></i>
|
||||
|
||||
Current Semester : Semester 2
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="course-item">
|
||||
|
||||
<i class="fas fa-user-tie"></i>
|
||||
|
||||
Trainer : Mr. Nimal Silva
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -0,0 +1,474 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'Student Guidelines')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
|
||||
body{
|
||||
background:#f6f7fb;
|
||||
}
|
||||
|
||||
/*==========================
|
||||
Hero
|
||||
===========================*/
|
||||
|
||||
.guideline-hero{
|
||||
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||
border-radius:20px;
|
||||
padding:45px;
|
||||
color:#fff;
|
||||
margin-bottom:35px;
|
||||
box-shadow:0 18px 40px rgba(0,0,0,.12);
|
||||
}
|
||||
|
||||
.guideline-hero h2{
|
||||
font-weight:700;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
.guideline-hero p{
|
||||
color:#ececec;
|
||||
margin-bottom:0;
|
||||
font-size:15px;
|
||||
}
|
||||
|
||||
/*==========================
|
||||
Cards
|
||||
===========================*/
|
||||
|
||||
.guide-card{
|
||||
|
||||
background:#fff;
|
||||
border:none;
|
||||
border-radius:20px;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
transition:.3s;
|
||||
overflow:hidden;
|
||||
height:100%;
|
||||
|
||||
}
|
||||
|
||||
.guide-card:hover{
|
||||
|
||||
transform:translateY(-6px);
|
||||
|
||||
}
|
||||
|
||||
.card-head{
|
||||
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
padding:18px 22px;
|
||||
|
||||
}
|
||||
|
||||
.card-head h5{
|
||||
|
||||
margin:0;
|
||||
font-weight:600;
|
||||
|
||||
}
|
||||
|
||||
.card-head i{
|
||||
|
||||
color:#d4af37;
|
||||
margin-right:10px;
|
||||
|
||||
}
|
||||
|
||||
.card-body{
|
||||
|
||||
padding:22px;
|
||||
|
||||
}
|
||||
|
||||
.card-body ul{
|
||||
|
||||
padding-left:20px;
|
||||
|
||||
}
|
||||
|
||||
.card-body li{
|
||||
|
||||
margin-bottom:10px;
|
||||
color:#555;
|
||||
|
||||
}
|
||||
|
||||
/*==========================
|
||||
Alert
|
||||
===========================*/
|
||||
|
||||
.notice{
|
||||
|
||||
background:#fff7e4;
|
||||
border-left:6px solid #d4af37;
|
||||
border-radius:16px;
|
||||
padding:22px;
|
||||
margin-top:35px;
|
||||
box-shadow:0 8px 25px rgba(0,0,0,.06);
|
||||
|
||||
}
|
||||
|
||||
.notice h5{
|
||||
|
||||
color:#5E244E;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
.notice p{
|
||||
|
||||
margin-bottom:0;
|
||||
color:#555;
|
||||
|
||||
}
|
||||
|
||||
/*==========================
|
||||
Contact
|
||||
===========================*/
|
||||
|
||||
.contact-card{
|
||||
|
||||
margin-top:35px;
|
||||
border-radius:20px;
|
||||
background:#4a1c3e;
|
||||
color:#fff;
|
||||
padding:35px;
|
||||
box-shadow:0 12px 35px rgba(0,0,0,.12);
|
||||
|
||||
}
|
||||
|
||||
.contact-card h4{
|
||||
|
||||
color:#d4af37;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
.contact-item{
|
||||
|
||||
margin-top:18px;
|
||||
font-size:15px;
|
||||
|
||||
}
|
||||
|
||||
.contact-item i{
|
||||
|
||||
color:#d4af37;
|
||||
width:28px;
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
<!-- Hero -->
|
||||
|
||||
<div class="guideline-hero">
|
||||
|
||||
<h2>
|
||||
<i class="fas fa-book-open"></i>
|
||||
Student Guidelines
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
Welcome to the Automobile Engineering Academy. These guidelines are
|
||||
designed to help every student maintain professionalism, safety,
|
||||
discipline, and academic excellence throughout the training programme.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<!-- Classroom -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-chalkboard-teacher"></i>
|
||||
Classroom Rules
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Attend every class on time.</li>
|
||||
|
||||
<li>Maintain discipline and respect lecturers.</li>
|
||||
|
||||
<li>Switch mobile phones to silent mode.</li>
|
||||
|
||||
<li>Complete all assignments before deadlines.</li>
|
||||
|
||||
<li>Keep classrooms clean and organized.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Workshop -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-tools"></i>
|
||||
Workshop Safety
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Wear PPE before entering workshops.</li>
|
||||
|
||||
<li>Follow instructor safety instructions.</li>
|
||||
|
||||
<li>Never operate equipment without permission.</li>
|
||||
|
||||
<li>Report damaged tools immediately.</li>
|
||||
|
||||
<li>Keep workstations clean after practical sessions.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Attendance -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-user-check"></i>
|
||||
Attendance Policy
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Minimum attendance requirement is 80%.</li>
|
||||
|
||||
<li>Medical leave must be supported by documents.</li>
|
||||
|
||||
<li>Repeated absence may affect examinations.</li>
|
||||
|
||||
<li>Late arrivals will be recorded.</li>
|
||||
|
||||
<li>Inform the administration if absent.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Dress -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-user-tie"></i>
|
||||
Uniform & PPE
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Wear academy uniform during lectures.</li>
|
||||
|
||||
<li>Safety shoes are compulsory.</li>
|
||||
|
||||
<li>Use gloves and safety glasses.</li>
|
||||
|
||||
<li>Long hair must be tied properly.</li>
|
||||
|
||||
<li>ID card must be visible at all times.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Assessment -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-file-alt"></i>
|
||||
Assessment Rules
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Submit assignments before due dates.</li>
|
||||
|
||||
<li>No plagiarism is permitted.</li>
|
||||
|
||||
<li>Bring required materials for practical tests.</li>
|
||||
|
||||
<li>Follow examination regulations.</li>
|
||||
|
||||
<li>Maintain academic honesty.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Conduct -->
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="guide-card">
|
||||
|
||||
<div class="card-head">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-handshake"></i>
|
||||
Student Conduct
|
||||
</h5>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Respect staff and fellow students.</li>
|
||||
|
||||
<li>Protect academy property.</li>
|
||||
|
||||
<li>Do not smoke inside the campus.</li>
|
||||
|
||||
<li>Avoid discrimination and harassment.</li>
|
||||
|
||||
<li>Represent the academy professionally.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Notice -->
|
||||
|
||||
<div class="notice">
|
||||
|
||||
<h5>
|
||||
<i class="fas fa-exclamation-circle text-warning"></i>
|
||||
Important Notice
|
||||
</h5>
|
||||
|
||||
<p>
|
||||
|
||||
Students who fail to follow academy regulations may face disciplinary
|
||||
action according to the Automobile Engineering Academy Student Policy.
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Contact -->
|
||||
|
||||
<div class="contact-card">
|
||||
|
||||
<h4>
|
||||
|
||||
<i class="fas fa-headset"></i>
|
||||
Student Support
|
||||
|
||||
</h4>
|
||||
|
||||
<p class="mt-3">
|
||||
|
||||
If you have any questions regarding academic regulations,
|
||||
attendance, workshop safety, or student services, please contact
|
||||
the Student Affairs Office.
|
||||
|
||||
</p>
|
||||
|
||||
<div class="contact-item">
|
||||
|
||||
<i class="fas fa-envelope"></i>
|
||||
support@academy.lk
|
||||
|
||||
</div>
|
||||
|
||||
<div class="contact-item">
|
||||
|
||||
<i class="fas fa-phone"></i>
|
||||
+94 11 234 5678
|
||||
|
||||
</div>
|
||||
|
||||
<div class="contact-item">
|
||||
|
||||
<i class="fas fa-map-marker-alt"></i>
|
||||
Automobile Engineering Academy
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -158,6 +158,12 @@
|
|||
.slideIn {
|
||||
animation-name: slideIn;
|
||||
}
|
||||
|
||||
@media (min-width: 1400px) {
|
||||
.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
|
||||
max-width: 1435px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -215,8 +221,8 @@
|
|||
|
||||
<ul class="dropdown-menu dropdown-menu-md-end shadow animate slideIn" aria-labelledby="userMenu">
|
||||
<li>
|
||||
<a class="dropdown-item" href="/profile">
|
||||
<i class="fa-solid fa-user me-2"></i> Profile
|
||||
<a class="dropdown-item" href="{{ route('profile.view') }}">
|
||||
<i class="fa-solid fa-user "></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
|
|
@ -228,7 +234,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
@else
|
||||
<div class="d-flex gap-2">
|
||||
<div class="d-flex gap-2" style="padding-left:214px;">
|
||||
<a href="/signin" class="btn btn-outline-light btn-sm px-3">Sign In</a>
|
||||
<a href="/signup" class="btn btn-warning btn-sm px-3">Register</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,276 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Responsive Student Portal</title>
|
||||
|
||||
<!-- Font Awesome Icons -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
|
||||
<style>
|
||||
/* Global Root Variables */
|
||||
:root {
|
||||
--primary: #2c3e50;
|
||||
--background: #f8f9fa;
|
||||
--sidebar-width: 260px;
|
||||
--text-color: #333;
|
||||
--sidebar-bg: #744a68;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--text-color);
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/* ---------- Sidebar Style ---------- */
|
||||
.sidebar {
|
||||
width: var(--sidebar-width);
|
||||
height: 100vh;
|
||||
background: var(--sidebar-bg);
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 24px 0;
|
||||
transition: all 0.3s ease;
|
||||
z-index: 1030;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar .brand {
|
||||
padding: 0 24px 24px;
|
||||
font-weight: 700;
|
||||
font-size: 1.2rem;
|
||||
border-bottom: 1px solid rgba(255,255,255,.12);
|
||||
margin-bottom: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.sidebar .nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
overflow-y: auto; /* Enables scrolling inside sidebar if menu items overflow */
|
||||
}
|
||||
|
||||
.sidebar .nav-link {
|
||||
color: rgba(255,255,255,.75);
|
||||
padding: 14px 24px;
|
||||
font-size: .95rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
transition: .2s;
|
||||
border-left: 3px solid transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sidebar .nav-link i {
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.sidebar .nav-link:hover {
|
||||
background: rgba(255,255,255,.06);
|
||||
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);
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
.sidebar .logout-link:hover {
|
||||
color: #fff;
|
||||
background: rgba(220,53,69,.25);
|
||||
}
|
||||
|
||||
/* ---------- Main Content Layout ---------- */
|
||||
.main {
|
||||
margin-left: var(--sidebar-width);
|
||||
flex-grow: 1;
|
||||
padding: 30px;
|
||||
transition: all 0.3s ease;
|
||||
min-height: 100vh;
|
||||
width: calc(100% - var(--sidebar-width));
|
||||
}
|
||||
|
||||
/* Mobile Header Toggle Bar */
|
||||
.mobile-header {
|
||||
display: none;
|
||||
background: #fff;
|
||||
padding: 15px 20px;
|
||||
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1020;
|
||||
}
|
||||
|
||||
.sidebar-toggle {
|
||||
background: none;
|
||||
border: none;
|
||||
font-size: 1.5rem;
|
||||
cursor: pointer;
|
||||
color: var(--primary);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.mobile-brand {
|
||||
font-weight: 700;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
/* Content container placeholder styling */
|
||||
.content-body {
|
||||
background: #fff;
|
||||
padding: 24px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
|
||||
}
|
||||
|
||||
/* Overlay Background when sidebar open on Mobile */
|
||||
.sidebar-overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0,0,0,0.4);
|
||||
z-index: 1025;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-overlay.show {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ---------- Responsive Media Queries (Mobile & Tablets) ---------- */
|
||||
@media (max-width: 991px) {
|
||||
.sidebar {
|
||||
left: calc(-1 * var(--sidebar-width));
|
||||
}
|
||||
|
||||
.sidebar.show {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-left: 0;
|
||||
padding: 90px 20px 20px 20px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mobile-header {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Mobile Top Navigation Bar -->
|
||||
<header class="mobile-header">
|
||||
<button class="sidebar-toggle" id="toggleBtn" aria-label="Toggle Sidebar">
|
||||
<i class="fa-solid fa-bars"></i>
|
||||
</button>
|
||||
<div class="mobile-brand">Student Portal</div>
|
||||
<div style="width: 24px;"></div> <!-- Balancer for flex alignment -->
|
||||
</header>
|
||||
|
||||
<!-- Overlay dim background element -->
|
||||
<div class="sidebar-overlay" id="sidebarOverlay"></div>
|
||||
|
||||
<!-- Sidebar Navigation -->
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<div class="brand">
|
||||
<i class="fa-solid fa-graduation-cap"></i> Student Portal
|
||||
</div>
|
||||
|
||||
<nav class="nav">
|
||||
<a href="/Dashboard" class="nav-link active">
|
||||
<i class="fa-solid fa-gauge"></i>Dashboard
|
||||
</a>
|
||||
<a href="/mycourse" class="nav-link">
|
||||
<i class="fa-solid fa-book"></i>My Courses
|
||||
</a>
|
||||
<a href="/timetable" class="nav-link">
|
||||
<i class="fa-solid fa-calendar-days"></i>Class Timetable
|
||||
</a>
|
||||
<a href="/Assignments" class="nav-link">
|
||||
<i class="fa-solid fa-file-lines"></i>Assignments
|
||||
</a>
|
||||
<a href="/results" class="nav-link">
|
||||
<i class="fa-solid fa-square-poll-vertical"></i>Exam Results
|
||||
</a>
|
||||
<a href="/Studentguidelines" class="nav-link">
|
||||
<i class="fa-solid fa-credit-card"></i>Student Guidelines
|
||||
</a>
|
||||
<a href="/Feedback&Complain" class="nav-link">
|
||||
<i class="fa-solid fa-credit-card"></i>Feedback & Complain
|
||||
</a>
|
||||
<a href="/StudentProfile" class="nav-link">
|
||||
<i class="fa-solid fa-user"></i>Student Profile
|
||||
</a>
|
||||
|
||||
<a href="student-portal-fixed.html" class="nav-link logout-link">
|
||||
<i class="fa-solid fa-right-from-bracket"></i>Logout
|
||||
</a>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<!-- Main Content Area -->
|
||||
<main class="main">
|
||||
<div class="content-body">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- Sidebar Toggle JavaScript -->
|
||||
<script>
|
||||
const toggleBtn = document.getElementById('toggleBtn');
|
||||
const sidebar = document.getElementById('sidebar');
|
||||
const overlay = document.getElementById('sidebarOverlay');
|
||||
|
||||
// Function to toggle sidebar view
|
||||
toggleBtn.addEventListener('click', () => {
|
||||
sidebar.classList.toggle('show');
|
||||
overlay.classList.toggle('show');
|
||||
});
|
||||
|
||||
// Close sidebar if user clicks outside of it (on the dim background overlay)
|
||||
overlay.addEventListener('click', () => {
|
||||
sidebar.classList.remove('show');
|
||||
overlay.classList.remove('show');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,354 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'My Course')
|
||||
|
||||
@section('content')
|
||||
|
||||
<!-- Bootstrap 5, FontAwesome සහ Google Fonts හරියටම Load කරගන්න (CDN) -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="family">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--purple-main: #5E244E;
|
||||
--purple-dark: #4a1c3e;
|
||||
--purple-light: #744a68;
|
||||
--gold-accent: #D4AF37;
|
||||
--gold-hover: #b8972e;
|
||||
--bg-light: #f8fafc;
|
||||
--white: #ffffff;
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--bg-light);
|
||||
font-family: 'Poppins', sans-serif;
|
||||
}
|
||||
|
||||
.main-portal-content {
|
||||
margin-left: 260px;
|
||||
padding: 40px;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
/* Premium Hero Section */
|
||||
.hero {
|
||||
background: linear-gradient(135deg, var(--purple-main) 0%, var(--purple-dark) 100%) !important;
|
||||
color: var(--white) !important;
|
||||
border-radius: 20px;
|
||||
padding: 45px;
|
||||
margin-bottom: 35px;
|
||||
box-shadow: 0 10px 30px rgba(74, 28, 62, 0.15);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hero::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -30%;
|
||||
right: -10%;
|
||||
width: 350px;
|
||||
height: 350px;
|
||||
background: rgba(255, 255, 255, 0.04);
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Course Card */
|
||||
.course-card {
|
||||
border: none !important;
|
||||
border-radius: 20px !important;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
|
||||
background: var(--white);
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.course-card img {
|
||||
height: 280px;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Sidebar Info Boxes */
|
||||
.info-box {
|
||||
border-radius: 16px !important;
|
||||
padding: 20px 24px;
|
||||
background: var(--white);
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
|
||||
border: 1px solid rgba(94, 36, 78, 0.05) !important;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.info-box:hover {
|
||||
transform: translateY(-3px);
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
|
||||
}
|
||||
|
||||
.stat-icon {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 12px;
|
||||
font-size: 18px;
|
||||
background: rgba(94, 36, 78, 0.08);
|
||||
color: var(--purple-main);
|
||||
}
|
||||
|
||||
/* Modules Card */
|
||||
.module-card {
|
||||
border: 1px solid rgba(94, 36, 78, 0.06) !important;
|
||||
border-radius: 16px !important;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
background: var(--white);
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
|
||||
}
|
||||
|
||||
.module-card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08) !important;
|
||||
border-color: var(--purple-light) !important;
|
||||
}
|
||||
|
||||
/* Progress bar customizations */
|
||||
.progress {
|
||||
height: 10px !important;
|
||||
border-radius: 50px !important;
|
||||
background-color: #f1f5f9 !important;
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
border-radius: 50px !important;
|
||||
background: linear-gradient(90deg, var(--gold-accent), #f4d05e) !important;
|
||||
}
|
||||
|
||||
/* Status Badges */
|
||||
.status {
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
padding: 5px 14px;
|
||||
border-radius: 50px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.completed { background: rgba(94, 36, 78, 0.1); color: var(--purple-main); }
|
||||
.progressing { background: rgba(212, 175, 55, 0.15); color: #9c7e1c; }
|
||||
.locked { background: #f1f5f9; color: #64748b; }
|
||||
|
||||
/* Custom Buttons */
|
||||
.btn-gold {
|
||||
background-color: var(--gold-accent) !important;
|
||||
border-color: var(--gold-accent) !important;
|
||||
color: #fff !important;
|
||||
border-radius: 10px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.btn-gold:hover { background-color: var(--gold-hover) !important; }
|
||||
|
||||
.btn-purple {
|
||||
background-color: var(--purple-main) !important;
|
||||
border-color: var(--purple-main) !important;
|
||||
color: #fff !important;
|
||||
border-radius: 10px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.btn-purple:hover { background-color: var(--purple-dark) !important; }
|
||||
|
||||
.btn-continue {
|
||||
background-color: #fff !important;
|
||||
color: var(--purple-main) !important;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.btn-continue:hover { background-color: #f1f5f9 !important; }
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.main-portal-content { margin-left: 0; padding: 20px 15px; }
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="main-portal-content">
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Hero Section -->
|
||||
<div class="hero p-4 p-md-5 mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-9 col-md-8 text-start">
|
||||
<h1 class="fw-bold display-6 mb-2">Diploma in Automotive Engineering</h1>
|
||||
<p class="lead mb-4 small opacity-75">Welcome back! Continue your learning journey and complete all modules.</p>
|
||||
<a href="#" class="btn btn-continue px-4 py-2 fw-semibold shadow-sm">
|
||||
<i class="fa fa-play me-2"></i> Continue Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-4 text-center d-none d-md-block">
|
||||
<i class="fa-solid fa-car-side" style="font-size:100px; opacity:.2; color: var(--gold-accent);"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Main Content Grid -->
|
||||
<div class="row g-4">
|
||||
|
||||
<!-- LEFT COLUMN: Course details & Modules -->
|
||||
<div class="col-lg-8 col-12">
|
||||
|
||||
<!-- Main Course Card -->
|
||||
<div class="card course-card">
|
||||
<img src="https://images.unsplash.com/photo-1486262715619-67b85e0b08d3?auto=format&fit=crop&w=1200&q=80" alt="Course Image">
|
||||
<div class="card-body p-4">
|
||||
<div class="d-flex justify-content-between align-items-start mb-3">
|
||||
<div>
|
||||
<h3 class="fw-bold text-dark mb-1">AE101</h3>
|
||||
<p class="text-muted small mb-0">
|
||||
<i class="fa-solid fa-building me-1" style="color: var(--purple-light);"></i> Automotive Engineering Department
|
||||
</p>
|
||||
</div>
|
||||
<span class="badge bg-dark px-3 py-2 rounded-pill">Diploma</span>
|
||||
</div>
|
||||
|
||||
<p class="text-secondary small lh-base">
|
||||
Master engine diagnostics, suspension systems, transmission technology, electrical systems and hybrid vehicle maintenance.
|
||||
</p>
|
||||
|
||||
<div class="mt-4">
|
||||
<div class="d-flex justify-content-between mb-2 small">
|
||||
<span class="text-dark fw-semibold">Overall Progress</span>
|
||||
<span class="fw-bold" style="color: var(--purple-main);">55%</span>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar" style="width:55%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modules Header -->
|
||||
<div class="mt-5 mb-4">
|
||||
<h4 class="fw-bold" style="color: var(--purple-dark);">
|
||||
<i class="fa-solid fa-list-check me-2" style="color: var(--gold-accent);"></i> Course Modules
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<!-- Modules Sub-Grid -->
|
||||
<div class="row g-4">
|
||||
<!-- Module 1 -->
|
||||
<div class="col-md-6 col-12">
|
||||
<div class="card module-card h-100">
|
||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||
<div>
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<h6 class="fw-bold text-dark mb-0">Engine Fundamentals</h6>
|
||||
<span class="status completed">Completed</span>
|
||||
</div>
|
||||
<p class="text-muted small">Learn engine parts and working principles.</p>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<button class="btn btn-purple w-100 btn-sm py-2">Review Module</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Module 2 -->
|
||||
<div class="col-md-6 col-12">
|
||||
<div class="card module-card h-100">
|
||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||
<div>
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<h6 class="fw-bold text-dark mb-0">Transmission Systems</h6>
|
||||
<span class="status progressing">In Progress</span>
|
||||
</div>
|
||||
<p class="text-muted small">Manual & Automatic transmission systems.</p>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<button class="btn btn-gold w-100 btn-sm py-2">Continue Learning</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Module 3 -->
|
||||
<div class="col-md-6 col-12">
|
||||
<div class="card module-card h-100">
|
||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||
<div>
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<h6 class="fw-bold text-secondary mb-0">Brake Systems</h6>
|
||||
<span class="status locked"><i class="fa fa-lock me-1"></i> Locked</span>
|
||||
</div>
|
||||
<p class="text-muted small">Complete previous module to unlock.</p>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<button class="btn btn-secondary w-100 btn-sm py-2" disabled>Locked</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Module 4 -->
|
||||
<div class="col-md-6 col-12">
|
||||
<div class="card module-card h-100">
|
||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||
<div>
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<h6 class="fw-bold text-secondary mb-0">Hybrid Technology</h6>
|
||||
<span class="status locked"><i class="fa fa-lock me-1"></i> Locked</span>
|
||||
</div>
|
||||
<p class="text-muted small">Learn EV and Hybrid systems.</p>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<button class="btn btn-secondary w-100 btn-sm py-2" disabled>Locked</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- RIGHT COLUMN: Sidebar Statistics -->
|
||||
<div class="col-lg-4 col-12">
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<div class="info-box d-flex align-items-center">
|
||||
<div class="stat-icon"><i class="fa fa-book"></i></div>
|
||||
<div class="ms-3">
|
||||
<h5 class="fw-bold mb-0" style="color: var(--purple-dark);">12</h5>
|
||||
<span class="text-muted small">Modules Available</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="info-box d-flex align-items-center">
|
||||
<div class="stat-icon"><i class="fa fa-clock"></i></div>
|
||||
<div class="ms-3">
|
||||
<h5 class="fw-bold mb-0" style="color: var(--purple-dark);">2 Years</h5>
|
||||
<span class="text-muted small">Course Duration</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="info-box d-flex align-items-center">
|
||||
<div class="stat-icon"><i class="fa fa-award"></i></div>
|
||||
<div class="ms-3">
|
||||
<h5 class="fw-bold mb-0" style="color: var(--purple-dark);">NVQ Level 5</h5>
|
||||
<span class="text-muted small">Qualification</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- End Row -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
@endsection
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<style>
|
||||
.profile-card {
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
|
||||
background: #ffffff;
|
||||
}
|
||||
.profile-header {
|
||||
|
||||
background: linear-gradient(135deg, #3d0c3d 0%, #5c1d5c 100%);
|
||||
padding: 1.25rem 1.5rem;
|
||||
border-top-left-radius: 12px !important;
|
||||
border-top-right-radius: 12px !important;
|
||||
}
|
||||
.profile-info-row {
|
||||
padding: 0.9rem 0;
|
||||
border-bottom: 1px solid #f1f1f4;
|
||||
}
|
||||
.profile-info-row:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
.profile-label {
|
||||
color: #6c757d;
|
||||
font-weight: 600;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
.profile-value {
|
||||
color: #212529;
|
||||
font-weight: 500;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
.btn-edit {
|
||||
background-color: #5c1d5c;
|
||||
color: white;
|
||||
border-radius: 6px;
|
||||
padding: 0.5rem 1.5rem;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s ease;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
.btn-edit:hover {
|
||||
background-color: #3d0c3d;
|
||||
color: white;
|
||||
box-shadow: 0 4px 10px rgba(92, 29, 92, 0.3);
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container mt-5 mb-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
|
||||
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible fade show mb-4" role="alert" style="border-radius: 8px;">
|
||||
<i class="bi bi-check-circle-fill me-2"></i> {{ session('success') }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<div class="card profile-card">
|
||||
|
||||
<!-- Purple Header -->
|
||||
<div class="card-header profile-header text-white">
|
||||
<h4 class="mb-0 fw-bold" style="font-size: 1.25rem;">User Profile Dashboard</h4>
|
||||
</div>
|
||||
|
||||
<div class="card-body p-4">
|
||||
<!-- Name -->
|
||||
<div class="row profile-info-row align-items-center">
|
||||
<div class="col-md-4 profile-label">Full Name:</div>
|
||||
<div class="col-md-8 profile-value">{{ $user->first_name . ' ' . $user->last_name }}</div>
|
||||
</div>
|
||||
|
||||
<!-- Email -->
|
||||
<div class="row profile-info-row align-items-center">
|
||||
<div class="col-md-4 profile-label">Email Address:</div>
|
||||
<div class="col-md-8 profile-value">{{ $user->email }}</div>
|
||||
</div>
|
||||
|
||||
<!-- Phone -->
|
||||
<div class="row profile-info-row align-items-center">
|
||||
<div class="col-md-4 profile-label">Phone Number:</div>
|
||||
<div class="col-md-8 profile-value">
|
||||
{{ $user->phone ?? 'Not Provided' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Created At -->
|
||||
<div class="row profile-info-row align-items-center">
|
||||
<div class="col-md-4 profile-label">Account Created:</div>
|
||||
<div class="col-md-8 profile-value text-muted">
|
||||
{{ $user->created_at ? $user->created_at->format('Y-m-d H:i') : 'N/A' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Updated At -->
|
||||
<div class="row profile-info-row align-items-center">
|
||||
<div class="col-md-4 profile-label">Last Updated:</div>
|
||||
<div class="col-md-8 profile-value text-muted">
|
||||
{{ $user->updated_at ? $user->updated_at->format('Y-m-d H:i') : 'N/A' }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Edit Button -->
|
||||
<div class="mt-4 text-end">
|
||||
<!-- <a href="#" class="btn btn-edit">Edit Profile</a> -->
|
||||
<div class="mt-4 text-end">
|
||||
<button type="button" class="btn btn-edit" data-bs-toggle="modal" data-bs-target="#editProfileModal">
|
||||
Edit Profile
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="modal fade" id="editProfileModal" tabindex="-1" aria-labelledby="editProfileModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content" style="border-radius: 12px; overflow: hidden;">
|
||||
|
||||
<!-- Modal Header (Oyage purple theme ekata match kala) -->
|
||||
<div class="modal-header text-white" style="background: linear-gradient(135deg, #3d0c3d 0%, #5c1d5c 100%);">
|
||||
<h5 class="modal-title fw-bold" id="editProfileModalLabel">Update Profile Details</h5>
|
||||
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
|
||||
|
||||
<form action="{{ route('profile.update') }}" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
|
||||
<div class="modal-body p-4">
|
||||
|
||||
<!-- First Name Input -->
|
||||
<div class="mb-3">
|
||||
<label for="first_name" class="form-label fw-bold" style="color: #6c757d;">First Name</label>
|
||||
<input type="text" class="form-control" id="first_name" name="first_name" value="{{ $user->first_name }}" required>
|
||||
</div>
|
||||
|
||||
<!-- Last Name Input -->
|
||||
<div class="mb-3">
|
||||
<label for="last_name" class="form-label fw-bold" style="color: #6c757d;">Last Name</label>
|
||||
<input type="text" class="form-control" id="last_name" name="last_name" value="{{ $user->last_name }}" required>
|
||||
</div>
|
||||
|
||||
<!-- Phone Input -->
|
||||
<div class="mb-3">
|
||||
<label for="phone" class="form-label fw-bold" style="color: #6c757d;">Phone Number</label>
|
||||
<input type="text" class="form-control" id="phone" name="phone" value="{{ $user->phone }}">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Modal Footer Buttons -->
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="submit" class="btn text-white" style="background-color: #5c1d5c;">Save Changes</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,528 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title','Results')
|
||||
|
||||
@section('content')
|
||||
|
||||
<style>
|
||||
|
||||
body{
|
||||
background:#f6f7fb;
|
||||
}
|
||||
|
||||
/* =======================
|
||||
Hero
|
||||
======================= */
|
||||
|
||||
.result-hero{
|
||||
|
||||
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||
color:#fff;
|
||||
border-radius:20px;
|
||||
padding:40px;
|
||||
margin-bottom:30px;
|
||||
box-shadow:0 15px 35px rgba(0,0,0,.15);
|
||||
|
||||
}
|
||||
|
||||
.result-hero h2{
|
||||
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
.result-hero p{
|
||||
|
||||
color:#ddd;
|
||||
margin-bottom:0;
|
||||
|
||||
}
|
||||
|
||||
/* =======================
|
||||
Summary Cards
|
||||
======================= */
|
||||
|
||||
.summary-card{
|
||||
|
||||
background:#fff;
|
||||
border:none;
|
||||
border-radius:20px;
|
||||
padding:25px;
|
||||
text-align:center;
|
||||
box-shadow:0 10px 25px rgba(0,0,0,.08);
|
||||
transition:.3s;
|
||||
|
||||
}
|
||||
|
||||
.summary-card:hover{
|
||||
|
||||
transform:translateY(-5px);
|
||||
|
||||
}
|
||||
|
||||
.summary-card i{
|
||||
|
||||
font-size:40px;
|
||||
color:#5E244E;
|
||||
margin-bottom:15px;
|
||||
|
||||
}
|
||||
|
||||
.summary-card h3{
|
||||
|
||||
color:#5E244E;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
.summary-card small{
|
||||
|
||||
color:#777;
|
||||
|
||||
}
|
||||
|
||||
/* =======================
|
||||
Result Table
|
||||
======================= */
|
||||
|
||||
.result-card{
|
||||
|
||||
margin-top:35px;
|
||||
background:#fff;
|
||||
border-radius:20px;
|
||||
overflow:hidden;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
|
||||
}
|
||||
|
||||
.table-head{
|
||||
|
||||
background:#5E244E;
|
||||
color:#fff;
|
||||
padding:18px 25px;
|
||||
|
||||
}
|
||||
|
||||
.table{
|
||||
|
||||
margin-bottom:0;
|
||||
|
||||
}
|
||||
|
||||
.table th{
|
||||
|
||||
background:#744a68;
|
||||
color:#fff;
|
||||
border:none;
|
||||
|
||||
}
|
||||
|
||||
.table td{
|
||||
|
||||
vertical-align:middle;
|
||||
|
||||
}
|
||||
|
||||
.grade{
|
||||
|
||||
padding:7px 15px;
|
||||
border-radius:30px;
|
||||
font-weight:600;
|
||||
color:#fff;
|
||||
display:inline-block;
|
||||
|
||||
}
|
||||
|
||||
.a{
|
||||
|
||||
background:#28a745;
|
||||
|
||||
}
|
||||
|
||||
.b{
|
||||
|
||||
background:#17a2b8;
|
||||
|
||||
}
|
||||
|
||||
.c{
|
||||
|
||||
background:#ffc107;
|
||||
color:#222;
|
||||
|
||||
}
|
||||
|
||||
.fail{
|
||||
|
||||
background:#dc3545;
|
||||
|
||||
}
|
||||
|
||||
/* =======================
|
||||
Progress
|
||||
======================= */
|
||||
|
||||
.progress{
|
||||
|
||||
height:10px;
|
||||
border-radius:20px;
|
||||
|
||||
}
|
||||
|
||||
/* =======================
|
||||
Download
|
||||
======================= */
|
||||
|
||||
.download-card{
|
||||
|
||||
margin-top:30px;
|
||||
background:#4a1c3e;
|
||||
color:#fff;
|
||||
border-radius:20px;
|
||||
padding:30px;
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
align-items:center;
|
||||
flex-wrap:wrap;
|
||||
|
||||
}
|
||||
|
||||
.download-card h4{
|
||||
|
||||
color:#d4af37;
|
||||
font-weight:700;
|
||||
|
||||
}
|
||||
|
||||
.btn-result{
|
||||
|
||||
background:#d4af37;
|
||||
color:#fff;
|
||||
border:none;
|
||||
border-radius:50px;
|
||||
padding:12px 30px;
|
||||
font-weight:600;
|
||||
|
||||
}
|
||||
|
||||
.btn-result:hover{
|
||||
|
||||
background:#c49d20;
|
||||
color:#fff;
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
<!-- Hero -->
|
||||
|
||||
<div class="result-hero">
|
||||
|
||||
<h2>
|
||||
|
||||
<i class="fas fa-award"></i>
|
||||
|
||||
Academic Results
|
||||
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
|
||||
View your examination results and academic performance.
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Summary -->
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4 mb-4">
|
||||
|
||||
<div class="summary-card">
|
||||
|
||||
<i class="fas fa-chart-line"></i>
|
||||
|
||||
<h3>82%</h3>
|
||||
|
||||
<small>Overall Average</small>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4">
|
||||
|
||||
<div class="summary-card">
|
||||
|
||||
<i class="fas fa-medal"></i>
|
||||
|
||||
<h3>3.65</h3>
|
||||
|
||||
<small>Current GPA</small>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4">
|
||||
|
||||
<div class="summary-card">
|
||||
|
||||
<i class="fas fa-book"></i>
|
||||
|
||||
<h3>6 / 6</h3>
|
||||
|
||||
<small>Modules Passed</small>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Result Table -->
|
||||
|
||||
<div class="result-card">
|
||||
|
||||
<div class="table-head">
|
||||
|
||||
<h4 class="mb-0">
|
||||
|
||||
Semester Results
|
||||
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<table class="table table-hover">
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>Module</th>
|
||||
<th>Marks</th>
|
||||
<th>Grade</th>
|
||||
<th>Status</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Engine Technology</td>
|
||||
|
||||
<td>91</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade a">
|
||||
|
||||
A+
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Brake Systems</td>
|
||||
|
||||
<td>84</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade a">
|
||||
|
||||
A
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Electrical Systems</td>
|
||||
|
||||
<td>79</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade b">
|
||||
|
||||
B+
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Transmission Systems</td>
|
||||
|
||||
<td>74</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade b">
|
||||
|
||||
B
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Workshop Practice</td>
|
||||
|
||||
<td>88</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade a">
|
||||
|
||||
A
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Industrial Safety</td>
|
||||
|
||||
<td>81</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="grade a">
|
||||
|
||||
A-
|
||||
|
||||
</span>
|
||||
|
||||
</td>
|
||||
|
||||
<td>Pass</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Performance -->
|
||||
|
||||
<div class="result-card mt-4">
|
||||
|
||||
<div class="table-head">
|
||||
|
||||
<h4 class="mb-0">
|
||||
|
||||
Overall Performance
|
||||
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="p-4">
|
||||
|
||||
<p class="mb-2">
|
||||
|
||||
Course Completion
|
||||
|
||||
</p>
|
||||
|
||||
<div class="progress mb-4">
|
||||
|
||||
<div class="progress-bar bg-success"
|
||||
|
||||
style="width:82%">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p class="mb-2">
|
||||
|
||||
Attendance Score
|
||||
|
||||
</p>
|
||||
|
||||
<div class="progress">
|
||||
|
||||
<div class="progress-bar bg-warning"
|
||||
|
||||
style="width:90%">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Download -->
|
||||
|
||||
<div class="download-card">
|
||||
|
||||
<div>
|
||||
|
||||
<h4>
|
||||
|
||||
Download Official Result Sheet
|
||||
|
||||
</h4>
|
||||
|
||||
<p class="mb-0">
|
||||
|
||||
Download your latest semester examination results in PDF format.
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<button class="btn btn-result">
|
||||
|
||||
<i class="fas fa-download"></i>
|
||||
|
||||
Download PDF
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -81,7 +81,8 @@ body {
|
|||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
/* Modal එක Open වෙද්දී Zoom-In වෙන්න */
|
||||
|
||||
|
||||
.modal.fade .modal-dialog {
|
||||
transform: scale(0.85);
|
||||
transition: transform 0.3s ease-out;
|
||||
|
|
@ -235,7 +236,7 @@ body {
|
|||
</p>
|
||||
</div>
|
||||
|
||||
<!-- සේවා කාඩ් සියල්ල එකපාර ලස්සනට Fade-in වේ -->
|
||||
|
||||
<div class="row g-4 animate-item fade-in-init">
|
||||
<div class="col-md-4">
|
||||
<div class="card portal-card h-100 text-center p-4">
|
||||
|
|
@ -307,7 +308,6 @@ body {
|
|||
<h2 class="fw-bold">Quick Links</h2>
|
||||
</div>
|
||||
|
||||
<!-- දකුණේ සිට වමට Slide වේ -->
|
||||
<div class="row text-center animate-item slide-right-init">
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="#" class="btn btn-outline-dark w-100 py-2 fw-semibold rounded-pill">Academic Calendar</a>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,386 @@
|
|||
@extends('layouts.studentportalnav')
|
||||
|
||||
@section('title', 'My Timetable')
|
||||
|
||||
@section('content')
|
||||
|
||||
<!-- Bootstrap 5 -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
|
||||
<!-- Google Font -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
body{
|
||||
font-family:'Poppins',sans-serif;
|
||||
background:#f4f7fc;
|
||||
}
|
||||
|
||||
.page-header{
|
||||
background:linear-gradient(135deg,#0d6efd,#0a58ca);
|
||||
color:#fff;
|
||||
padding:45px;
|
||||
border-radius:20px;
|
||||
margin-bottom:30px;
|
||||
}
|
||||
|
||||
.page-header h2{
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.page-header p{
|
||||
opacity:.9;
|
||||
}
|
||||
|
||||
.info-card{
|
||||
border:none;
|
||||
border-radius:15px;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
}
|
||||
|
||||
.table-card{
|
||||
background:#fff;
|
||||
border-radius:20px;
|
||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.table thead{
|
||||
background:#0d6efd;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
.table td,
|
||||
.table th{
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
min-width:140px;
|
||||
}
|
||||
|
||||
.badge-theory{
|
||||
background:#0d6efd;
|
||||
}
|
||||
|
||||
.badge-practical{
|
||||
background:#198754;
|
||||
}
|
||||
|
||||
.badge-workshop{
|
||||
background:#fd7e14;
|
||||
}
|
||||
|
||||
.badge-break{
|
||||
background:#ffc107;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.table tbody tr:hover{
|
||||
background:#f8fbff;
|
||||
transition:.3s;
|
||||
}
|
||||
|
||||
.legend span{
|
||||
margin-right:15px;
|
||||
}
|
||||
|
||||
.legend .badge{
|
||||
padding:8px 12px;
|
||||
}
|
||||
|
||||
.today-card{
|
||||
background:white;
|
||||
border-radius:15px;
|
||||
box-shadow:0 10px 25px rgba(0,0,0,.08);
|
||||
padding:25px;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
.today-card h5{
|
||||
font-weight:600;
|
||||
}
|
||||
|
||||
.download-btn{
|
||||
border-radius:50px;
|
||||
padding:10px 25px;
|
||||
}
|
||||
|
||||
@media(max-width:768px){
|
||||
|
||||
.table td,
|
||||
.table th{
|
||||
font-size:13px;
|
||||
min-width:120px;
|
||||
}
|
||||
|
||||
.page-header{
|
||||
padding:25px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container py-4">
|
||||
|
||||
<!-- Header -->
|
||||
|
||||
<div class="page-header">
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center flex-wrap">
|
||||
|
||||
<div>
|
||||
|
||||
<h2><i class="fas fa-calendar-alt me-2"></i>My Class Timetable</h2>
|
||||
|
||||
<p class="mb-0">
|
||||
Automobile Engineering Academy Student Portal
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<button class="btn btn-light download-btn" onclick="window.print()">
|
||||
<i class="fas fa-print me-2"></i>Print
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row g-4 mb-4">
|
||||
|
||||
<div class="col-lg-4">
|
||||
|
||||
<div class="today-card">
|
||||
|
||||
<h5 class="mb-3">
|
||||
<i class="fas fa-clock text-primary me-2"></i>
|
||||
Today's Classes
|
||||
</h5>
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<strong>08:30 - 10:30</strong><br>
|
||||
|
||||
<span class="badge badge-theory">
|
||||
Theory
|
||||
</span>
|
||||
|
||||
Engine Fundamentals
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
|
||||
<strong>10:45 - 12:30</strong><br>
|
||||
|
||||
<span class="badge badge-workshop">
|
||||
Workshop
|
||||
</span>
|
||||
|
||||
Practical Session
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
<strong>01:30 - 03:30</strong><br>
|
||||
|
||||
<span class="badge badge-practical">
|
||||
Practical
|
||||
</span>
|
||||
|
||||
Electrical System
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-8">
|
||||
|
||||
<div class="info-card p-4 h-100">
|
||||
|
||||
<h5 class="mb-3">
|
||||
<i class="fas fa-info-circle text-primary me-2"></i>
|
||||
Timetable Legend
|
||||
</h5>
|
||||
|
||||
<div class="legend">
|
||||
|
||||
<span>
|
||||
<span class="badge badge-theory">Theory</span>
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<span class="badge badge-practical">Practical</span>
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<span class="badge badge-workshop">Workshop</span>
|
||||
</span>
|
||||
|
||||
<span>
|
||||
<span class="badge badge-break">Break</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<p class="mb-0 text-muted">
|
||||
Please arrive at least 15 minutes before each class.
|
||||
Attendance is compulsory for all practical sessions.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Timetable -->
|
||||
|
||||
<div class="table-card">
|
||||
|
||||
<div class="table-responsive">
|
||||
|
||||
<table class="table table-bordered align-middle mb-0">
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>Time</th>
|
||||
|
||||
<th>Monday</th>
|
||||
|
||||
<th>Tuesday</th>
|
||||
|
||||
<th>Wednesday</th>
|
||||
|
||||
<th>Thursday</th>
|
||||
|
||||
<th>Friday</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>08:30 - 10:30</th>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Engine Fundamentals
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-practical">Practical</span><br>
|
||||
Engine Lab
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Transmission
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-workshop">Workshop</span><br>
|
||||
Engine Repair
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Vehicle Safety
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>10:45 - 12:30</th>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-workshop">Workshop</span><br>
|
||||
Service Practice
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Electrical
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-practical">Practical</span><br>
|
||||
Diagnostics
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Fuel System
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-workshop">Workshop</span><br>
|
||||
Engine Assembly
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr class="table-warning">
|
||||
|
||||
<th>12:30 - 01:30</th>
|
||||
|
||||
<td colspan="5">
|
||||
🍴 LUNCH BREAK
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>01:30 - 03:30</th>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-practical">Practical</span><br>
|
||||
Electrical System
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-workshop">Workshop</span><br>
|
||||
Welding
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Auto Electronics
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-practical">Practical</span><br>
|
||||
Brake System
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-theory">Theory</span><br>
|
||||
Revision
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\StudentPortalController; // නිවැරදි Controller නමය
|
||||
use App\Http\Controllers\StudentPortalController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -15,11 +15,20 @@ Route::get('/', function () {
|
|||
return view('welcome');
|
||||
});
|
||||
|
||||
|
||||
|
||||
Route::put('/profile/update', [AuthController::class, 'update'])->name('profile.update')->middleware('auth');
|
||||
|
||||
Route::middleware(['auth'])->group(function () {
|
||||
Route::get('/profile', [AuthController::class, 'profilview'])->name('profile.view');
|
||||
});
|
||||
|
||||
// Authentication Routes
|
||||
Route::post('/signuppage', [AuthController::class, 'register']);
|
||||
Route::post('/signin', [AuthController::class, 'login']);
|
||||
Route::post('/custom-logout', [AuthController::class, 'logout']);
|
||||
|
||||
|
||||
// --- STUDENT PORTAL SYSTEM ROUTES ---
|
||||
|
||||
|
||||
|
|
@ -27,6 +36,7 @@ Route::post('/student-login', [StudentPortalController::class, 'studentlogin'])-
|
|||
// Route::get('/student-login', [StudentPortalController::class, 'studentlogin'])->name('student.login.submit');
|
||||
|
||||
|
||||
|
||||
Route::get('/student-portal', function () {
|
||||
if (!session()->has('student_id')) {
|
||||
return redirect()->back()->with('error', 'Please login first!');
|
||||
|
|
@ -46,5 +56,16 @@ Route::view('/students', 'students')->name('students');
|
|||
Route::view('/abouts', 'abouts')->name('abouts');
|
||||
Route::view('/contact', 'contacts')->name('contact');
|
||||
|
||||
|
||||
Route::view('/signin', 'signin')->name('signin');
|
||||
Route::view('/signup', 'signup')->name('signup');
|
||||
|
||||
//student protal
|
||||
Route::view('/Dashboard','StudentPortal')->name('Dashboard');
|
||||
Route::view('/mycourse', 'mycourse')->name('mycourse');
|
||||
Route::view('/timetable','timetable')->name('timetable');
|
||||
Route::view('/Assignments','Assignments')->name('Assignments');
|
||||
Route::view('/Studentguidelines','Studentguidelines')->name('Studentguidelines');
|
||||
Route::view('/results','results')->name('results');
|
||||
Route::view('/Feedback&Complain','Feedback&Complain')->name('Feedback&Complain');
|
||||
Route::view('/StudentProfile','StudentProfile')->name('StudentProfile');
|
||||
Loading…
Reference in New Issue