fix0714
This commit is contained in:
parent
31a16b79aa
commit
2bd5825036
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\ContactMsg ;
|
||||||
|
|
||||||
|
|
||||||
|
class ContactMsgController extends Controller
|
||||||
|
{
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
|
||||||
|
$validatedData = $request->validate([
|
||||||
|
'name' => 'required|string|max:255',
|
||||||
|
'email' => 'required|email|max:255',
|
||||||
|
'subject' => 'required|string|max:255',
|
||||||
|
'message' => 'required|string',
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
ContactMsg::create($validatedData);
|
||||||
|
|
||||||
|
|
||||||
|
return redirect()->back()->with('success', 'Message sent successfully!');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Feedback;
|
||||||
|
use App\Models\user;
|
||||||
|
|
||||||
|
class FeedbackController extends Controller
|
||||||
|
{
|
||||||
|
// public function feedback(Request $request)
|
||||||
|
// {
|
||||||
|
// // 1. Validate incoming data
|
||||||
|
// $validatedData = $request->validate([
|
||||||
|
// 'feedback_type' => 'required',
|
||||||
|
// 'subject' => 'required|string|max:255',
|
||||||
|
// 'feedback_text' => 'required|string',
|
||||||
|
// ]);
|
||||||
|
|
||||||
|
// // 2. Automatically inject the logged-in user's ID
|
||||||
|
// $validatedData['user_id'] = auth()->id();
|
||||||
|
|
||||||
|
// // 3. Save to database
|
||||||
|
// Feedback::create($validatedData);
|
||||||
|
|
||||||
|
// return redirect()->back()->with('success', 'Feedback submitted successfully!');
|
||||||
|
// }
|
||||||
|
|
||||||
|
public function feedback(Request $request)
|
||||||
|
{
|
||||||
|
|
||||||
|
$request->validate([
|
||||||
|
'feedback_type' => 'required',
|
||||||
|
'subject' => 'required|string|max:255',
|
||||||
|
'feedback_text' => 'required|string',
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
Feedback::create([
|
||||||
|
'user_id' => auth()->id(),
|
||||||
|
'feedback_type' => $request->feedback_type,
|
||||||
|
'subject' => $request->subject,
|
||||||
|
'feedback_text' => $request->feedback_text,
|
||||||
|
'status' => 'Pending',
|
||||||
|
]);
|
||||||
|
|
||||||
|
return redirect()->back()->with('success', 'Feedback submitted successfully!');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,8 +3,9 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class studentsController extends Controller
|
class studentsController extends Controller
|
||||||
{
|
{
|
||||||
//
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ContactMsg extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'contact_msgs';
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'subject',
|
||||||
|
'message'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
|
||||||
|
class Feedback extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
protected $table = 'feedbacks';
|
||||||
|
protected $fillable = [
|
||||||
|
'user_id',
|
||||||
|
'feedback_type',
|
||||||
|
'subject',
|
||||||
|
'feedback_text',
|
||||||
|
'status'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class studentDetails extends Model
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('contact_msgs', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('email');
|
||||||
|
$table->string('subject');
|
||||||
|
$table->text('message');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('contact_msgs');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('feedback', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
|
||||||
|
$table->foreignId('user_id')->constrained()->onDelete('cascade');
|
||||||
|
$table->string('feedback_type');
|
||||||
|
$table->string('subject');
|
||||||
|
$table->text('feedback_text');
|
||||||
|
$table->string('status')->default('Pending');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('feedback');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('student_details', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('student_id')->unique();
|
||||||
|
$table->string('image')->nullable();
|
||||||
|
$table->string('full_name');
|
||||||
|
$table->string('nic_passport');
|
||||||
|
$table->date('date_of_birth');
|
||||||
|
$table->string('gender');
|
||||||
|
$table->string('email')->unique();
|
||||||
|
$table->string('phone');
|
||||||
|
$table->string('qualification');
|
||||||
|
$table->string('institute');
|
||||||
|
$table->year('year_completed');
|
||||||
|
$table->string('course_name');
|
||||||
|
$table->string('duration');
|
||||||
|
$table->string('current_semester');
|
||||||
|
$table->string('trainer_name');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('student_details');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -29,7 +29,7 @@ body{
|
||||||
}
|
}
|
||||||
|
|
||||||
.assignment-header{
|
.assignment-header{
|
||||||
background:linear-gradient(135deg,#0d6efd,#4f46e5);
|
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||||
color:white;
|
color:white;
|
||||||
padding:18px;
|
padding:18px;
|
||||||
}
|
}
|
||||||
|
|
@ -88,6 +88,7 @@ body{
|
||||||
.btn-submit{
|
.btn-submit{
|
||||||
border-radius:50px;
|
border-radius:50px;
|
||||||
padding:10px 22px;
|
padding:10px 22px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-box{
|
.search-box{
|
||||||
|
|
@ -104,11 +105,11 @@ body{
|
||||||
|
|
||||||
<!-- Page Header -->
|
<!-- Page Header -->
|
||||||
|
|
||||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
<div class="d-flex justify-content-between align-items-center mb-4" >
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h2 class="page-title">
|
<h2 class="page-title" style="color:#5E244E">
|
||||||
<i class="fas fa-file-alt text-primary"></i>
|
<i class="fas fa-file-alt text-primary" style="color: #5E244E !important;" ></i>
|
||||||
Assignments
|
Assignments
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
@ -133,7 +134,7 @@ body{
|
||||||
|
|
||||||
<div class="col-md-6 text-md-end mt-3 mt-md-0">
|
<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-primary filter-btn" style="background-color:#5E244E">All</button>
|
||||||
<button class="btn btn-warning filter-btn">Pending</button>
|
<button class="btn btn-warning filter-btn">Pending</button>
|
||||||
<button class="btn btn-success filter-btn">Submitted</button>
|
<button class="btn btn-success filter-btn">Submitted</button>
|
||||||
<button class="btn btn-danger filter-btn">Overdue</button>
|
<button class="btn btn-danger filter-btn">Overdue</button>
|
||||||
|
|
|
||||||
|
|
@ -5,585 +5,302 @@
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
body{
|
body{
|
||||||
background:#f6f7fb;
|
background:#f6f7fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Header */
|
/* Header */
|
||||||
|
|
||||||
.feedback-header{
|
.feedback-header{
|
||||||
|
|
||||||
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
background:linear-gradient(135deg,#5E244E,#4a1c3e);
|
||||||
color:white;
|
color:white;
|
||||||
padding:40px;
|
padding:40px;
|
||||||
border-radius:20px;
|
border-radius:20px;
|
||||||
margin-bottom:35px;
|
margin-bottom:35px;
|
||||||
box-shadow:0 15px 35px rgba(0,0,0,.12);
|
box-shadow:0 15px 35px rgba(0,0,0,.12);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.feedback-header h2{
|
.feedback-header h2{
|
||||||
|
|
||||||
font-weight:700;
|
font-weight:700;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.feedback-header p{
|
.feedback-header p{
|
||||||
|
|
||||||
color:#ddd;
|
color:#ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Cards */
|
/* Cards */
|
||||||
|
|
||||||
.feedback-card{
|
.feedback-card{
|
||||||
|
|
||||||
background:#fff;
|
background:#fff;
|
||||||
border-radius:20px;
|
border-radius:20px;
|
||||||
border:none;
|
border:none;
|
||||||
padding:30px;
|
padding:30px;
|
||||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||||
height:100%;
|
height:100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.card-title{
|
.card-title{
|
||||||
|
|
||||||
color:#5E244E;
|
color:#5E244E;
|
||||||
font-weight:700;
|
font-weight:700;
|
||||||
margin-bottom:25px;
|
margin-bottom:25px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.card-title i{
|
.card-title i{
|
||||||
|
|
||||||
color:#d4af37;
|
color:#d4af37;
|
||||||
margin-right:8px;
|
margin-right:8px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Inputs */
|
/* Inputs */
|
||||||
|
|
||||||
.form-control,
|
.form-control,
|
||||||
.form-select{
|
.form-select{
|
||||||
|
|
||||||
border-radius:15px;
|
border-radius:15px;
|
||||||
padding:12px;
|
padding:12px;
|
||||||
border:1px solid #ddd;
|
border:1px solid #ddd;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.form-control:focus,
|
.form-control:focus,
|
||||||
.form-select:focus{
|
.form-select:focus{
|
||||||
|
|
||||||
border-color:#744a68;
|
border-color:#744a68;
|
||||||
box-shadow:0 0 0 .2rem rgba(94,36,78,.15);
|
box-shadow:0 0 0 .2rem rgba(94,36,78,.15);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Button */
|
/* Button */
|
||||||
|
|
||||||
.submit-btn{
|
.submit-btn{
|
||||||
|
|
||||||
background:#5E244E;
|
background:#5E244E;
|
||||||
color:white;
|
color:white;
|
||||||
border:none;
|
border:none;
|
||||||
border-radius:50px;
|
border-radius:50px;
|
||||||
padding:12px 30px;
|
padding:12px 30px;
|
||||||
font-weight:600;
|
font-weight:600;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.submit-btn:hover{
|
.submit-btn:hover{
|
||||||
|
|
||||||
background:#4a1c3e;
|
background:#4a1c3e;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* History */
|
/* History */
|
||||||
|
|
||||||
.history-card{
|
.history-card{
|
||||||
|
|
||||||
margin-top:35px;
|
margin-top:35px;
|
||||||
background:white;
|
background:white;
|
||||||
border-radius:20px;
|
border-radius:20px;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
box-shadow:0 10px 30px rgba(0,0,0,.08);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.history-head{
|
.history-head{
|
||||||
|
|
||||||
background:#5E244E;
|
background:#5E244E;
|
||||||
color:white;
|
color:white;
|
||||||
padding:18px 25px;
|
padding:18px 25px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.badge-status{
|
.badge-status{
|
||||||
|
|
||||||
padding:7px 15px;
|
padding:7px 15px;
|
||||||
border-radius:50px;
|
border-radius:50px;
|
||||||
font-size:13px;
|
font-size:13px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.pending{
|
.pending{
|
||||||
|
|
||||||
background:#fff3cd;
|
background:#fff3cd;
|
||||||
color:#856404;
|
color:#856404;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.resolved{
|
.resolved{
|
||||||
|
|
||||||
background:#d1e7dd;
|
background:#d1e7dd;
|
||||||
color:#0f5132;
|
color:#0f5132;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container py-4">
|
<div class="container py-4">
|
||||||
|
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
|
|
||||||
<div class="feedback-header">
|
<div class="feedback-header">
|
||||||
|
<h2><i class="fas fa-comments"></i> Feedback & Complaint</h2>
|
||||||
<h2>
|
<p> Share your suggestions, feedback, or complaints with the
|
||||||
|
Automobile Engineering Academy management team.</p>
|
||||||
<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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row g-4">
|
<div class="row g-4">
|
||||||
|
<!-- Feedback Form -->
|
||||||
|
|
||||||
<!-- Feedback -->
|
|
||||||
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
||||||
|
|
||||||
<div class="feedback-card">
|
<div class="feedback-card">
|
||||||
|
<h4 class="card-title"><i class="fas fa-star"></i> Submit Feedback</h4>
|
||||||
|
<form id="feedbackForm" action="{{ route('feedback.store') }}" method="POST">
|
||||||
<h4 class="card-title">
|
@csrf
|
||||||
|
<div class="mb-3">
|
||||||
<i class="fas fa-star"></i>
|
<label class="form-label"> Feedback Type </label>
|
||||||
|
<!-- Added name="feedback_type" -->
|
||||||
Submit Feedback
|
<select class="form-select" id="feedbackType" name="feedback_type" required>
|
||||||
|
<option value=""> Select Type </option>
|
||||||
</h4>
|
<option value="Course">Course</option>
|
||||||
|
<option value="Lecturer">Lecturer </option>
|
||||||
|
<option value="Workshop">Workshop </option>
|
||||||
|
<option value="Facilities"> Facilities </option>
|
||||||
<form>
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Subject </label>
|
||||||
|
<!-- Added name="subject" -->
|
||||||
|
<input type="text" class="form-control" id="feedbackSubject" name="subject" placeholder="Enter subject" required>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Your Feedback </label>
|
||||||
|
<!-- Added name="feedback_text" -->
|
||||||
|
<textarea class="form-control" id="feedbackText" name="feedback_text" rows="5" placeholder="Write your feedback" required></textarea>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="submit-btn">
|
||||||
|
<i class="fas fa-paper-plane"></i>Submit Feedback
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
<!-- <form id="feedbackForm" action="{{ route('feedback.store') }}" method="POST">
|
||||||
|
@csrf
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label"> Feedback Type </label>
|
||||||
<label class="form-label">
|
<select class="form-select" id="feedbackType" required>
|
||||||
Feedback Type
|
<option value=""> Select Type </option>
|
||||||
</label>
|
<option value="Course">Course</option>
|
||||||
|
<option value="Lecturer">Lecturer </option>
|
||||||
<select class="form-select">
|
<option value="Workshop">Workshop </option>
|
||||||
|
<option value="Facilities"> Facilities </option>
|
||||||
<option>
|
|
||||||
Select Type
|
|
||||||
</option>
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Course
|
|
||||||
</option>
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Lecturer
|
|
||||||
</option>
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Workshop
|
|
||||||
</option>
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Facilities
|
|
||||||
</option>
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Subject </label>
|
||||||
<label class="form-label">
|
<input type="text" class="form-control" id="feedbackSubject" placeholder="Enter subject" required>
|
||||||
Subject
|
|
||||||
</label>
|
|
||||||
|
|
||||||
|
|
||||||
<input type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Enter subject">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Your Feedback </label>
|
||||||
<label class="form-label">
|
<textarea class="form-control" id="feedbackText" rows="5" placeholder="Write your feedback" required></textarea>
|
||||||
Your Feedback
|
|
||||||
</label>
|
|
||||||
|
|
||||||
|
|
||||||
<textarea class="form-control"
|
|
||||||
rows="5"
|
|
||||||
placeholder="Write your feedback">
|
|
||||||
|
|
||||||
</textarea>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<button type="submit" class="submit-btn">
|
||||||
|
<i class="fas fa-paper-plane"></i>Submit Feedback
|
||||||
<button class="submit-btn">
|
|
||||||
|
|
||||||
<i class="fas fa-paper-plane"></i>
|
|
||||||
|
|
||||||
Submit Feedback
|
|
||||||
|
|
||||||
</button>
|
</button>
|
||||||
|
</form> -->
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Complaint Form -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Complaint -->
|
|
||||||
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
||||||
|
|
||||||
<div class="feedback-card">
|
<div class="feedback-card">
|
||||||
|
<h4 class="card-title"><i class="fas fa-exclamation-triangle"></i> Submit Complaint</h4>
|
||||||
|
<form id="complaintForm">
|
||||||
<h4 class="card-title">
|
|
||||||
|
|
||||||
|
|
||||||
<i class="fas fa-exclamation-triangle"></i>
|
|
||||||
|
|
||||||
Submit Complaint
|
|
||||||
|
|
||||||
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<form>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label"> Complaint Category</label>
|
||||||
|
<select class="form-select" id="complaintCategory" required>
|
||||||
<label class="form-label">
|
<option value="">Select Category </option>
|
||||||
Complaint Category
|
<option value="Academic Issue"> Academic Issue</option>
|
||||||
</label>
|
<option value="Staff Issue">Staff Issue </option>
|
||||||
|
<option value="Technical Issue">Technical Issue</option>
|
||||||
|
<option value="Other">Other</option>
|
||||||
<select class="form-select">
|
|
||||||
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Select Category
|
|
||||||
</option>
|
|
||||||
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Academic Issue
|
|
||||||
</option>
|
|
||||||
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Staff Issue
|
|
||||||
</option>
|
|
||||||
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Technical Issue
|
|
||||||
</option>
|
|
||||||
|
|
||||||
|
|
||||||
<option>
|
|
||||||
Other
|
|
||||||
</option>
|
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label"> Complaint Title </label>
|
||||||
|
<input type="text" class="form-control" id="complaintTitle" placeholder="Enter complaint title" required>
|
||||||
<label class="form-label">
|
|
||||||
Complaint Title
|
|
||||||
</label>
|
|
||||||
|
|
||||||
|
|
||||||
<input type="text"
|
|
||||||
class="form-control"
|
|
||||||
placeholder="Enter complaint title">
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
<label class="form-label"> Complaint Details</label>
|
||||||
|
<textarea class="form-control" id="complaintDetails" rows="5" placeholder="Explain your complaint" required></textarea>
|
||||||
<label class="form-label">
|
|
||||||
Complaint Details
|
|
||||||
</label>
|
|
||||||
|
|
||||||
|
|
||||||
<textarea class="form-control"
|
|
||||||
rows="5"
|
|
||||||
placeholder="Explain your complaint">
|
|
||||||
|
|
||||||
</textarea>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<button type="submit" class="submit-btn">
|
||||||
|
<i class="fas fa-paper-plane"></i>Submit Complaint
|
||||||
|
|
||||||
|
|
||||||
<button class="submit-btn">
|
|
||||||
|
|
||||||
|
|
||||||
<i class="fas fa-paper-plane"></i>
|
|
||||||
|
|
||||||
Submit Complaint
|
|
||||||
|
|
||||||
|
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Previous History Table -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Previous History -->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="history-card">
|
<div class="history-card">
|
||||||
|
|
||||||
|
|
||||||
<div class="history-head">
|
<div class="history-head">
|
||||||
|
<h4 class="mb-0"><i class="fas fa-history"></i> Previous Requests</h4>
|
||||||
|
|
||||||
<h4 class="mb-0">
|
|
||||||
|
|
||||||
<i class="fas fa-history"></i>
|
|
||||||
|
|
||||||
Previous Requests
|
|
||||||
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
|
||||||
|
|
||||||
<table class="table table-hover mb-0">
|
<table class="table table-hover mb-0">
|
||||||
|
|
||||||
|
|
||||||
<thead>
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th> Type </th>
|
||||||
<tr>
|
<th> Subject </th>
|
||||||
|
<th> Date </th>
|
||||||
<th>
|
<th>Status</th>
|
||||||
Type
|
</tr>
|
||||||
</th>
|
|
||||||
|
|
||||||
<th>
|
|
||||||
Subject
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<th>
|
|
||||||
Date
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<th>
|
|
||||||
Status
|
|
||||||
</th>
|
|
||||||
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
|
<tbody id="historyTableBody">
|
||||||
|
<tr>
|
||||||
<tbody>
|
<td>Feedback</td>
|
||||||
|
<td>Workshop Equipment </td>
|
||||||
|
<td>10 July 2026</td>
|
||||||
<tr>
|
<td><span class="badge-status resolved"> Resolved</span></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>Complaint</td>
|
||||||
Feedback
|
<td>Class Schedule Issue </td>
|
||||||
</td>
|
<td>05 July 2026 </td>
|
||||||
|
<td><span class="badge-status pending"> Pending </span></td>
|
||||||
|
</tr>
|
||||||
<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>
|
</tbody>
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- JavaScript to handle Submissions -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
const tableBody = document.getElementById('historyTableBody');
|
||||||
|
|
||||||
|
// Ada dwaya lassanata ganna function ekak
|
||||||
|
function getFormattedDate() {
|
||||||
|
const options = { day: '2-digit', month: 'long', year: 'numeric' };
|
||||||
|
return new Date().toLocaleDateString('en-GB', options);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1. Feedback Form Submission
|
||||||
|
document.getElementById('feedbackForm').addEventListener('submit', function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const subject = document.getElementById('feedbackSubject').value;
|
||||||
|
const date = getFormattedDate();
|
||||||
|
|
||||||
|
// Table eke udatama row ekak add karanna (tr)
|
||||||
|
const newRow = document.createElement('tr');
|
||||||
|
newRow.innerHTML = `
|
||||||
|
<td>Feedback</td>
|
||||||
|
<td>${subject}</td>
|
||||||
|
<td>${date}</td>
|
||||||
|
<td><span class="badge-status pending"> Pending </span></td>
|
||||||
|
`;
|
||||||
|
|
||||||
|
// Aluth data eka table eke udatama insert karanawa
|
||||||
|
tableBody.insertBefore(newRow, tableBody.firstChild);
|
||||||
|
|
||||||
|
// Form eka reset karanawa
|
||||||
|
this.reset();
|
||||||
|
alert('Feedback submitted successfully!');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 2. Complaint Form Submission
|
||||||
|
document.getElementById('complaintForm').addEventListener('submit', function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const title = document.getElementById('complaintTitle').value;
|
||||||
|
const date = getFormattedDate();
|
||||||
|
|
||||||
|
const newRow = document.createElement('tr');
|
||||||
|
newRow.innerHTML = `
|
||||||
|
<td>Complaint</td>
|
||||||
|
<td>${title}</td>
|
||||||
|
<td>${date}</td>
|
||||||
|
<td><span class="badge-status pending"> Pending </span></td>
|
||||||
|
`;
|
||||||
|
|
||||||
|
tableBody.insertBefore(newRow, tableBody.firstChild);
|
||||||
|
|
||||||
|
this.reset();
|
||||||
|
alert('Complaint submitted successfully!');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
@ -1,671 +1,306 @@
|
||||||
@extends('layouts.studentportalnav')
|
@extends('layouts.studentportalnav')
|
||||||
|
|
||||||
@section('title', 'Dashboard')
|
@section('title','Dashboard')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
|
<style>
|
||||||
<head>
|
:root{
|
||||||
<!-- <meta charset="UTF-8">
|
--primary:#5E244E;
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
--secondary:#8B3A74;
|
||||||
<title>Dashboard - Student Portal</title>
|
--light:#f5f6fb;
|
||||||
|
--dark:#2d2d2d;
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<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 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>
|
|
||||||
:root{
|
|
||||||
--primary:#5E244E;
|
|
||||||
--secondary:#8B3A74;
|
|
||||||
--light:#f8f4f7;
|
|
||||||
--sidebar-width: 260px;
|
|
||||||
}
|
|
||||||
|
|
||||||
body{
|
|
||||||
font-family:'Inter', sans-serif;
|
|
||||||
background:#f5f3f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---------- Sidebar ---------- */
|
|
||||||
.sidebar{
|
|
||||||
width:var(--sidebar-width);
|
|
||||||
min-height:100vh;
|
|
||||||
background:var(--primary);
|
|
||||||
color:#fff;
|
|
||||||
position:fixed;
|
|
||||||
top:0;
|
|
||||||
left:0;
|
|
||||||
padding:24px 0;
|
|
||||||
transition:.3s;
|
|
||||||
z-index:1030;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar .brand{
|
|
||||||
padding:0 24px 24px;
|
|
||||||
font-weight:700;
|
|
||||||
font-size:1.15rem;
|
|
||||||
border-bottom:1px solid rgba(255,255,255,.12);
|
|
||||||
margin-bottom:12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar .nav-link{
|
|
||||||
color:rgba(255,255,255,.75);
|
|
||||||
padding:12px 24px;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
.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%;
|
|
||||||
background:var(--secondary);
|
|
||||||
color:#fff;
|
|
||||||
display:flex;
|
|
||||||
align-items:center;
|
|
||||||
justify-content:center;
|
|
||||||
font-weight:600;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---------- Stat cards ---------- */
|
|
||||||
.stat-card{
|
|
||||||
border:none;
|
|
||||||
border-radius:14px;
|
|
||||||
padding:22px;
|
|
||||||
box-shadow:0 5px 20px rgba(0,0,0,.06);
|
|
||||||
height:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-icon{
|
|
||||||
width:48px;
|
|
||||||
height:48px;
|
|
||||||
border-radius:12px;
|
|
||||||
display:flex;
|
|
||||||
align-items:center;
|
|
||||||
justify-content:center;
|
|
||||||
font-size:20px;
|
|
||||||
color:#fff;
|
|
||||||
margin-bottom:14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-value{
|
|
||||||
font-size:1.6rem;
|
|
||||||
font-weight:700;
|
|
||||||
color:#1e1e2f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.stat-label{
|
|
||||||
color:#6b7280;
|
|
||||||
font-size:.85rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---------- Panels ---------- */
|
|
||||||
.panel{
|
|
||||||
background:#fff;
|
|
||||||
border-radius:14px;
|
|
||||||
padding:24px;
|
|
||||||
box-shadow:0 5px 20px rgba(0,0,0,.06);
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel h5{
|
|
||||||
font-weight:700;
|
|
||||||
color:#1e1e2f;
|
|
||||||
margin-bottom:18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-row{
|
|
||||||
display:flex;
|
|
||||||
align-items:center;
|
|
||||||
justify-content:space-between;
|
|
||||||
padding:14px 0;
|
|
||||||
border-bottom:1px solid #f1f1f4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.course-row:last-child{ border-bottom:none; }
|
|
||||||
|
|
||||||
.course-tag{
|
|
||||||
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{
|
|
||||||
height:6px;
|
|
||||||
border-radius:10px;
|
|
||||||
background:#eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-bar{
|
|
||||||
background:var(--primary);
|
|
||||||
}
|
|
||||||
|
|
||||||
.deadline-item{
|
|
||||||
display:flex;
|
|
||||||
gap:14px;
|
|
||||||
padding:12px 0;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.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{
|
body{
|
||||||
transform:translateY(-8px);
|
background:var(--light);
|
||||||
border-color: var(--primary);
|
|
||||||
box-shadow: 0 15px 30px rgba(94, 36, 78, 0.1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.portal-icon{
|
/* Header */
|
||||||
width:70px;
|
.dashboard-header{
|
||||||
height:70px;
|
display:flex;
|
||||||
background:#5E244E;
|
justify-content:space-between;
|
||||||
color:#fff;
|
align-items:center;
|
||||||
|
margin-bottom:30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dashboard-header h2{
|
||||||
|
font-weight:700;
|
||||||
|
color:var(--dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dashboard-header p{
|
||||||
|
color:#777;
|
||||||
|
margin:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar{
|
||||||
|
width:55px;
|
||||||
|
height:55px;
|
||||||
border-radius:50%;
|
border-radius:50%;
|
||||||
|
background:var(--primary);
|
||||||
|
color:#fff;
|
||||||
display:flex;
|
display:flex;
|
||||||
align-items:center;
|
align-items:center;
|
||||||
justify-content:center;
|
justify-content:center;
|
||||||
font-size:28px;
|
font-weight:bold;
|
||||||
margin:auto;
|
font-size:20px;
|
||||||
transition: 0.4s ease;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.portal-card:hover .portal-icon {
|
/* Statistic Cards */
|
||||||
background: var(--secondary);
|
|
||||||
transform: scale(1.1);
|
.stat-card{
|
||||||
|
background:#fff;
|
||||||
|
border-radius:15px;
|
||||||
|
padding:25px;
|
||||||
|
box-shadow:0 8px 20px rgba(0,0,0,.08);
|
||||||
|
transition:.3s;
|
||||||
|
height:100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-portal{
|
.stat-card:hover{
|
||||||
background:#5E244E;
|
transform:translateY(-6px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-icon{
|
||||||
|
width:60px;
|
||||||
|
height:60px;
|
||||||
|
border-radius:12px;
|
||||||
|
display:flex;
|
||||||
|
justify-content:center;
|
||||||
|
align-items:center;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
padding:12px 35px;
|
font-size:22px;
|
||||||
border: none;
|
margin-bottom:20px;
|
||||||
border-radius: 8px;
|
|
||||||
font-weight: 600;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-portal:hover{
|
.stat-card h3{
|
||||||
background:#8B3A74;
|
font-weight:700;
|
||||||
color:#fff;
|
margin-bottom:5px;
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.stat-card p{
|
||||||
|
color:#777;
|
||||||
.modal.fade .modal-dialog {
|
margin:0;
|
||||||
transform: scale(0.85);
|
|
||||||
transition: transform 0.3s ease-out;
|
|
||||||
}
|
|
||||||
.modal.show .modal-dialog {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-header {
|
/* Services */
|
||||||
background: transparent;
|
|
||||||
border-bottom: none;
|
.section-title{
|
||||||
padding: 25px 25px 10px;
|
font-size:24px;
|
||||||
|
font-weight:bold;
|
||||||
|
margin:40px 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-title {
|
.service-card{
|
||||||
color: var(--primary);
|
background:#fff;
|
||||||
font-weight: 700;
|
border-radius:15px;
|
||||||
font-size: 1.35rem;
|
padding:30px;
|
||||||
|
text-align:center;
|
||||||
|
transition:.3s;
|
||||||
|
box-shadow:0 8px 20px rgba(0,0,0,.08);
|
||||||
|
height:100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-body {
|
.service-card:hover{
|
||||||
padding: 10px 25px 20px;
|
transform:translateY(-8px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-group-text {
|
.service-card i{
|
||||||
background-color: #f8fafc;
|
font-size:45px;
|
||||||
border-color: #cbd5e1;
|
color:var(--primary);
|
||||||
color: #64748b;
|
margin-bottom:20px;
|
||||||
border-top-left-radius: 8px;
|
|
||||||
border-bottom-left-radius: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-label {
|
.service-card h5{
|
||||||
color: #475569;
|
font-weight:700;
|
||||||
font-weight: 500;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control {
|
.service-card p{
|
||||||
border: 1px solid #cbd5e1;
|
color:#777;
|
||||||
padding: 0.65rem 0.75rem;
|
font-size:14px;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
.input-group:focus-within .input-group-text {
|
<div class="container-fluid">
|
||||||
border-color: var(--secondary);
|
|
||||||
color: var(--secondary);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-footer {
|
<div class="dashboard-header">
|
||||||
background: transparent;
|
|
||||||
border-top: none;
|
|
||||||
padding: 0 25px 30px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<h2>Welcome Back, <strong>{{ Auth::user()->first_name }}</strong></h2>
|
||||||
|
<p>Manage your academic activities from your dashboard.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="avatar">
|
||||||
<!-- Main content -->
|
S
|
||||||
<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, 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">
|
|
||||||
<i class="fa-regular fa-bell fs-5 text-secondary"></i>
|
|
||||||
<div class="avatar">N</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 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">
|
|
||||||
<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">2</div>
|
|
||||||
<div class="stat-label">Examination Notices</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row g-3">
|
|
||||||
<!-- Courses -->
|
|
||||||
<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>
|
|
||||||
|
|
||||||
<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>
|
|
||||||
<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 class="course-row">
|
|
||||||
<div class="d-flex align-items-center gap-3">
|
|
||||||
<div class="course-tag">WD</div>
|
|
||||||
<div>
|
|
||||||
<div class="fw-semibold">Web Application Development</div>
|
|
||||||
<div class="text-muted" style="font-size:.8rem;">Ms. S. Fernando</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<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 class="course-row">
|
|
||||||
<div class="d-flex align-items-center gap-3">
|
|
||||||
<div class="course-tag">DB</div>
|
|
||||||
<div>
|
|
||||||
<div class="fw-semibold">Database Management Systems</div>
|
|
||||||
<div class="text-muted" style="font-size:.8rem;">Mr. R. Silva</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<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 class="course-row">
|
|
||||||
<div class="d-flex align-items-center gap-3">
|
|
||||||
<div class="course-tag">NW</div>
|
|
||||||
<div>
|
|
||||||
<div class="fw-semibold">Computer Networks</div>
|
|
||||||
<div class="text-muted" style="font-size:.8rem;">Dr. A. Bandara</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> -->
|
|
||||||
|
|
||||||
<!-- Exam Results -->
|
|
||||||
<!-- <div class="panel">
|
|
||||||
<h5>Recent Exam Results</h5>
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table-borderless align-middle mb-0">
|
|
||||||
<thead>
|
|
||||||
<tr class="text-muted" style="font-size:.8rem;">
|
|
||||||
<th>Course</th>
|
|
||||||
<th>Semester</th>
|
|
||||||
<th>Grade</th>
|
|
||||||
<th>Status</th>
|
|
||||||
</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> -->
|
|
||||||
|
|
||||||
<!-- 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> -->
|
</div> -->
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
</div>
|
||||||
<script>
|
|
||||||
document.getElementById('sidebarToggle')?.addEventListener('click', function () {
|
|
||||||
document.getElementById('sidebar').classList.toggle('show');
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
<!-- Statistics -->
|
||||||
</html>
|
|
||||||
|
<div class="row g-4">
|
||||||
|
|
||||||
|
<div class="col-lg-3 col-md-6">
|
||||||
|
<div class="stat-card">
|
||||||
|
|
||||||
|
<div class="stat-icon" style="background:#5E244E;">
|
||||||
|
<i class="fa-solid fa-book"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>6</h3>
|
||||||
|
<p>Enrolled Courses</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-3 col-md-6">
|
||||||
|
<div class="stat-card">
|
||||||
|
|
||||||
|
<div class="stat-icon" style="background:#0d9488;">
|
||||||
|
<i class="fa-solid fa-file-lines"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>3</h3>
|
||||||
|
<p>Assignments</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-3 col-md-6">
|
||||||
|
<div class="stat-card">
|
||||||
|
|
||||||
|
<div class="stat-icon" style="background:#d97706;">
|
||||||
|
<i class="fa-solid fa-chart-column"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>78%</h3>
|
||||||
|
<p>Average Result</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-3 col-md-6">
|
||||||
|
<div class="stat-card">
|
||||||
|
|
||||||
|
<div class="stat-icon" style="background:#dc2626;">
|
||||||
|
<i class="fa-solid fa-bell"></i>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>2</h3>
|
||||||
|
<p>Exam Notices</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Services -->
|
||||||
|
|
||||||
|
<div class="section-title">
|
||||||
|
Student Services
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row g-4">
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6" >
|
||||||
|
<a href="/mycourse" class="text-decoration-none" style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-book"></i>
|
||||||
|
|
||||||
|
<h5>My Courses</h5>
|
||||||
|
|
||||||
|
<p>Access all learning materials and course content.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6" >
|
||||||
|
<a href="/timetable" class="text-decoration-none" style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-calendar-days"></i>
|
||||||
|
|
||||||
|
<h5>Class Timetable</h5>
|
||||||
|
|
||||||
|
<p>View your weekly lecture timetable.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6">
|
||||||
|
<a href="/Assignments" class="text-decoration-none" style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-file-lines"></i>
|
||||||
|
|
||||||
|
<h5>Assignments</h5>
|
||||||
|
|
||||||
|
<p>Submit and manage assignments.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6">
|
||||||
|
<a href="/results" class="text-decoration-none" style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-square-poll-vertical"></i>
|
||||||
|
|
||||||
|
<h5>Exam Results</h5>
|
||||||
|
|
||||||
|
<p>Check semester examination results.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6">
|
||||||
|
<a href="/Feedback&Complain" class="text-decoration-none"style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-comments"></i>
|
||||||
|
|
||||||
|
<h5>Feedback & Complaint</h5>
|
||||||
|
|
||||||
|
<p>Send feedback and contact administration.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-4 col-md-6">
|
||||||
|
<a href="/StudentProfile" class="text-decoration-none"style="color:#5E244E">
|
||||||
|
|
||||||
|
<div class="service-card">
|
||||||
|
|
||||||
|
<i class="fa-solid fa-user"></i>
|
||||||
|
|
||||||
|
<h5>Student Profile</h5>
|
||||||
|
|
||||||
|
<p>Update your personal information.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
@ -224,204 +224,106 @@ body{
|
||||||
|
|
||||||
<!-- Profile Left -->
|
<!-- Profile Left -->
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
|
<div class="profile-card text-center">
|
||||||
|
<img src="https://i.pravatar.cc/300"
|
||||||
<div class="profile-card text-center">
|
|
||||||
|
|
||||||
|
|
||||||
<img src="https://i.pravatar.cc/300"
|
|
||||||
class="profile-image">
|
class="profile-image">
|
||||||
|
<h3 class="student-name">Kasun Perera </h3>
|
||||||
|
|
||||||
|
<span class="student-id">
|
||||||
|
|
||||||
<h3 class="student-name">
|
|
||||||
|
|
||||||
Kasun Perera
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="student-id">
|
|
||||||
|
|
||||||
Student ID : AEA20260045
|
Student ID : AEA20260045
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
<button class="edit-btn mt-3">
|
||||||
|
<i class="fas fa-edit"></i> Edit Profile </button>
|
||||||
<button class="edit-btn mt-3">
|
|
||||||
|
|
||||||
<i class="fas fa-edit"></i>
|
|
||||||
|
|
||||||
Edit Profile
|
|
||||||
|
|
||||||
</button>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Details -->
|
<!-- Details -->
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
|
|
||||||
|
|
||||||
<div class="profile-card">
|
<div class="profile-card">
|
||||||
|
|
||||||
|
|
||||||
<h4 class="info-title">
|
<h4 class="info-title">
|
||||||
|
|
||||||
<i class="fas fa-user"></i>
|
<i class="fas fa-user"></i>
|
||||||
|
|
||||||
Personal Information
|
Personal Information
|
||||||
|
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Full Name
|
Full Name
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
Kasun Perera
|
Kasuni Perera
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
NIC / Passport
|
NIC / Passport
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
200012345678
|
200012345678
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Date of Birth
|
Date of Birth
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
15 March 2000
|
15 March 2000
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Gender
|
Gender
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
Male
|
Male
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Email
|
Email
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
student@email.com
|
student@email.com
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Phone
|
Phone
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
+94 77 1234567
|
+94 77 1234567
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row g-4 mt-1">
|
<div class="row g-4 mt-1">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Education -->
|
<!-- Education -->
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
||||||
|
|
||||||
<div class="profile-card">
|
<div class="profile-card">
|
||||||
|
|
||||||
|
|
||||||
<h4 class="info-title">
|
<h4 class="info-title">
|
||||||
|
|
||||||
<i class="fas fa-graduation-cap"></i>
|
<i class="fas fa-graduation-cap"></i>
|
||||||
|
|
||||||
Educational Background
|
Educational Background
|
||||||
|
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Qualification
|
Qualification
|
||||||
</span>
|
</span>
|
||||||
|
|
@ -429,43 +331,29 @@ body{
|
||||||
<span class="value">
|
<span class="value">
|
||||||
NVQ Level 4
|
NVQ Level 4
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Institute
|
Institute
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
ABC Technical College
|
ABC Technical College
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
|
|
||||||
<span class="label">
|
<span class="label">
|
||||||
Year Completed
|
Year Completed
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="value">
|
<span class="value">
|
||||||
2025
|
2025
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -477,72 +365,24 @@ body{
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
||||||
|
|
||||||
<div class="course-box">
|
<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>
|
||||||
|
|
||||||
<h4>
|
<div class="course-item">
|
||||||
|
<i class="fas fa-layer-group"></i>Current Semester : Semester 2
|
||||||
<i class="fas fa-car"></i>
|
</div>
|
||||||
|
|
||||||
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">
|
|
||||||
|
|
||||||
|
<div class="course-item">
|
||||||
<i class="fas fa-user-tie"></i>
|
<i class="fas fa-user-tie"></i>
|
||||||
|
|
||||||
Trainer : Mr. Nimal Silva
|
Trainer : Mr. Nimal Silva
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-title {
|
.section-title {
|
||||||
background: var(--primary);
|
background: #735D6D;
|
||||||
color: white;
|
color: white;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
margin-top: 22px;
|
margin-top: 22px;
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ body {
|
||||||
box-shadow: 0 10px 25px rgba(94, 36, 78, 0.08);
|
box-shadow: 0 10px 25px rgba(94, 36, 78, 0.08);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Icons වල පාට වෙනස් කිරීම */
|
|
||||||
.info-card i {
|
.info-card i {
|
||||||
color: var(--primary) !important;
|
color: var(--primary) !important;
|
||||||
}
|
}
|
||||||
|
|
@ -96,17 +96,17 @@ body {
|
||||||
transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
|
transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 1. පල්ලෙහා ඉඳන් උඩට (Hero & Map) */
|
|
||||||
.fade-up-init {
|
.fade-up-init {
|
||||||
transform: translateY(30px);
|
transform: translateY(30px);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 2. වමේ ඉඳන් දකුණට (Form එක සඳහා) */
|
|
||||||
.slide-left-init {
|
.slide-left-init {
|
||||||
transform: translateX(-40px);
|
transform: translateX(-40px);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 3. එකපාර (Fade In) මතු වෙන්න (Info Cards සඳහා) */
|
|
||||||
.fade-in-init {
|
.fade-in-init {
|
||||||
transform: scale(0.98);
|
transform: scale(0.98);
|
||||||
}
|
}
|
||||||
|
|
@ -140,7 +140,16 @@ body {
|
||||||
|
|
||||||
<h3 class="mb-4 fw-bold" style="color: #1c1d1f;">Send Message</h3>
|
<h3 class="mb-4 fw-bold" style="color: #1c1d1f;">Send Message</h3>
|
||||||
|
|
||||||
<form action="#" method="POST">
|
|
||||||
|
|
||||||
|
@if(session('success'))
|
||||||
|
<div class="alert alert-success">
|
||||||
|
{{ session('success') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
<form action="{{ route('contact.store') }}" method="POST">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
|
@ -172,7 +181,7 @@ Send Message
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Contact Info (සියල්ල එකපාර Fade In වේ) -->
|
|
||||||
<div class="col-md-6 animate-item fade-in-init">
|
<div class="col-md-6 animate-item fade-in-init">
|
||||||
|
|
||||||
<div class="info-card mb-3">
|
<div class="info-card mb-3">
|
||||||
|
|
|
||||||
|
|
@ -7,15 +7,16 @@
|
||||||
|
|
||||||
<!-- Font Awesome Icons -->
|
<!-- Font Awesome 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 href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
/* Global Root Variables */
|
/* Global Root Variables */
|
||||||
:root {
|
:root {
|
||||||
--primary: #2c3e50;
|
--primary: #000000;
|
||||||
--background: #f8f9fa;
|
--background: #f5f6fb;
|
||||||
--sidebar-width: 260px;
|
--sidebar-width: 260px;
|
||||||
--text-color: #333;
|
--text-color: #333333;
|
||||||
--sidebar-bg: #744a68;
|
--sidebar-bg: #5E244E;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
|
|
@ -59,11 +60,27 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* User Profile Section inside Sidebar */
|
||||||
|
.sidebar-user-profile {
|
||||||
|
padding: 15px 24px;
|
||||||
|
border-bottom: 1px solid rgba(255,255,255,.12);
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-user-profile .dropdown-toggle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 0.95rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar .nav {
|
.sidebar .nav {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
overflow-y: auto; /* Enables scrolling inside sidebar if menu items overflow */
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar .nav-link {
|
.sidebar .nav-link {
|
||||||
|
|
@ -108,11 +125,11 @@
|
||||||
/* ---------- Main Content Layout ---------- */
|
/* ---------- Main Content Layout ---------- */
|
||||||
.main {
|
.main {
|
||||||
margin-left: var(--sidebar-width);
|
margin-left: var(--sidebar-width);
|
||||||
flex-grow: 1;
|
|
||||||
padding: 30px;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
min-height: 100vh;
|
|
||||||
width: calc(100% - var(--sidebar-width));
|
width: calc(100% - var(--sidebar-width));
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 40px;
|
||||||
|
background: var(--background);
|
||||||
|
transition: all 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mobile Header Toggle Bar */
|
/* Mobile Header Toggle Bar */
|
||||||
|
|
@ -135,7 +152,7 @@
|
||||||
border: none;
|
border: none;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: var(--primary);
|
color: var(--sidebar-bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
@ -144,14 +161,7 @@
|
||||||
.mobile-brand {
|
.mobile-brand {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
}
|
color: #333;
|
||||||
|
|
||||||
/* 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 */
|
/* Overlay Background when sidebar open on Mobile */
|
||||||
|
|
@ -203,7 +213,33 @@
|
||||||
<i class="fa-solid fa-bars"></i>
|
<i class="fa-solid fa-bars"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="mobile-brand">Student Portal</div>
|
<div class="mobile-brand">Student Portal</div>
|
||||||
<div style="width: 24px;"></div> <!-- Balancer for flex alignment -->
|
|
||||||
|
<!-- Mobile View User Profile Header Dropdown -->
|
||||||
|
<div class="mobile-user-profile">
|
||||||
|
@if(Auth::check())
|
||||||
|
<div class="dropdown">
|
||||||
|
<a class="text-dark no-toggle-icon" href="#" role="button" id="userMenuMobile" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
<i class="fa-solid fa-circle-user" style="font-size: 35px; color: var(--sidebar-bg);"></i>
|
||||||
|
<strong>{{ Auth::user()->first_name }}</strong>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="userMenuMobile">
|
||||||
|
<li class="px-3 py-2 ">
|
||||||
|
<!-- <small class="text-muted">Signed in as</small><br> -->
|
||||||
|
<!-- <strong>{{ Auth::user()->first_name }}</strong> -->
|
||||||
|
</li>
|
||||||
|
<li><a class="dropdown-item mt-1" href="/StudentProfile"><i class="fa-solid fa-user me-2"></i> Profile</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li>
|
||||||
|
<button type="button" onclick="submitLogout()" class="dropdown-item text-danger w-100 text-start border-0 bg-transparent">
|
||||||
|
<i class="fa-solid fa-right-from-bracket me-2"></i> Logout
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<a href="/signin" class="btn btn-sm btn-outline-dark"><i class="fa-solid fa-right-to-bracket"></i></a>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Overlay dim background element -->
|
<!-- Overlay dim background element -->
|
||||||
|
|
@ -214,6 +250,9 @@
|
||||||
<div class="brand">
|
<div class="brand">
|
||||||
<i class="fa-solid fa-graduation-cap"></i> Student Portal
|
<i class="fa-solid fa-graduation-cap"></i> Student Portal
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Sidebar Active User Profile Details (Desktop View) -->
|
||||||
|
|
||||||
|
|
||||||
<nav class="nav">
|
<nav class="nav">
|
||||||
<a href="/Dashboard" class="nav-link active">
|
<a href="/Dashboard" class="nav-link active">
|
||||||
|
|
@ -231,29 +270,59 @@
|
||||||
<a href="/results" class="nav-link">
|
<a href="/results" class="nav-link">
|
||||||
<i class="fa-solid fa-square-poll-vertical"></i>Exam Results
|
<i class="fa-solid fa-square-poll-vertical"></i>Exam Results
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="/Studentguidelines" class="nav-link">
|
<a href="/Studentguidelines" class="nav-link">
|
||||||
<i class="fa-solid fa-credit-card"></i>Student Guidelines
|
<i class="fa-solid fa-book-open"></i>Student Guidelines
|
||||||
</a>
|
</a>
|
||||||
<a href="/Feedback&Complain" class="nav-link">
|
<a href="/Feedback&Complain" class="nav-link">
|
||||||
<i class="fa-solid fa-credit-card"></i>Feedback & Complain
|
<i class="fa-solid fa-comments"></i>Feedback & Complain
|
||||||
</a>
|
</a>
|
||||||
<a href="/StudentProfile" class="nav-link">
|
<a href="/StudentProfile" class="nav-link">
|
||||||
<i class="fa-solid fa-user"></i>Student Profile
|
<i class="fa-solid fa-user"></i>Student Profile
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="student-portal-fixed.html" class="nav-link logout-link">
|
|
||||||
<i class="fa-solid fa-right-from-bracket"></i>Logout
|
|
||||||
</a>
|
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="sidebar-user-profile">
|
||||||
|
@if(Auth::check())
|
||||||
|
@php
|
||||||
|
$displayName = Auth::user()->first_name . ' ' . Auth::user()->last_name;
|
||||||
|
@endphp
|
||||||
|
<div class="dropdown">
|
||||||
|
<a class="dropdown-toggle" href="#" role="button" id="userMenuDesktop" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
<i class="fa-solid fa-circle-user" style="font-size: 24px;"></i>
|
||||||
|
<span class="user-profile-name text-truncate" style="max-width: 160px;">{{ $displayName }}</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="dropdown-menu dropdown-menu-start shadow w-100" aria-labelledby="userMenuDesktop">
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item" href="/StudentProfile">
|
||||||
|
<i class="fa-solid fa-user me-2"></i> Profile
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="submitLogout(); return false;" class="nav-link logout-link mt-auto" style="color:black;">
|
||||||
|
<i class="fa-solid fa-right-from-bracket"></i>Logout
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div class="d-flex gap-2 px-2">
|
||||||
|
<a href="/signin" class="btn btn-outline-light btn-sm w-50">Sign In</a>
|
||||||
|
<a href="/signup" class="btn btn-warning btn-sm w-50">Register</a>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<!-- Main Content Area -->
|
<!-- Main Content Area -->
|
||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="content-body">
|
@yield('content')
|
||||||
@yield('content')
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<!-- Sidebar Toggle JavaScript -->
|
<!-- Sidebar Toggle JavaScript -->
|
||||||
<script>
|
<script>
|
||||||
const toggleBtn = document.getElementById('toggleBtn');
|
const toggleBtn = document.getElementById('toggleBtn');
|
||||||
|
|
@ -266,11 +335,12 @@
|
||||||
overlay.classList.toggle('show');
|
overlay.classList.toggle('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Close sidebar if user clicks outside of it (on the dim background overlay)
|
// Close sidebar if user clicks outside of it
|
||||||
overlay.addEventListener('click', () => {
|
overlay.addEventListener('click', () => {
|
||||||
sidebar.classList.remove('show');
|
sidebar.classList.remove('show');
|
||||||
overlay.classList.remove('show');
|
overlay.classList.remove('show');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -4,10 +4,9 @@
|
||||||
|
|
||||||
@section('content')
|
@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 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 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">
|
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
|
|
@ -26,8 +25,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-portal-content {
|
.main-portal-content {
|
||||||
margin-left: 260px;
|
padding: 20px 15px;
|
||||||
padding: 40px;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
@ -37,8 +35,8 @@ body {
|
||||||
background: linear-gradient(135deg, var(--purple-main) 0%, var(--purple-dark) 100%) !important;
|
background: linear-gradient(135deg, var(--purple-main) 0%, var(--purple-dark) 100%) !important;
|
||||||
color: var(--white) !important;
|
color: var(--white) !important;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
padding: 45px;
|
padding: 30px 20px;
|
||||||
margin-bottom: 35px;
|
margin-bottom: 30px;
|
||||||
box-shadow: 0 10px 30px rgba(74, 28, 62, 0.15);
|
box-shadow: 0 10px 30px rgba(74, 28, 62, 0.15);
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
@ -67,7 +65,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.course-card img {
|
.course-card img {
|
||||||
height: 280px;
|
height: 200px;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
@ -166,8 +164,23 @@ body {
|
||||||
}
|
}
|
||||||
.btn-continue:hover { background-color: #f1f5f9 !important; }
|
.btn-continue:hover { background-color: #f1f5f9 !important; }
|
||||||
|
|
||||||
@media (max-width: 991.98px) {
|
/* Responsive Media Queries */
|
||||||
.main-portal-content { margin-left: 0; padding: 20px 15px; }
|
@media (min-width: 768px) {
|
||||||
|
.main-portal-content {
|
||||||
|
padding: 34px;
|
||||||
|
}
|
||||||
|
.hero {
|
||||||
|
padding: 45px;
|
||||||
|
}
|
||||||
|
.course-card img {
|
||||||
|
height: 280px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.main-portal-content {
|
||||||
|
margin-left: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
@ -175,7 +188,7 @@ body {
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<div class="hero p-4 p-md-5 mb-4">
|
<div class="hero">
|
||||||
<div class="row align-items-center">
|
<div class="row align-items-center">
|
||||||
<div class="col-lg-9 col-md-8 text-start">
|
<div class="col-lg-9 col-md-8 text-start">
|
||||||
<h1 class="fw-bold display-6 mb-2">Diploma in Automotive Engineering</h1>
|
<h1 class="fw-bold display-6 mb-2">Diploma in Automotive Engineering</h1>
|
||||||
|
|
@ -200,7 +213,7 @@ body {
|
||||||
<div class="card 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">
|
<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="card-body p-4">
|
||||||
<div class="d-flex justify-content-between align-items-start mb-3">
|
<div class="d-flex flex-wrap justify-content-between align-items-start gap-2 mb-3">
|
||||||
<div>
|
<div>
|
||||||
<h3 class="fw-bold text-dark mb-1">AE101</h3>
|
<h3 class="fw-bold text-dark mb-1">AE101</h3>
|
||||||
<p class="text-muted small mb-0">
|
<p class="text-muted small mb-0">
|
||||||
|
|
@ -227,8 +240,8 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Modules Header -->
|
<!-- Modules Header -->
|
||||||
<div class="mt-5 mb-4">
|
<div class="my-4">
|
||||||
<h4 class="fw-bold" style="color: var(--purple-dark);">
|
<h4 class="fw-bold text-dark">
|
||||||
<i class="fa-solid fa-list-check me-2" style="color: var(--gold-accent);"></i> Course Modules
|
<i class="fa-solid fa-list-check me-2" style="color: var(--gold-accent);"></i> Course Modules
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -240,7 +253,7 @@ body {
|
||||||
<div class="card module-card h-100">
|
<div class="card module-card h-100">
|
||||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
<div class="d-flex justify-content-between align-items-start gap-2 mb-2">
|
||||||
<h6 class="fw-bold text-dark mb-0">Engine Fundamentals</h6>
|
<h6 class="fw-bold text-dark mb-0">Engine Fundamentals</h6>
|
||||||
<span class="status completed">Completed</span>
|
<span class="status completed">Completed</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -258,7 +271,7 @@ body {
|
||||||
<div class="card module-card h-100">
|
<div class="card module-card h-100">
|
||||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
<div class="d-flex justify-content-between align-items-start gap-2 mb-2">
|
||||||
<h6 class="fw-bold text-dark mb-0">Transmission Systems</h6>
|
<h6 class="fw-bold text-dark mb-0">Transmission Systems</h6>
|
||||||
<span class="status progressing">In Progress</span>
|
<span class="status progressing">In Progress</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -276,7 +289,7 @@ body {
|
||||||
<div class="card module-card h-100">
|
<div class="card module-card h-100">
|
||||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
<div class="d-flex justify-content-between align-items-start gap-2 mb-2">
|
||||||
<h6 class="fw-bold text-secondary mb-0">Brake Systems</h6>
|
<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>
|
<span class="status locked"><i class="fa fa-lock me-1"></i> Locked</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -294,7 +307,7 @@ body {
|
||||||
<div class="card module-card h-100">
|
<div class="card module-card h-100">
|
||||||
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
<div class="card-body p-4 d-flex flex-column justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
<div class="d-flex justify-content-between align-items-start gap-2 mb-2">
|
||||||
<h6 class="fw-bold text-secondary mb-0">Hybrid Technology</h6>
|
<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>
|
<span class="status locked"><i class="fa fa-lock me-1"></i> Locked</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@ body {
|
||||||
|
|
||||||
<div class="row g-4 animate-item fade-in-init">
|
<div class="row g-4 animate-item fade-in-init">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-book"></i>
|
<i class="fa-solid fa-book"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -249,7 +249,7 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-calendar-days"></i>
|
<i class="fa-solid fa-calendar-days"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -259,7 +259,7 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-file-lines"></i>
|
<i class="fa-solid fa-file-lines"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -269,7 +269,7 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-square-poll-vertical"></i>
|
<i class="fa-solid fa-square-poll-vertical"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -279,7 +279,7 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-credit-card"></i>
|
<i class="fa-solid fa-credit-card"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -289,7 +289,7 @@ body {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card portal-card h-100 text-center p-4">
|
<div class="card portal-card h-100 text-center p-4" onclick="studentlogin()">
|
||||||
<div class="portal-icon">
|
<div class="portal-icon">
|
||||||
<i class="fa-solid fa-user"></i>
|
<i class="fa-solid fa-user"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -304,11 +304,11 @@ body {
|
||||||
<!-- QUICK LINKS -->
|
<!-- QUICK LINKS -->
|
||||||
<section class="py-5 bg-light overflow-hidden">
|
<section class="py-5 bg-light overflow-hidden">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="text-center mb-5 animate-item fade-up-init">
|
<div class="text-center mb-5 animate-item fade-up-init" onclick="studentlogin()">
|
||||||
<h2 class="fw-bold">Quick Links</h2>
|
<h2 class="fw-bold">Quick Links</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row text-center animate-item slide-right-init">
|
<div class="row text-center animate-item slide-right-init" onclick="studentlogin()">
|
||||||
<div class="col-md-3 mb-3">
|
<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>
|
<a href="#" class="btn btn-outline-dark w-100 py-2 fw-semibold rounded-pill">Academic Calendar</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -409,4 +409,6 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
@ -20,10 +20,11 @@ body{
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-header{
|
.page-header{
|
||||||
background:linear-gradient(135deg,#0d6efd,#0a58ca);
|
background:linear-gradient(135deg,#9954b8,#4f3d5b));
|
||||||
color:#fff;
|
color:#fff;
|
||||||
padding:45px;
|
padding:45px;
|
||||||
border-radius:20px;
|
border-radius:20px;
|
||||||
|
background-color: #5E244E;
|
||||||
margin-bottom:30px;
|
margin-bottom:30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use App\Http\Controllers\AuthController;
|
use App\Http\Controllers\AuthController;
|
||||||
use App\Http\Controllers\StudentPortalController;
|
use App\Http\Controllers\StudentPortalController;
|
||||||
|
use App\Http\Controllers\ContactMsgController;
|
||||||
|
use App\Http\Controllers\FeedbackController;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -15,7 +17,9 @@ Route::get('/', function () {
|
||||||
return view('welcome');
|
return view('welcome');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::post('/feedback/store', [FeedbackController::class, 'feedback']) ->middleware('auth') ->name('feedback.store');
|
||||||
|
|
||||||
|
Route::post('/contact-submit', [ContactMsgController::class, 'store'])->name('contact.store');
|
||||||
|
|
||||||
Route::put('/profile/update', [AuthController::class, 'update'])->name('profile.update')->middleware('auth');
|
Route::put('/profile/update', [AuthController::class, 'update'])->name('profile.update')->middleware('auth');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue