feat: Implement Counselor management with CRUD functionality and associated views

This commit is contained in:
2025-08-19 17:28:23 +05:45
parent 3262e279a8
commit 6f16c1230f
12 changed files with 369 additions and 12 deletions

View File

@@ -219,7 +219,45 @@
});
</script>
<script>
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('contact-form');
const submitBtn = document.getElementById('submit-btn');
const url = form.action;
form.addEventListener('submit', async (e) => {
e.preventDefault();
submitBtn.disabled = true;
submitBtn.textContent = 'Submitting…';
const formData = new FormData(form);
try {
const res = await fetch(url, {
method: 'POST',
headers: {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]')
.content
},
body: formData
});
const data = await res.json();
if (res.ok) {
form.reset();
toastr.success(data.message || 'Contact Submitted successful!');
} else if (data.errors && data.errors.email) {
data.errors.email.forEach(msg => toastr.error(msg));
} else {
toastr.error('Submittion failed. Please try again.');
}
} catch (err) {
console.error(err);
toastr.error('Something went wrong. Please try again.');
} finally {
submitBtn.disabled = false;
submitBtn.textContent = 'Submit';
}
});
});
</script>
<script>
$(document).ready(function() {
var weekdays = [

View File

@@ -53,12 +53,11 @@
<div class="w-full flex flex-wrap flex-xl-nowrap">
<div class="w-100percent lg:w-full flex animation-element">
<a href="study-usa.php"
<a href="{{ $slider->button_url }}"
class="btn btn-solid btn-hover-txt-marquee btn-hover-txt-marquee-y btn-icon-right lg:text-12 text-18 font-light rounded-20 leading-5 bg-brand module-btn-sm">
<span class="btn-txt " data-text="Find my dream university"
data-split-text="true"
data-split-options='{"type": "chars, words"}'>Find my dream
university</span>
data-split-options='{"type": "chars, words"}'>{{ $slider->button_text }}</span>
<span class="btn-icon mt-3"><i
class="fa-solid fa-arrow-right text-11 bg-white rounded-full text-brand banner-arrow"></i></span></a>
</div>

View File

@@ -31,7 +31,7 @@
consultation </span>with Certified Counsellors</h5>
</div>
<form action="{{ route('enquiry.store') }}" method="POST" id="contact-form">
<form action="{{ route('counselor.store') }}" method="POST" id="counselor-form">
@csrf
<input class="w-full mb-10 rounded-6 py-15 text-14 px-10 border-bottom" type="text"
name="name" id="name" placeholder=" Name">
@@ -43,17 +43,18 @@
<input class="w-60percent mb-10 rounded-6 py-15 text-14 px-10" type="email"
name="email" id="email" placeholder="Your Email">
<input class="w-30percent mb-10 rounded-6 py-15 text-14 px-10" type="number"
inputmode="numeric" name="mobile" id="mobile" placeholder="Contact">
inputmode="numeric" name="contact" id="contact" placeholder="Contact">
</div>
<input class="w-full mb-10 rounded-6 py-15 text-14 px-10" type="text" name="score"
id="score" placeholder="Language Test Score (ilets overall: 7.0 )">
<input class="w-full mb-10 rounded-6 py-15 text-14 px-10" type="text"
name="test_score" id="test_score"
placeholder="Language Test Score (ilets overall: 7.0 )">
<input class="w-full mb-20 rounded-6 py-15 text-14 px-10" type="text"
name="qualification" id="qualification"
placeholder="Recent Education Qualification">
<input class="mb-20" type="checkbox">
<label class="text-14 mb-20" for="">I accept the terms & conditions</label>
<button type="submit" id="submit-btn"
<button type="submit" id="counselor-submit-btn"
class=" w-full py-10 bg-sec text-white rounded-10 text-16 border-0 button-hover">
<i class="fa-solid fa-paper-plane text-white text-16 pr-5"></i>
Send Message</button>