Compare commits

...

64 Commits

Author SHA1 Message Date
3666b749ea changes in email template for enquiries and form submittion, other all minor error fixed. 2025-08-28 13:11:34 +05:45
086395a0a4 feat: Implement vacancy management features including listing, creating, and editing vacancies 2025-08-27 17:53:32 +05:45
2ca99f9dbc fixes 2025-08-27 12:06:10 +05:45
3f503c2d38 fix 2025-08-27 12:05:11 +05:45
032e8405ca fix: Update gallery form to change label from 'Video Link' to 'Description' and adjust placeholder text 2025-08-27 12:01:42 +05:45
f22a60fef4 fixes 2025-08-26 17:46:25 +05:45
5299aa268f Remove unused class column from enquiries data table and enhance form validation 2025-08-26 17:36:15 +05:45
40d34a7692 fix: Adjust cost calculation based on service status in cost result view 2025-08-25 17:22:42 +05:45
658d3600a2 maintained filteration in stay type in cost calculator 2025-08-25 16:20:07 +05:45
dc32ac8f91 fix 2025-08-24 18:03:00 +05:45
9d371a8d0f fix 2025-08-24 17:58:58 +05:45
0c9adf1c7a fix 2025-08-24 17:49:47 +05:45
087c19dc4a fix: Correct column title from 'Contact' to 'Mobile' in enquiry index 2025-08-24 17:46:26 +05:45
0c92a6f518 fix 2025-08-24 17:42:15 +05:45
2d8c43691f feat: Enhance contact form with required fields for name, email, mobile, and message 2025-08-24 17:40:28 +05:45
27f371955c feat: Update contact form with proper action and input names for enquiry submission 2025-08-24 17:39:13 +05:45
1ee87559da fix: replace hardcoded map iframe with dynamic setting 2025-08-24 13:20:28 +05:45
6ef55240a0 Enhance 404 error page with custom layout and image, add admin login routes 2025-08-24 12:47:48 +05:45
6d71fe4b4a feat: Add Vacancy management functionality with controller, model, migration, and form 2025-08-22 17:03:00 +05:45
52732b0f09 feat: Implement Career Management Module
- Created CareerController for handling career-related CRUD operations.
- Added Career model with necessary attributes and relationships.
- Created migration for careers table with relevant fields.
- Developed views for creating, editing, and listing careers.
- Implemented DataTables for career listing with action buttons.
- Added routes for career management and integrated with sidebar.
- Created client-side career detail template and updated career listing page.
- Added helper functions to fetch active careers for display.
2025-08-22 13:52:06 +05:45
a11de7be9e Merge branch 'alika' of http://bibgit.com/Subash/new_raffles 2025-08-22 12:22:54 +05:45
faa2e77a46 uni size 2025-08-22 12:25:20 +05:45
f55aeec8e8 flex footer 2025-08-22 11:53:59 +05:45
b24e6a9c66 Merge branch 'alika' of http://bibgit.com/Subash/new_raffles 2025-08-22 11:51:25 +05:45
5f8c1aed38 Merge branch 'main' of ssh://bibgit.com:22022/Bibhuti-Solutions/new_raffles into alika 2025-08-22 11:51:18 +05:45
10b549315f social platform link 2025-08-22 11:51:06 +05:45
4c272e0e67 fix: Correct data attributes for first and last name fields in franchise index 2025-08-22 11:48:23 +05:45
724f46a82c fixes 2025-08-22 11:45:38 +05:45
1a744e1e2f fix 2025-08-22 11:36:34 +05:45
0652a07452 feat: Add galleries data to page views and update templates for dynamic content 2025-08-22 11:35:47 +05:45
d966b75f56 fix: Update image asset paths and modify event loop to display previous events 2025-08-22 11:26:50 +05:45
bce7ec8d3a error fix 2025-08-22 11:17:01 +05:45
31bea937c4 feat: Add functions to retrieve previous and upcoming events; update events template to display dynamic event data 2025-08-22 11:15:13 +05:45
711ae9caf9 feat: Implement Event management features including CRUD operations and routing 2025-08-22 11:03:10 +05:45
ce09f98c55 feat: Add franchise and newsletter routes; update CSR template layout 2025-08-22 10:14:26 +05:45
d29b3ba489 Add Franchise and Newsletter management features
- Implemented FranchiseController with CRUD operations and data handling.
- Created NewsletterController for managing newsletter subscriptions.
- Added routes for Franchise and Newsletter resources in web.php.
- Developed views for Franchise and Newsletter management including index, create, edit, and datatable actions.
- Introduced form handling and validation for Franchise and Newsletter submissions.
- Created database migrations for franchises and newsletters tables.
- Updated sidebar configuration to include Franchise and Newsletter sections.
- Enhanced client-side forms with AJAX submission for Franchise and Newsletter.
2025-08-21 23:23:38 +05:45
7f9d6bc8ec Merge branch 'alika' of http://bibgit.com/Subash/new_raffles 2025-08-21 22:15:42 +05:45
7155c1a6fc fix: Update image sources to use dynamic asset paths and implement blog loop in CSR template 2025-08-21 18:08:59 +05:45
6e9b6291d3 changes 2025-08-21 18:04:02 +05:45
622b9e9445 fix: Update service icon background color to blue in header 2025-08-21 18:01:48 +05:45
3148715b73 terms and condition changes 2025-08-21 17:55:44 +05:45
6ff22bc02d gallary changes 2025-08-21 17:50:39 +05:45
badfdc4c70 change in event 2025-08-21 17:41:22 +05:45
3bfb3f2b20 event changes 2025-08-21 17:37:05 +05:45
2a2222d0c6 social platform route 2025-08-21 17:29:08 +05:45
a57e00191a fix: Update franchise template to use dynamic content for images and contact details 2025-08-21 17:25:31 +05:45
c77828de8c fix: Update slidesPerView setting for improved carousel responsiveness 2025-08-21 17:06:44 +05:45
50a2b09cfa fix: Increase slidesPerView setting for enhanced carousel display on larger screens 2025-08-21 17:04:48 +05:45
a504987ac1 fix: Update slidesPerView setting for improved carousel display on larger screens 2025-08-21 17:03:49 +05:45
e80c67c0e2 fix: Adjust slidesPerView setting for better responsiveness in carousel 2025-08-21 17:02:39 +05:45
a145943bd1 Merge branch 'main' of ssh://bibgit.com:22022/Bibhuti-Solutions/new_raffles into alika 2025-08-21 17:00:41 +05:45
3ca3681513 text edited 2025-08-21 17:00:31 +05:45
fb52c42208 fix: Correct data-target attribute and format image tag in universities section 2025-08-21 16:35:18 +05:45
d5de6658f0 image object fit 2025-08-21 15:58:32 +05:45
f2bd2dd1c1 refactor: Update study destination template to improve FAQ section and comment out blog section 2025-08-21 15:53:49 +05:45
d357125961 Merge branch 'alika' of http://bibgit.com/Subash/new_raffles 2025-08-21 15:50:19 +05:45
8c6719e6c3 Add new pages for gallery, sitemap, social platforms, terms, and update study destination template
- Created gallery-template.blade.php for displaying a gallery of images.
- Added sitemap.blade.php to outline the structure of the website.
- Introduced social-platform-template.blade.php for showcasing social media links.
- Implemented terms-template.blade.php to present terms and conditions.
- Updated study-destination-template.blade.php to remove redundant code and improve structure.
- Commented out dashboard toggle switch in navbar for future reference.
2025-08-21 15:40:47 +05:45
df97f3c842 footer column 2025-08-21 15:34:15 +05:45
efd675d576 footer column 2025-08-21 15:33:46 +05:45
7c25b17de9 fix: Remove duplicate '@extends' directive in study destination template 2025-08-21 12:45:36 +05:45
54a662b973 fix: Correct image path for partner background in universities slider 2025-08-21 12:40:56 +05:45
f6339f909e fix: Update FAQ rendering to allow HTML content and correct numbering in tab buttons 2025-08-21 12:35:06 +05:45
3bda70472d Merge branch 'alika' of http://bibgit.com/Subash/new_raffles 2025-08-21 12:29:02 +05:45
d15949d9c2 feat: Add FAQs field to Country model and update form for extra FAQs input 2025-08-21 12:28:07 +05:45
97 changed files with 8226 additions and 2580 deletions

View File

@@ -0,0 +1,137 @@
<?php
namespace Modules\CCMS\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Modules\CCMS\Models\Career;
use Yajra\DataTables\Facades\DataTables;
class CareerController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (request()->ajax()) {
$model = Career::query()->orderBy('order');
return DataTables::eloquent($model)
->addIndexColumn()
->setRowClass('tableRow')
->editColumn('status', function (Career $career) {
$status = $career->status ? 'Published' : 'Draft';
$color = $career->status ? 'text-success' : 'text-danger';
return "<p class='{$color}'>{$status}</p>";
})
->addColumn('action', 'ccms::career.datatable.action')
->rawColumns(['status', 'action'])
->toJson();
}
return view('ccms::career.index', [
'title' => 'Career List',
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$careerOptions = Career::where('status', 1)->pluck('job_title', 'id');
return view('ccms::career.create', [
'title' => 'Create Career',
'editable' => false,
'careerOptions' => $careerOptions
]);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$maxOrder = Career::max('order');
$order = $maxOrder ? ++$maxOrder : 1;
$request->mergeIfMissing([
'slug' => Str::slug($request->title),
// 'order' => $order,
]);
Career::create($request->all());
flash()->success("Career has been created!");
return redirect()->route('career.index');
}
/**
* Show the specified resource.
*/
public function show($id)
{
return view('ccms::show');
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$careerOptions = Career::where('status', 1)->pluck('job_title', 'id');
$career = Career::findOrFail($id);
return view('ccms::career.edit', [
'title' => 'Edit Career',
'editable' => true,
'career' => $career,
'careerOptions' => $careerOptions
]);
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
$request->merge([
'slug' => Str::slug($request->title),
]);
$validated = $request->validate([]);
$career = Career::findOrFail($id);
$career->update($request->all());
flash()->success("Career has been updated.");
return redirect()->back();
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
$career = Career::findOrFail($id);
$career->delete();
return response()->json(['status' => 200, 'message' => "Career has been deleted."], 200);
}
public function reorder(Request $request)
{
$careers = Career::all();
foreach ($careers as $career) {
foreach ($request->order as $order) {
if ($order['id'] == $career->id) {
$career->update(['order' => $order['position']]);
}
}
}
return response(['status' => true, 'message' => 'Reordered successfully'], 200);
}
public function toggle($id)
{
$career = Career::findOrFail($id);
$career->update(['status' => !$career->status]);
return response(['status' => 200, 'message' => 'Toggled successfully'], 200);
}
}

View File

@@ -20,8 +20,11 @@ class CounselorController extends Controller
$model = Counselor::query()->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->addColumn('checkbox', function (Counselor $enquiry) {
return '<input type="checkbox" class="enquiry-select" value="' . $enquiry->id . '" data-name="' . $enquiry->name . '">';
})
->addColumn('action', 'ccms::counselor.datatable.action')
->rawColumns(['action'])
->rawColumns(['checkbox', 'action'])
->toJson();
}
return view('ccms::counselor.index', [

View File

@@ -18,10 +18,14 @@ class EnquiryController extends Controller
public function index()
{
$is_enrolled = request()->get('is_enrolled', null);
if (request()->ajax()) {
$model = Enquiry::query()->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->addColumn('checkbox', function (Enquiry $enquiry) {
return '<input type="checkbox" class="enquiry-select" value="' . $enquiry->id . '" data-name="' . $enquiry->name . '">';
})
->setRowClass(function (Enquiry $enquiry) {
return $enquiry->is_read ? 'text-muted' : 'text-dark';
})
@@ -35,7 +39,7 @@ class EnquiryController extends Controller
return $enquiry->message ?? '-';
})
->addColumn('action', 'ccms::enquiry.datatable.action')
->rawColumns(['action'])
->rawColumns(['checkbox', 'action'])
->toJson();
}
return view('ccms::enquiry.index', [
@@ -60,6 +64,7 @@ class EnquiryController extends Controller
$rules = [
'name' => 'required|string',
'email' => 'required|email',
'mobile' => 'required|string',
'digits:10',
'subject' => 'nullable',
'message' => 'nullable|max:250',

View File

@@ -0,0 +1,147 @@
<?php
namespace Modules\CCMS\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Modules\CCMS\Models\Event;
use Yajra\DataTables\Facades\DataTables;
class EventController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (request()->ajax()) {
$model = Event::query()->orderBy('order');
return DataTables::eloquent($model)
->addIndexColumn()
->setRowClass('tableRow')
->editColumn('image', function (Event $event) {
return $event->getRawOriginal('image') ? "<img src='{$event->image}' alt='{$event->title}' class='rounded avatar-sm material-shadow ms-2 img-thumbnail'>" : '-';
})
->editColumn('parent_id', function (Event $event) {
return $event->parent ? "<span class='badge bg-primary p-1'>{$event->parent?->title}</span>" : '-';
})
->editColumn('status', function (Event $event) {
$status = $event->status ? 'Published' : 'Draft';
$color = $event->status ? 'text-success' : 'text-danger';
return "<p class='{$color}'>{$status}</p>";
})
->addColumn('action', 'ccms::event.datatable.action')
->rawColumns(['parent_id', 'image', 'status', 'action'])
->toJson();
}
return view('ccms::event.index', [
'title' => 'Event List',
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$eventOptions = Event::where('status', 1)->pluck('title', 'id');
return view('ccms::event.create', [
'title' => 'Create Event',
'editable' => false,
'eventOptions' => $eventOptions
]);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$maxOrder = Event::max('order');
$order = $maxOrder ? ++$maxOrder : 1;
$request->mergeIfMissing([
'slug' => Str::slug($request->title),
'order' => $order,
]);
$validated = $request->validate([
'title' => 'required',
]);
Event::create($request->all());
flash()->success("Event has been created!");
return redirect()->route('event.index');
}
/**
* Show the specified resource.
*/
public function show($id)
{
return view('ccms::show');
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$eventOptions = Event::where('status', 1)->pluck('title', 'id');
$event = Event::findOrFail($id);
return view('ccms::event.edit', [
'title' => 'Edit Event',
'editable' => true,
'event' => $event,
'eventOptions' => $eventOptions
]);
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
$request->merge([
'slug' => Str::slug($request->title),
]);
$validated = $request->validate([]);
$event = Event::findOrFail($id);
$event->update($request->all());
flash()->success("Event has been updated.");
return redirect()->back();
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
$event = Event::findOrFail($id);
$event->delete();
return response()->json(['status' => 200, 'message' => "Event has been deleted."], 200);
}
public function reorder(Request $request)
{
$events = Event::all();
foreach ($events as $event) {
foreach ($request->order as $order) {
if ($order['id'] == $event->id) {
$event->update(['order' => $order['position']]);
}
}
}
return response(['status' => true, 'message' => 'Reordered successfully'], 200);
}
public function toggle($id)
{
$event = Event::findOrFail($id);
$event->update(['status' => !$event->status]);
return response(['status' => 200, 'message' => 'Toggled successfully'], 200);
}
}

View File

@@ -0,0 +1,118 @@
<?php
namespace Modules\CCMS\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Rules\Recaptcha;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Validator;
use Modules\CCMS\Models\Franchise;
use Yajra\DataTables\Facades\DataTables;
class FranchiseController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (request()->ajax()) {
$model = Franchise::query()->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->addColumn('checkbox', function (Franchise $enquiry) {
return '<input type="checkbox" class="enquiry-select" value="' . $enquiry->id . '" data-name="' . $enquiry->name . '">';
})
->addColumn('action', 'ccms::franchise.datatable.action')
->rawColumns(['checkbox', 'action'])
->toJson();
}
return view('ccms::franchise.index', [
'title' => 'Franchise List',
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
try {
$rules = [
'first_name' => 'required|string',
'email' => 'required|email',
];
if (setting('enable_reCaptcha') == 1) {
$rules['g-recaptcha-response'] = ['required', new Recaptcha];
}
$messages = [
'email.email' => 'Must be a valid email address.',
'g-recaptcha-response.required' => 'Please complete reCAPTCHA validation.',
'g-recaptcha-response' => 'Invalid reCAPTCHA.',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 422);
}
Franchise::create($request->all());
return response()->json(['status' => 200, 'message' => "Thank you for reaching out! Your message has been received and we'll get back to you shortly."], 200);
} catch (\Exception $e) {
return response()->json(['status' => 500, 'message' => 'Internal server error', 'error' => $e->getMessage()], 500);
}
}
/**
* Show the specified resource.
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
try {
$franchise = Franchise::whereId($id)->first();
if ($franchise) {
$franchise->delete();
}
return response()->json(['status' => 200, 'message' => 'Franchise has been deleted!'], 200);
} catch (\Throwable $th) {
return redirect()->back()->with('error', $th->getMessage());
}
}
}

View File

@@ -0,0 +1,117 @@
<?php
namespace Modules\CCMS\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Rules\Recaptcha;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Validator;
use Modules\CCMS\Models\Newsletter;
use Yajra\DataTables\Facades\DataTables;
class NewsletterController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (request()->ajax()) {
$model = Newsletter::query()->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->addColumn('checkbox', function (Newsletter $enquiry) {
return '<input type="checkbox" class="enquiry-select" value="' . $enquiry->id . '" data-name="' . $enquiry->name . '">';
})
->addColumn('action', 'ccms::newsletter.datatable.action')
->rawColumns(['checkbox', 'action'])
->toJson();
}
return view('ccms::newsletter.index', [
'title' => 'Newsletter List',
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
try {
$rules = [
'email' => 'required|email',
];
if (setting('enable_reCaptcha') == 1) {
$rules['g-recaptcha-response'] = ['required', new Recaptcha];
}
$messages = [
'email.email' => 'Must be a valid email address.',
'g-recaptcha-response.required' => 'Please complete reCAPTCHA validation.',
'g-recaptcha-response' => 'Invalid reCAPTCHA.',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 422);
}
Newsletter::create($validator->validated());
return response()->json(['status' => 200, 'message' => "Thank you for reaching out! Your message has been received and we'll get back to you shortly."], 200);
} catch (\Exception $e) {
return response()->json(['status' => 500, 'message' => 'Internal server error', 'error' => $e->getMessage()], 500);
}
}
/**
* Show the specified resource.
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
try {
$newsletter = Newsletter::whereId($id)->first();
if ($newsletter) {
$newsletter->delete();
}
return response()->json(['status' => 200, 'message' => 'Newsletter has been deleted!'], 200);
} catch (\Throwable $th) {
return redirect()->back()->with('error', $th->getMessage());
}
}
}

View File

@@ -92,7 +92,7 @@ class PageController extends Controller
$order = $maxOrder ? ++$maxOrder : 1;
$request->merge([
'order' => $order,
'status' => 0,
'status' => 1,
'slug' => $request->title == 'Homepage' ? '/' : Str::slug($request->title),
]);
}

View File

@@ -0,0 +1,138 @@
<?php
namespace Modules\CCMS\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Rules\Recaptcha;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Validator;
use Modules\CCMS\Models\Vacancy;
use Yajra\DataTables\Facades\DataTables;
class VacancyController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
if (request()->ajax()) {
$model = Vacancy::query()->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->addColumn('checkbox', function (Vacancy $enquiry) {
return '<input type="checkbox" class="enquiry-select" value="' . $enquiry->id . '" data-name="' . $enquiry->name . '">';
})
->addColumn('action', 'ccms::vacancy.datatable.action')
->rawColumns(['checkbox', 'action'])
->toJson();
}
return view('ccms::vacancy.index', [
'title' => 'Vacancy List',
]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
try {
// $rules = [
// ];
// if (setting('enable_reCaptcha') == 1) {
// $rules['g-recaptcha-response'] = ['required', new Recaptcha];
// }
// $messages = [
// 'email.email' => 'Must be a valid email address.',
// 'g-recaptcha-response.required' => 'Please complete reCAPTCHA validation.',
// 'g-recaptcha-response' => 'Invalid reCAPTCHA.',
// ];
// $validator = Validator::make($request->all());
// if ($validator->fails()) {
// return response()->json(['errors' => $validator->errors()], 422);
// }
$modelClass = "Modules\\CCMS\\Models\\Career";
$model = $modelClass::findOrFail($request->career_id);
foreach ($request->document as $file) {
$model->addToDocumentCollection(collectionName: 'uploads/document', file: $file, documentName: $request->first_name, referenceDocumentId: null);
}
Vacancy::create($request->all());
return response()->json(['status' => 200, 'message' => "Thank you for reaching out! Your message has been received and we'll get back to you shortly."], 200);
} catch (\Exception $e) {
return response()->json(['status' => 500, 'message' => 'Internal server error', 'error' => $e->getMessage()], 500);
}
}
/**
* Show the specified resource.
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
try {
$vacancy = Vacancy::whereId($id)->first();
if ($vacancy) {
$vacancy->delete();
}
return response()->json(['status' => 200, 'message' => 'Vacancy has been deleted!'], 200);
} catch (\Throwable $th) {
return redirect()->back()->with('error', $th->getMessage());
}
}
public function markAsRead($id)
{
try {
$vacancy = Vacancy::whereId($id)->first();
if ($vacancy) {
$vacancy->update(['is_read' => 1]);
}
return response()->json(['status' => 200, 'message' => 'Vacancy has been marked as read!'], 200);
} catch (\Throwable $th) {
return redirect()->back()->with('error', $th->getMessage());
}
}
}

View File

@@ -0,0 +1,97 @@
<?php
namespace Modules\CCMS\Models;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Modules\CCMS\Traits\UpdateCustomFields;
use Modules\Document\Models\Document;
use App\Traits\AddToDocumentCollection;
class Career extends Model
{
use HasFactory, UpdateCustomFields, AddToDocumentCollection, CreatedUpdatedBy;
protected $fillable = [
'department',
'job_title',
'job_description',
'job_requirements',
'salary_range',
'location',
'position',
'start_date',
'end_date',
'status',
'createdby',
'updatedby',
'order',
];
protected function casts(): array
{
return [
'custom' => 'array',
];
}
protected function images(): Attribute
{
return Attribute::make(
get: function ($value) {
if (empty($value)) {
return [];
}
$parts = explode(',', $value);
return array_map(fn($part) => asset(trim($part)), $parts);
}
);
}
protected function image(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function banner(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function sidebarImage(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function iconImage(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
public function children()
{
return $this->hasMany(Career::class, 'parent_id');
}
public function parent()
{
return $this->belongsTo(Career::class, 'parent_id');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@@ -23,6 +23,7 @@ class Country extends Model
'slug',
'short_description',
'description',
'faqs',
'image',
'parent_id',
'images',
@@ -104,5 +105,4 @@ class Country extends Model
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@@ -0,0 +1,113 @@
<?php
namespace Modules\CCMS\Models;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Modules\CCMS\Traits\UpdateCustomFields;
use Modules\Document\Models\Document;
use App\Traits\AddToDocumentCollection;
class Event extends Model
{
use HasFactory, UpdateCustomFields, AddToDocumentCollection, CreatedUpdatedBy;
/**
* The attributes that are mass assignable.
*/
protected $fillable = [
'title',
'slug',
'short_description',
'description',
'parent_id',
'icon_class',
'icon_image',
'image',
'images',
'start_date',
'end_date',
'custom',
'banner',
'meta_title',
'meta_description',
'meta_keywords',
'sidebar_title',
'sidebar_content',
'sidebar_image',
'button_text',
'button_url',
'button_target',
'status',
'createdby',
'updatedby',
'order',
];
protected function casts(): array
{
return [
'custom' => 'array',
];
}
protected function images(): Attribute
{
return Attribute::make(
get: function ($value) {
if (empty($value)) {
return [];
}
$parts = explode(',', $value);
return array_map(fn($part) => asset(trim($part)), $parts);
}
);
}
protected function image(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function banner(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function sidebarImage(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
protected function iconImage(): Attribute
{
return Attribute::make(
get: fn($value) => asset($value),
);
}
public function children()
{
return $this->hasMany(Event::class, 'parent_id');
}
public function parent()
{
return $this->belongsTo(Event::class, 'parent_id');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace Modules\CCMS\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\CCMS\Database\Factories\FranchiseFactory;
class Franchise extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*/
protected $fillable = [
'first_name',
'last_name',
'email',
'phone',
'address',
'city',
'state',
'invest_level',
'own_business',
'yes_own_des',
'franchise_location',
'start_time_frame',
'office_setup',
'website'
];
// protected static function newFactory(): FranchiseFactory
// {
// // return FranchiseFactory::new();
// }
}

View File

@@ -0,0 +1,19 @@
<?php
namespace Modules\CCMS\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\CCMS\Database\Factories\NewsletterFactory;
class Newsletter extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*/
protected $fillable = ['email'];
}

View File

@@ -0,0 +1,21 @@
<?php
namespace Modules\CCMS\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
// use Modules\CCMS\Database\Factories\VacancyFactory;
class vacancy extends Model
{
use HasFactory;
protected $fillable = [
'first_name',
'last_name',
'email',
'phone',
'qualification',
'description',
];
}

View File

@@ -0,0 +1,28 @@
<?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::table('countries', function (Blueprint $table) {
$table->longText('faqs')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('countries', function (Blueprint $table) {
$table->dropColumn('faqs');
});
}
};

View File

@@ -0,0 +1,28 @@
<?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('newsletters', function (Blueprint $table) {
$table->id();
$table->string('email')->unique();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('newsletters');
}
};

View File

@@ -0,0 +1,40 @@
<?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('franchises', function (Blueprint $table) {
$table->id();
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('email')->nullable();
$table->string('phone')->nullable();
$table->string('address')->nullable();
$table->string('city')->nullable();
$table->string('state')->nullable();
$table->string('invest_level')->nullable();
$table->string('own_business')->nullable();
$table->text('yes_own_des')->nullable();
$table->string('franchise_location')->nullable();
$table->string('start_time_frame')->nullable();
$table->string('office_setup')->nullable();
$table->string('website')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('franchises');
}
};

View File

@@ -0,0 +1,58 @@
<?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('events', function (Blueprint $table) {
$table->id();
$table->text('title');
$table->text('slug')->nullable();
$table->text('short_description')->nullable();
$table->longText('description')->nullable();
$table->json('custom')->nullable();
$table->integer('parent_id')->unsigned()->nullable();
$table->string('image')->nullable();
$table->string('banner')->nullable();
$table->text('images')->nullable();
$table->date('start_date')->nullable();
$table->date('end_date')->nullable();
$table->text('meta_title')->nullable();
$table->text('meta_description')->nullable();
$table->text('meta_keywords')->nullable();
$table->text('sidebar_title')->nullable();
$table->mediumText('sidebar_content')->nullable();
$table->string('sidebar_image')->nullable();
$table->string('button_text')->nullable();
$table->string('button_url')->nullable();
$table->string('button_target')->nullable();
$table->integer('status')->default(1);
$table->string('icon_class')->nullable();
$table->string('icon_image')->nullable();
$table->integer('createdby')->unsigned()->nullable();
$table->integer('updatedby')->unsigned()->nullable();
$table->integer('order')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('events');
}
};

View File

@@ -0,0 +1,40 @@
<?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('careers', function (Blueprint $table) {
$table->id();
$table->string('department')->nullable();
$table->string('job_title')->nullable();
$table->text('job_description')->nullable();
$table->text('job_requirements')->nullable();
$table->string('salary_range')->nullable();
$table->string('location')->nullable();
$table->string('position')->nullable();
$table->date('start_date')->nullable();
$table->date('end_date')->nullable();
$table->integer('status')->default(1);
$table->integer('createdby')->unsigned()->nullable();
$table->integer('updatedby')->unsigned()->nullable();
$table->integer('order')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('careers');
}
};

View File

@@ -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('vacancies', function (Blueprint $table) {
$table->id();
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('email')->nullable();
$table->string('phone')->nullable();
$table->string('qualification')->nullable();
$table->text('description')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('vacancies');
}
};

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<x-dashboard.breadcumb :title="$title" />
<div class="container-fluid">
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
{{ html()->form('POST')->route('career.store')->class('needs-validation')->attributes(['novalidate'])->open() }}
@include('ccms::career.partials._form')
{{ html()->form()->close() }}
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,12 @@
<div class="hstack flex-wrap gap-3">
<a href="{{ route('career.edit', $id) }}" data-bs-toggle="tooltip"
data-bs-placement="bottom" data-bs-title="Edit" class="link-success fs-15 edit-item-btn"><i
class=" ri-edit-2-line"></i></a>
<a data-link="{{ route('career.toggle', $id) }}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Toggle" data-status="{{ $status == 1 ? 'Draft' : 'Published' }}"
class="link-info fs-15 toggle-item"><i class="{{ $status == 1 ? 'ri-toggle-line' : 'ri-toggle-fill' }}"></i></a>
<a href="javascript:void(0);" data-link="{{ route('career.destroy', $id) }}" class="link-danger fs-15 remove-item"
data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete"><i class="ri-delete-bin-6-line"></i>
</a>
</div>

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<x-dashboard.breadcumb :title="$title" />
<div class="container-fluid">
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
{{ html()->modelForm($career, 'PUT')->route('career.update', $career->id)->class('needs-validation')->attributes(['novalidate'])->open() }}
@include('ccms::career.partials._form')
{{ html()->closeModelForm() }}
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,51 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
<div class="card">
<div class="card-header d-flex align-items-center justify-content-between">
<h5 class="card-title mb-0">{{ $title }}</h5>
<a href="{{ route('career.create') }}" class="btn btn-primary waves-effect waves-light text-white"><i
class="ri-add-line align-middle"></i> Create</a>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => 'S.N',
'data' => 'DT_RowIndex',
'name' => 'DT_RowIndex',
'orderable' => false,
'searchable' => false,
'sortable' => false,
],
['title' => 'Job Title', 'data' => 'job_title', 'name' => 'job_title'],
['title' => 'Start Date', 'data' => 'start_date', 'name' => 'start_date'],
['title' => 'End Date', 'data' => 'end_date', 'name' => 'end_date'],
['title' => 'Department', 'data' => 'department', 'name' => 'department'],
['title' => 'Location', 'data' => 'location', 'name' => 'location'],
['title' => 'Position', 'data' => 'position', 'name' => 'position'],
['title' => 'Salary', 'data' => 'salary_range', 'name' => 'salary_range'],
['title' => 'Status', 'data' => 'status', 'name' => 'status'],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('career.index')" :reorder="route('career.reorder')" :columns="$columns" />
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,220 @@
<div class="row">
<div class="col-xl-8">
<div class="card h-auto">
<div class="card-body">
<div class="row gy-3">
<div class="col-md-6">
{{ html()->label('Job Title')->class('form-label')->for('job_title') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('job_title')->class('form-control')->placeholder('Enter Job Title')->required(true) }}
</div>
<div class="col-md-6">
{{ html()->label('Department')->class('form-label')->for('department') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('department')->class('form-control')->placeholder('Enter Department')->required(true) }}
</div>
<div class="col-md-6">
{{ html()->label('Vacancy Start Date')->class('form-label') }}
<div class="input-group">
{{ html()->text('start_date')->class('form-control')->id('career-start-date')->placeholder('Vacancy Start Date')->attributes([
'data-provider' => 'flatpickr',
'data-date-format' => 'Y-m-d',
'data-enable-time' => '',
])->required() }}
<span class="input-group-text"><i class="ri-calendar-career-line"></i></span>
</div>
</div>
<div class="col-md-6">
{{ html()->label('Vacancy End Date')->class('form-label') }}
<div class="input-group">
{{ html()->text('end_date')->class('form-control')->id('career-end-date')->placeholder('Vacancy End Date')->attributes([
'data-provider' => 'flatpickr',
'data-date-format' => 'Y-m-d',
'data-enable-time' => '',
]) }}
<span class="input-group-text"><i class="ri-calendar-career-line"></i></span>
</div>
</div>
<div class="col-md-6">
{{ html()->label('Salary Range')->class('form-label')->for('salary_range') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('salary_range')->class('form-control')->placeholder('Enter Salary Range')->required(true) }}
</div>
<div class="col-md-6">
{{ html()->label('Location')->class('form-label')->for('location') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('location')->class('form-control')->placeholder('Enter location')->required(true) }}
</div>
<div class="col-12">
{{ html()->label('Position')->class('form-label')->for('position') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('position')->class('form-control')->placeholder('Enter Position (e.g. Fresher, Intermidiate, Senior)')->required(true) }}
</div>
<div class="col-12">
{{ html()->label('Job Description')->class('form-label')->for('job_description') }}
{{ html()->textarea('job_description')->class('form-control')->placeholder('Enter Job Description (JD)')->rows(5) }}
</div>
<div class="col-12">
{{ html()->label('Job Requirements')->class('form-label')->for('job_requirements') }}
{{ html()->textarea('job_requirements')->class('form-control ckeditor-classic')->placeholder('Enter Job Requirements') }}
</div>
</div>
</div>
</div>
{{-- <x-ccms::custom-form-field :data="$career->custom ?? []" /> --}}
<div class="card meta-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">Meta</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Title')->class('form-label')->for('meta_title') }}
{{ html()->text('meta_title')->class('form-control mb-3')->placeholder('Meta Title') }}
</div>
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Keywords')->class('form-label')->for('meta_keywords') }}
{{ html()->textarea('meta_keywords')->class('form-control mb-3')->placeholder('Meta Keywords') }}
</div>
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Description')->class('form-label')->for('meta_description') }}
{{ html()->textarea('meta_description')->class('form-control mb-3')->placeholder('Meta wire:Description')->rows(3) }}
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-4">
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Published
</h6>
</div>
<div class="card-body">
{{ html()->label('Status')->class('form-label visually-hidden')->for('status') }}
{{ html()->select('status', config('constants.page_status_options'))->class('form-select choices-select') }}
</div>
<x-form-buttons :href="route('career.index')" :label="isset($career) ? 'Update' : 'Create'" />
</div>
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Page Attributes
</h6>
</div>
<div class="card-body">
{{ html()->label('Parent Event')->class('form-label')->for('parent_id') }}
{{ html()->select('parent_id', $careerOptions ?? [])->value($career->parent_id ?? old('parent_id'))->class('form-select choices-select')->placeholder('Select') }}
</div>
</div>
<div class="card media-gallery-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Icon
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Icon')->class('form-label')->for('icon_class') }}
{{ html()->text('icon_class')->class('form-control')->placeholder('Icon class') }}
</div>
{{ html()->label('Icon Image')->class('form-label')->for('icon_image') }}
<x-image-input :data="$editable ? $career->getRawOriginal('icon_image') : null" id="icon_image" name="icon_image" :editable="$editable" :multiple=false />
</div>
</div>
<div class="card featured-image-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Featured Image
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Featured')->class('form-label')->for('image') }}
<x-image-input :data="$editable ? $career->getRawOriginal('image') : null" id="image" name="image" :editable="$editable" :multiple=false />
</div>
{{ html()->label('Banner')->class('form-label')->for('banner') }}
<x-image-input :data="$editable ? $career->getRawOriginal('banner') : null" id="banner" name="banner" :editable="$editable" :multiple=false />
</div>
</div>
<div class="card media-gallery-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Media Gallery
</h6>
</div>
<div class="card-body">
<x-image-input :editable="$editable" id="images" name="images" :data="$editable ? $career->getRawOriginal('images') : null" :multiple="true"
label="Select Images" />
</div>
</div>
<div class="card sidebar-section">
<div class="card-header d-flex jusitfy-content-between align-items-center">
<h6 class="card-title mb-0 fs-14">Sidebar</h6>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-lg-12">
{{ html()->label('Title')->class('form-label')->for('sidebar_title') }}
{{ html()->text('sidebar_title')->class('form-control') }}
</div>
<div class="col-lg-12">
{{ html()->label('Content')->class('form-label')->for('sidebar_content') }}
{{ html()->textarea('sidebar_content')->class('form-control')->placeholder('Short Content (optional)')->rows(3) }}
</div>
<div class="col-lg-12">
{{ html()->label('Image')->class('form-label')->for('sidebar_content') }}
<x-image-input :data="$editable ? $career->getRawOriginal('sidebar_image') : null" id="sidebar_image" name="sidebar_image" :editable="$editable"
:multiple=false />
</div>
</div>
</div>
</div>
<div class="card button-section">
<div class="card-header d-flex jusitfy-content-between align-items-center">
<h6 class="card-title mb-0 fs-14">Button</h6>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-lg-12">
{{ html()->label('Text')->class('form-label')->for('button_text') }}
{{ html()->text('button_text')->class('form-control') }}
</div>
<div class="col-lg-12">
{{ html()->label('Link')->class('form-label')->for('button_url') }}
{{ html()->text('button_url')->class('form-control')->placeholder('Button Link') }}
</div>
<div class="col-lg-12">
{{ html()->label('Target')->class('form-label')->for('button_target') }}
{{ html()->select('button_target', config('constants.redirect_options'))->class('form-select choices-select') }}
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -10,12 +10,13 @@
@php
$columns = [
[
'title' => 'S.N',
'data' => 'DT_RowIndex',
'name' => 'DT_RowIndex',
'title' => '<input type="checkbox" id="select-all">',
'data' => 'checkbox',
'name' => 'checkbox',
'orderable' => false,
'searchable' => false,
'sortable' => false,
'className' => 'align-middle',
'width' => '1%',
],
['title' => 'Name', 'data' => 'name', 'name' => 'name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
@@ -32,6 +33,20 @@
@endphp
<x-data-table-script :route="route('counselor.index')" :reorder="null" :columns="$columns" />
</div>
<div class="card" id="customerList">
<div class="card-body p-2">
{{-- <div class="table-responsive">
{{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }}
</div> --}}
<div class="row mt-3">
<div class="col-md-3">
{{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }}
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -19,6 +19,11 @@
{{ html()->span('*')->class('text-danger') }}
{{ html()->textarea('description')->class('form-control ckeditor-classic')->placeholder('Enter Country Description')->required() }}
</div>
<div class="col-12">
{{ html()->label('Extra FAQs')->class('form-label')->for('faqs') }}
{{ html()->textarea('faqs')->class('form-control ckeditor-classic')->placeholder('Enter Extra FAQs')->required() }}
</div>
</div>
</div>
</div>
@@ -87,13 +92,11 @@
<div class="card-body">
<div class="mb-3">
{{ html()->label('Featured')->class('form-label')->for('image') }}
<x-image-input :data="$editable ? $country->getRawOriginal('image') : null" id="image" name="image" :editable="$editable"
:multiple=false />
<x-image-input :data="$editable ? $country->getRawOriginal('image') : null" id="image" name="image" :editable="$editable" :multiple=false />
</div>
{{ html()->label('Banner')->class('form-label')->for('banner') }}
<x-image-input :data="$editable ? $country->getRawOriginal('banner') : null" id="banner" name="banner" :editable="$editable"
:multiple=false />
<x-image-input :data="$editable ? $country->getRawOriginal('banner') : null" id="banner" name="banner" :editable="$editable" :multiple=false />
</div>
</div>

View File

@@ -10,16 +10,17 @@
@php
$columns = [
[
'title' => 'S.N',
'data' => 'DT_RowIndex',
'name' => 'DT_RowIndex',
'title' => '<input type="checkbox" id="select-all">',
'data' => 'checkbox',
'name' => 'checkbox',
'orderable' => false,
'searchable' => false,
'sortable' => false,
'className' => 'align-middle',
'width' => '1%',
],
['title' => 'Name', 'data' => 'name', 'name' => 'name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
['title' => 'Contact', 'data' => 'mobile', 'name' => 'mobile'],
['title' => 'Mobile', 'data' => 'mobile', 'name' => 'mobile'],
['title' => 'Class', 'data' => 'class', 'name' => 'class'],
['title' => 'Subject', 'data' => 'subject', 'name' => 'subject'],
['title' => 'Message', 'data' => 'message', 'name' => 'message'],
@@ -31,8 +32,23 @@
],
];
@endphp
<x-data-table-script :route="route('enquiry.index')" :reorder="null" :columns="$columns" />
</div>
<div class="card" id="customerList">
<div class="card-body p-2">
{{-- <div class="table-responsive">
{{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }}
</div> --}}
<div class="row mt-3">
<div class="col-md-3">
{{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }}
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<x-dashboard.breadcumb :title="$title" />
<div class="container-fluid">
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
{{ html()->form('POST')->route('event.store')->class('needs-validation')->attributes(['novalidate'])->open() }}
@include('ccms::event.partials._form')
{{ html()->form()->close() }}
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,12 @@
<div class="hstack flex-wrap gap-3">
<a href="{{ route('event.edit', $id) }}" data-bs-toggle="tooltip"
data-bs-placement="bottom" data-bs-title="Edit" class="link-success fs-15 edit-item-btn"><i
class=" ri-edit-2-line"></i></a>
<a data-link="{{ route('event.toggle', $id) }}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Toggle" data-status="{{ $status == 1 ? 'Draft' : 'Published' }}"
class="link-info fs-15 toggle-item"><i class="{{ $status == 1 ? 'ri-toggle-line' : 'ri-toggle-fill' }}"></i></a>
<a href="javascript:void(0);" data-link="{{ route('event.destroy', $id) }}" class="link-danger fs-15 remove-item"
data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete"><i class="ri-delete-bin-6-line"></i>
</a>
</div>

View File

@@ -0,0 +1,16 @@
@extends('layouts.app')
@section('content')
<x-dashboard.breadcumb :title="$title" />
<div class="container-fluid">
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
{{ html()->modelForm($event, 'PUT')->route('event.update', $event->id)->class('needs-validation')->attributes(['novalidate'])->open() }}
@include('ccms::event.partials._form')
{{ html()->closeModelForm() }}
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,49 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
@if ($errors->any())
<x-flash-message type="danger" :messages="$errors->all()" />
@endif
<div class="row">
<div class="col-xl-12">
<div class="card">
<div class="card-header d-flex align-items-center justify-content-between">
<h5 class="card-title mb-0">{{ $title }}</h5>
<a href="{{ route('event.create') }}" class="btn btn-primary waves-effect waves-light text-white"><i
class="ri-add-line align-middle"></i> Create</a>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => 'S.N',
'data' => 'DT_RowIndex',
'name' => 'DT_RowIndex',
'orderable' => false,
'searchable' => false,
'sortable' => false,
],
['title' => 'Image', 'data' => 'image', 'name' => 'image'],
['title' => 'Title', 'data' => 'title', 'name' => 'title'],
['title' => 'Start Date', 'data' => 'start_date', 'name' => 'start_date'],
['title' => 'End Date', 'data' => 'end_date', 'name' => 'end_date'],
['title' => 'Slug', 'data' => 'slug', 'name' => 'slug'],
['title' => 'Status', 'data' => 'status', 'name' => 'status'],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('event.index')" :reorder="route('event.reorder')" :columns="$columns" />
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,196 @@
<div class="row">
<div class="col-xl-8">
<div class="card h-auto">
<div class="card-body">
<div class="row gy-3">
<div class="col-12">
{{ html()->label('Title')->class('form-label')->for('title') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('title')->class('form-control')->placeholder('Enter Event Title')->required(true) }}
</div>
<div class="col-md-6">
{{ html()->label('Start Date')->class('form-label') }}
<div class="input-group">
{{ html()->text('start_date')->class('form-control')->id('event-start-date')->placeholder('Event Start Date')->attributes([
'data-provider' => 'flatpickr',
'data-date-format' => 'Y-m-d',
'data-enable-time' => '',
])->required() }}
<span class="input-group-text"><i class="ri-calendar-event-line"></i></span>
</div>
</div>
<div class="col-md-6">
{{ html()->label('End Date')->class('form-label') }}
<div class="input-group">
{{ html()->text('end_date')->class('form-control')->id('event-end-date')->placeholder('Event End Date')->attributes([
'data-provider' => 'flatpickr',
'data-date-format' => 'Y-m-d',
'data-enable-time' => '',
]) }}
<span class="input-group-text"><i class="ri-calendar-event-line"></i></span>
</div>
</div>
<div class="col-12">
{{ html()->label('Description (Short)')->class('form-label')->for('short_description') }}
{{ html()->textarea('short_description')->class('form-control')->placeholder('Enter Description (Short)')->rows(5) }}
</div>
<div class="col-12">
{{ html()->label('Description')->class('form-label')->for('description') }}
{{ html()->textarea('description')->class('form-control ckeditor-classic')->placeholder('Enter Description') }}
</div>
</div>
</div>
</div>
<x-ccms::custom-form-field :data="$event->custom ?? []" />
<div class="card meta-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">Meta</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Title')->class('form-label')->for('meta_title') }}
{{ html()->text('meta_title')->class('form-control mb-3')->placeholder('Meta Title') }}
</div>
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Keywords')->class('form-label')->for('meta_keywords') }}
{{ html()->textarea('meta_keywords')->class('form-control mb-3')->placeholder('Meta Keywords') }}
</div>
<div class="col-xl-12 col-sm-12">
{{ html()->label('Meta Description')->class('form-label')->for('meta_description') }}
{{ html()->textarea('meta_description')->class('form-control mb-3')->placeholder('Meta wire:Description')->rows(3) }}
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-4">
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Published
</h6>
</div>
<div class="card-body">
{{ html()->label('Status')->class('form-label visually-hidden')->for('status') }}
{{ html()->select('status', config('constants.page_status_options'))->class('form-select choices-select') }}
</div>
<x-form-buttons :href="route('event.index')" :label="isset($event) ? 'Update' : 'Create'" />
</div>
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Page Attributes
</h6>
</div>
<div class="card-body">
{{ html()->label('Parent Event')->class('form-label')->for('parent_id') }}
{{ html()->select('parent_id', $eventOptions ?? [])->value($event->parent_id ?? old('parent_id'))->class('form-select choices-select')->placeholder('Select') }}
</div>
</div>
<div class="card media-gallery-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Icon
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Icon')->class('form-label')->for('icon_class') }}
{{ html()->text('icon_class')->class('form-control')->placeholder('Icon class') }}
</div>
{{ html()->label('Icon Image')->class('form-label')->for('icon_image') }}
<x-image-input :data="$editable ? $event->getRawOriginal('icon_image') : null" id="icon_image" name="icon_image" :editable="$editable" :multiple=false />
</div>
</div>
<div class="card featured-image-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Featured Image
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Featured')->class('form-label')->for('image') }}
<x-image-input :data="$editable ? $event->getRawOriginal('image') : null" id="image" name="image" :editable="$editable" :multiple=false />
</div>
{{ html()->label('Banner')->class('form-label')->for('banner') }}
<x-image-input :data="$editable ? $event->getRawOriginal('banner') : null" id="banner" name="banner" :editable="$editable" :multiple=false />
</div>
</div>
<div class="card media-gallery-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Media Gallery
</h6>
</div>
<div class="card-body">
<x-image-input :editable="$editable" id="images" name="images" :data="$editable ? $event->getRawOriginal('images') : null" :multiple="true"
label="Select Images" />
</div>
</div>
<div class="card sidebar-section">
<div class="card-header d-flex jusitfy-content-between align-items-center">
<h6 class="card-title mb-0 fs-14">Sidebar</h6>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-lg-12">
{{ html()->label('Title')->class('form-label')->for('sidebar_title') }}
{{ html()->text('sidebar_title')->class('form-control') }}
</div>
<div class="col-lg-12">
{{ html()->label('Content')->class('form-label')->for('sidebar_content') }}
{{ html()->textarea('sidebar_content')->class('form-control')->placeholder('Short Content (optional)')->rows(3) }}
</div>
<div class="col-lg-12">
{{ html()->label('Image')->class('form-label')->for('sidebar_content') }}
<x-image-input :data="$editable ? $event->getRawOriginal('sidebar_image') : null" id="sidebar_image" name="sidebar_image" :editable="$editable"
:multiple=false />
</div>
</div>
</div>
</div>
<div class="card button-section">
<div class="card-header d-flex jusitfy-content-between align-items-center">
<h6 class="card-title mb-0 fs-14">Button</h6>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-lg-12">
{{ html()->label('Text')->class('form-label')->for('button_text') }}
{{ html()->text('button_text')->class('form-control') }}
</div>
<div class="col-lg-12">
{{ html()->label('Link')->class('form-label')->for('button_url') }}
{{ html()->text('button_url')->class('form-control')->placeholder('Button Link') }}
</div>
<div class="col-lg-12">
{{ html()->label('Target')->class('form-label')->for('button_target') }}
{{ html()->select('button_target', config('constants.redirect_options'))->class('form-select choices-select') }}
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->form('POST')->route('testimonial.store')->class(['needs-validation'])->attributes(['enctype' => 'multipart/form-data', 'novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -0,0 +1,10 @@
<div class="hstack flex-wrap gap-3">
{{-- <a data-link="{{ route('franchise.markAsRead', $id) }}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Mark as {{ $is_read == 1 ? 'unread' : 'read' }}" data-status="{{ $is_read == 1 ? 'read' : 'unread' }}" --}}
{{-- class="fs-15 mark-item"><i class="{{ $is_read == 1 ? ' ri-mail-close-line link-secondary' : ' ri-mail-check-line link-success' }}"></i></a> --}}
<a href="javascript:void(0);" data-link="{{ route('franchise.destroy', $id) }}" class="link-danger fs-15 remove-item" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete">
<i class="ri-delete-bin-6-line"></i>
</a>
</div>

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->modelForm($testimonial, 'PUT')->route('testimonial.update', $testimonial->id)->class(['needs-validation'])->attributes(['novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -0,0 +1,60 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
<div class="card">
<div class="card-header align-items-center d-flex">
<h5 class="card-title flex-grow-1 mb-0">{{ $title }}</h5>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => '<input type="checkbox" id="select-all">',
'data' => 'checkbox',
'name' => 'checkbox',
'orderable' => false,
'searchable' => false,
'className' => 'align-middle',
'width' => '1%',
],
['title' => 'First Name', 'data' => 'first_name', 'name' => 'first_name'],
['title' => 'Last Name', 'data' => 'last_name', 'name' => 'first_name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
['title' => 'Phone', 'data' => 'phone', 'name' => 'phone'],
['title' => 'Address', 'data' => 'address', 'name' => 'address'],
['title' => 'City', 'data' => 'city', 'name' => 'city'],
['title' => 'State', 'data' => 'state', 'name' => 'state'],
['title' => 'Invest Level', 'data' => 'invest_level', 'name' => 'invest_level'],
[
'title' => 'Franchise Location',
'data' => 'franchise_location',
'name' => 'franchise_location',
],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('franchise.index')" :reorder="null" :columns="$columns" />
</div>
<div class="card" id="customerList">
<div class="card-body p-2">
{{-- <div class="table-responsive">
{{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }}
</div> --}}
<div class="row mt-3">
<div class="col-md-3">
{{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }}
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,71 @@
<div class="row">
<div class="col-lg-8 col-xl-9">
<div class="card">
<div class="card-body">
<div class="row gy-3">
<div class="col-md-6">
{{ html()->label('Name')->class('form-label') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('title')->class('form-control')->placeholder('Enter Name')->required() }}
{{ html()->div('Name is required')->class('invalid-feedback') }}
</div>
<div class="col-md-6">
{{ html()->label('Designation')->class('form-label') }}
{{ html()->text('designation')->class('form-control')->placeholder('Enter Designation') }}
</div>
<div class="col-md-6">
{{ html()->label('Company')->class('form-label') }}
{{ html()->text('company')->class('form-control')->placeholder('Enter Company') }}
</div>
<div class="col-lg-6">
{{ html()->label('Branch')->class('form-label')->for('branch_id') }}
{{ html()->select('branch_id', $branchOptions)->class('form-select choices-select')->placeholder('Select') }}
</div>
<div class="col-12">
{{ html()->label('Comment')->class('form-label')->for('description') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->textarea('description')->class('form-control')->rows(10) }}
</div>
</div>
</div>
</div>
</div>
<!-- end col -->
<div class="col-lg-4 col-xl-3">
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">Publish</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
{{ html()->select('status', config('constants.page_status_options'))->class('form-select choices-select ') }}
</div>
</div>
</div>
<!-- end card body -->
<x-form-buttons :editable="$editable" label="Save" href="{{ route('team.index') }}" />
</div>
<div class="card featured-image-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Featured
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Image')->class('form-label')->for('image') }}
<x-image-input :editable="$editable" id="image" name="image" :data="$editable ? $testimonial->getRawOriginal('image') : null"
:multiple="false" />
</div>
</div>
</div>
</div>
<!-- end col -->
</div>

View File

@@ -26,9 +26,9 @@
</div>
<div class="mb-3">
{{ html()->label('Video Link')->for('slug') }}
{{ html()->text('link')->value($gallery->link ?? old('link'))->class('form-control')->placeholder('Enter Youtube video link') }}
<div class="d-flex flex-wrap mt-1" id="video-preview">
{{ html()->label('Description')->for('slug') }}
{{ html()->text('link')->value($gallery->link ?? old('link'))->class('form-control')->placeholder('Enter Video Description') }}
<div class="d-flex flex-wrap mt-1">
</div>
</div>

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->form('POST')->route('testimonial.store')->class(['needs-validation'])->attributes(['enctype' => 'multipart/form-data', 'novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -0,0 +1,8 @@
<div class="hstack flex-wrap gap-3">
<a href="javascript:void(0);" data-link="{{ route('newsletter.destroy', $id) }}" class="link-danger fs-15 remove-item"
data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete">
<i class="ri-delete-bin-6-line"></i>
</a>
</div>

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->modelForm($testimonial, 'PUT')->route('testimonial.update', $testimonial->id)->class(['needs-validation'])->attributes(['novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -0,0 +1,48 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
<div class="card">
<div class="card-header align-items-center d-flex">
<h5 class="card-title flex-grow-1 mb-0">{{ $title }}</h5>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => '<input type="checkbox" id="select-all">',
'data' => 'checkbox',
'name' => 'checkbox',
'orderable' => false,
'searchable' => false,
'className' => 'align-middle',
'width' => '1%',
],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('newsletter.index')" :reorder="null" :columns="$columns" />
</div>
<div class="card" id="customerList">
<div class="card-body p-2">
{{-- <div class="table-responsive">
{{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }}
</div> --}}
<div class="row mt-3">
<div class="col-md-3">
{{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }}
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,71 @@
<div class="row">
<div class="col-lg-8 col-xl-9">
<div class="card">
<div class="card-body">
<div class="row gy-3">
<div class="col-md-6">
{{ html()->label('Name')->class('form-label') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->text('title')->class('form-control')->placeholder('Enter Name')->required() }}
{{ html()->div('Name is required')->class('invalid-feedback') }}
</div>
<div class="col-md-6">
{{ html()->label('Designation')->class('form-label') }}
{{ html()->text('designation')->class('form-control')->placeholder('Enter Designation') }}
</div>
<div class="col-md-6">
{{ html()->label('Company')->class('form-label') }}
{{ html()->text('company')->class('form-control')->placeholder('Enter Company') }}
</div>
<div class="col-lg-6">
{{ html()->label('Branch')->class('form-label')->for('branch_id') }}
{{ html()->select('branch_id', $branchOptions)->class('form-select choices-select')->placeholder('Select') }}
</div>
<div class="col-12">
{{ html()->label('Comment')->class('form-label')->for('description') }}
{{ html()->span('*')->class('text-danger') }}
{{ html()->textarea('description')->class('form-control')->rows(10) }}
</div>
</div>
</div>
</div>
</div>
<!-- end col -->
<div class="col-lg-4 col-xl-3">
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">Publish</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-12">
{{ html()->select('status', config('constants.page_status_options'))->class('form-select choices-select ') }}
</div>
</div>
</div>
<!-- end card body -->
<x-form-buttons :editable="$editable" label="Save" href="{{ route('team.index') }}" />
</div>
<div class="card featured-image-section">
<div class="card-header">
<h6 class="card-title mb-0 fs-14">
Featured
</h6>
</div>
<div class="card-body">
<div class="mb-3">
{{ html()->label('Image')->class('form-label')->for('image') }}
<x-image-input :editable="$editable" id="image" name="image" :data="$editable ? $testimonial->getRawOriginal('image') : null"
:multiple="false" />
</div>
</div>
</div>
</div>
<!-- end col -->
</div>

View File

@@ -0,0 +1,8 @@
<div class="hstack flex-wrap gap-3">
<a href="javascript:void(0);" data-link="{{ route('vacancy.destroy', $id) }}" class="link-danger fs-15 remove-item"
data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete">
<i class="ri-delete-bin-6-line"></i>
</a>
</div>

View File

@@ -0,0 +1,52 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
<div class="card">
<div class="card-header align-items-center d-flex">
<h5 class="card-title flex-grow-1 mb-0">{{ $title }}</h5>
</div>
<div class="card-body">
@php
$columns = [
[
'title' => '<input type="checkbox" id="select-all">',
'data' => 'checkbox',
'name' => 'checkbox',
'orderable' => false,
'searchable' => false,
'className' => 'align-middle',
'width' => '1%',
],
['title' => 'First Name', 'data' => 'first_name', 'name' => 'first_name'],
['title' => 'Last Name', 'data' => 'last_name', 'name' => 'last_name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
['title' => 'Phone', 'data' => 'phone', 'name' => 'phone'],
['title' => 'Qualification', 'data' => 'qualification', 'name' => 'qualification'],
[
'title' => 'Action',
'data' => 'action',
'orderable' => false,
'searchable' => false,
],
];
@endphp
<x-data-table-script :route="route('vacancy.index')" :reorder="null" :columns="$columns" />
</div>
<div class="card" id="customerList">
<div class="card-body p-2">
{{-- <div class="table-responsive">
{{ $dataTable->table(['class' => 'table table-sm w-100', 'data-is_enrolled' => $is_enrolled], true) }}
</div> --}}
<div class="row mt-3">
<div class="col-md-3">
{{ html()->select('action', [2 => 'Send News Letter', 3 => 'Send Mail'])->placeholder('Bulk Actions')->class('form-select bulk-select') }}
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->form('POST')->route('testimonial.store')->class(['needs-validation'])->attributes(['enctype' => 'multipart/form-data', 'novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -0,0 +1,14 @@
@extends('layouts.app')
@section('content')
<div class="container-fluid">
<x-dashboard.breadcumb :title="$title" />
{{ html()->modelForm($testimonial, 'PUT')->route('testimonial.update', $testimonial->id)->class(['needs-validation'])->attributes(['novalidate'])->open() }}
@include('ccms::testimonial.partials._form')
{{ html()->form()->close() }}
</div>
@endsection

View File

@@ -3,16 +3,20 @@
use Illuminate\Support\Facades\Route;
use Modules\CCMS\Http\Controllers\BlogController;
use Modules\CCMS\Http\Controllers\BranchController;
use Modules\CCMS\Http\Controllers\CareerController;
use Modules\CCMS\Http\Controllers\CategoryController;
use Modules\CCMS\Http\Controllers\CounselorController;
use Modules\CCMS\Http\Controllers\CounterController;
use Modules\CCMS\Http\Controllers\CountryController;
use Modules\CCMS\Http\Controllers\EnquiryController;
use Modules\CCMS\Http\Controllers\EventController;
use Modules\CCMS\Http\Controllers\FaqCategoryController;
use Modules\CCMS\Http\Controllers\FaqController;
use Modules\CCMS\Http\Controllers\FranchiseController;
use Modules\CCMS\Http\Controllers\GalleryCategoryController;
use Modules\CCMS\Http\Controllers\GalleryController;
use Modules\CCMS\Http\Controllers\InstitutionController;
use Modules\CCMS\Http\Controllers\NewsletterController;
use Modules\CCMS\Http\Controllers\PageController;
use Modules\CCMS\Http\Controllers\PartnerController;
use Modules\CCMS\Http\Controllers\PopupController;
@@ -22,6 +26,7 @@ use Modules\CCMS\Http\Controllers\SliderController;
use Modules\CCMS\Http\Controllers\TeamController;
use Modules\CCMS\Http\Controllers\TestController;
use Modules\CCMS\Http\Controllers\TestimonialController;
use Modules\CCMS\Http\Controllers\VacancyController;
/*
|--------------------------------------------------------------------------
@@ -31,7 +36,7 @@ use Modules\CCMS\Http\Controllers\TestimonialController;
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
|Eventcontr
*/
Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/'], function () {
@@ -83,6 +88,14 @@ Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/
Route::get('service/toggle/{id}', [ServiceController::class, 'toggle'])->name('service.toggle');
Route::resource('service', ServiceController::class)->names('service');
Route::post('event/reorder', [EventController::class, 'reorder'])->name('event.reorder');
Route::get('event/toggle/{id}', [EventController::class, 'toggle'])->name('event.toggle');
Route::resource('event', EventController::class)->names('event');
Route::post('career/reorder', [CareerController::class, 'reorder'])->name('career.reorder');
Route::get('career/toggle/{id}', [CareerController::class, 'toggle'])->name('career.toggle');
Route::resource('career', CareerController::class)->names('career');
Route::post('branch/reorder', [BranchController::class, 'reorder'])->name('branch.reorder');
Route::get('branch/toggle/{id}', [BranchController::class, 'toggle'])->name('branch.toggle');
Route::resource('branch', BranchController::class)->names('branch');
@@ -124,5 +137,9 @@ Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/
Route::get('enquiry/mark-as-read/{id}', [EnquiryController::class, 'markAsRead'])->name('enquiry.markAsRead');
Route::resource('enquiry', EnquiryController::class)->names('enquiry')->only(['index', 'store', 'destroy']);
Route::resource('franchise', FranchiseController::class)->names('franchise')->only(['index', 'store', 'destroy']);
Route::resource('newsletter', NewsletterController::class)->names('newsletter')->only(['index', 'store', 'destroy']);
Route::resource('vacancy', VacancyController::class)->names('vacancy')->only(['index', 'store', 'destroy']);
Route::resource('counselor', CounselorController::class)->names('counselor')->only(['index', 'store', 'destroy']);
});

View File

@@ -14,10 +14,9 @@ class CostCalculatorService
$query->where('country_id', $request->country_id);
}
if ($request->filled('stay_type_id')) {
$query->where("stay_type_id", $request->stay_type_id);
}
// if ($request->filled('stay_type_id')) {
// $query->where("stay_type_id", $request->stay_type_id);
// }
})->latest()->paginate(10)->withQueryString();
}

View File

@@ -16,10 +16,9 @@ use Modules\Meeting\Http\Controllers\MeetingController;
*/
Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/'], function () {
Route::resource('event', EventController::class)->names('event');
// Route::resource('event', EventController::class)->names('event');
Route::post('meeting/sub-task', [MeetingController::class, 'storeSubTask'])->name('meeting.storeSubTask');
Route::resource('meeting', MeetingController::class)->names('meeting');
Route::get('meeting/{id}/send-email', [MeetingController::class, 'sendEmail'])->name('meeting.sendmail');
});

View File

@@ -29,7 +29,7 @@ class UserService
'name' => $userData['name'],
'email' => $userData['email'],
'password' => Hash::make($userData['password'] ?? "password"),
'can_login' => $userData['can_login'] ?? false,
'can_login' => $userData['can_login'] ?? true,
'order' => $userData['order'],
]);

View File

@@ -3,6 +3,10 @@
use App\Http\Controllers\WebsiteController;
use Illuminate\Support\Facades\Route;
use Modules\CCMS\Http\Controllers\EnquiryController;
use Modules\CCMS\Http\Controllers\FranchiseController;
use Modules\CCMS\Http\Controllers\NewsletterController;
use Modules\CCMS\Http\Controllers\VacancyController;
use Modules\CCMS\Models\Franchise;
use Modules\CourseFinder\Http\Controllers\CoopController;
use Modules\CourseFinder\Http\Controllers\ProgramController;
use Modules\CourseFinder\Http\Controllers\ProgramLevelController;
@@ -19,6 +23,12 @@ Route::get('destination/{alias}', [WebsiteController::class, 'countrySingle'])->
Route::get('/home/resources', [WebsiteController::class, 'resources']);
Route::get('getCoursesList', [ProgramController::class, 'getCoursesList'])->name('program.getCoursesList');
Route::post('enquiry', [EnquiryController::class, 'store'])->name('enquiry.store');
Route::post('franchise', [FranchiseController::class, 'store'])->name('franchise.store');
Route::post('newsletter', [NewsletterController::class, 'store'])->name('newsletter.store');
Route::post('vacancy', [VacancyController::class, 'store'])->name('vacancy.store');
Route::get('career/{id}', [WebsiteController::class, 'careerSingle'])->name('career.single');
Route::get('getCost', [WebsiteController::class, 'getCost'])->name('cost.getCost');
Route::get('/thankyou', [WebsiteController::class, 'thankyouPage'])->name('thankyou');

View File

@@ -1,9 +1,11 @@
<?php
use Modules\CCMS\Models\Blog;
use Modules\CCMS\Models\Career;
use Modules\CCMS\Models\Category;
use Modules\CCMS\Models\Counter;
use Modules\CCMS\Models\Country;
use Modules\CCMS\Models\Event;
use Modules\CCMS\Models\Faq;
use Modules\CCMS\Models\FaqCategory;
use Modules\CCMS\Models\Gallery;
@@ -150,6 +152,44 @@ function getServices($limit = null, $order = 'desc')
->get();
}
function getCareers($limit = null, $order = 'desc')
{
return Career::query()
->where('status', 1)
->orderBy('order', $order)
->when($limit, function ($query) use ($limit) {
$query->limit($limit);
})
->get();
}
function previousEvents($limit = null, $order = 'desc')
{
return Event::query()
->where('status', 1)
->where('parent_id', null)
->where('start_date', '<=', now())
->orderBy('order', $order)
->when($limit, function ($query) use ($limit) {
$query->limit($limit);
})
->get();
}
function upcomingEvents($limit = null, $order = 'desc')
{
return Event::query()
->where('status', 1)
->where('parent_id', null)
->where('start_date', '>=', now())
->orderBy('order', $order)
->when($limit, function ($query) use ($limit) {
$query->limit($limit);
})
->get();
}
function getInstitutions($limit = null, $order = 'desc')
{
return Institution::query()

View File

@@ -30,9 +30,6 @@ class DashboardController extends Controller
$model = Enquiry::query()->where('is_read', 0)->latest();
return DataTables::eloquent($model)
->addIndexColumn()
->editColumn('class', function (Enquiry $enquiry) {
return $enquiry->class ?? '-';
})
->editColumn('subject', function (Enquiry $enquiry) {
return $enquiry->subject ?? '-';
})

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
use Modules\CCMS\Models\Blog;
use Modules\CCMS\Models\Career;
use Modules\CCMS\Models\Country;
use Modules\CCMS\Models\Institution;
use Modules\CCMS\Models\Page;
@@ -17,6 +18,7 @@ use Modules\CourseFinder\Models\Coop;
use Modules\CourseFinder\Models\Program;
use Modules\CourseFinder\Models\ProgramLevel;
use Modules\CourseFinder\Services\ProgramService;
use Illuminate\Support\Str;
class WebsiteController extends Controller
{
@@ -33,6 +35,8 @@ class WebsiteController extends Controller
$countries = Country::where('status', 1)->where('parent_id', null)->get();
$interviews = Service::where('status', 1)->where('parent_id', null)->get();
$services = Service::where('status', 1)->where('parent_id', null)->get();
$data['previousEvents'] = previousEvents(limit: null, order: 'asc');
$data['upcomingEvents'] = upcomingEvents(limit: null, order: 'asc');
$this->path = config('app.client');
view()->share([
@@ -42,6 +46,8 @@ class WebsiteController extends Controller
'countries' => $countries,
'services' => $services,
'interviews' => $interviews,
'previousEvents' => $data['previousEvents'],
'upcomingEvents' => $data['upcomingEvents'],
]);
}
@@ -57,7 +63,7 @@ class WebsiteController extends Controller
$data['faqs'] = getFAQs(limit: null, order: 'desc');
$data['testimonials'] = getTestimonials(limit: null, order: 'desc');
$data['blogs'] = getBlogs(limit: 4, order: 'desc');
$data['partners'] = getPartners(limit: 4, order: 'desc');
$data['partners'] = getPartners();
$data['gallaries'] = getGalleries(limit: 6, order: 'asc');
$data['achievementGalleries'] = getGalleriesByCategory(limit: null, order: 'asc', category: 'achievement');
$data['visaGalleries'] = getGalleriesByCategory(limit: null, order: 'asc', category: 'visa-success');
@@ -126,6 +132,13 @@ class WebsiteController extends Controller
}
public function careerSingle($id)
{
$data['career'] = Career::findorFail($id);
return view("client.$this->path.pages.career-detail-template", $data);
}
public function testSingle($alias)
{
$testPreparations = $data["page"] = Test::where('status', 1)
@@ -176,7 +189,8 @@ class WebsiteController extends Controller
$page = getPageWithChildrenBySlug(parent: $parent, slug: $slug, limit: null, order: 'asc');
$teams = getTeams(limit: null, order: 'asc');
$blogs = getBlogs(limit: null, order: 'asc');
$galleriesCSR = getPageWithChildrenBySlug(parent: $parent, slug: 'gallery', limit: null, order: 'asc');
$careers = getCareers(limit: null, order: 'asc');
if (!$page) {
return view('client.raffles.errors.404');
}
@@ -187,7 +201,7 @@ class WebsiteController extends Controller
return view('client.raffles.errors.404');
}
return view($path, ['page' => $page, 'teams' => $teams, 'blogs' => $blogs]);
return view($path, ['page' => $page, 'teams' => $teams, 'blogs' => $blogs, 'galleriesCSR' => $galleriesCSR], ['careers' => $careers]);
}
public function fallback()
@@ -259,19 +273,29 @@ class WebsiteController extends Controller
public function getCost(Request $request)
{
$data['costss'] = $this->costCalculatorService->findAll($request);
foreach ($data['costss'] as $value) {
$id = $value->id;
$costs = $this->costCalculatorService->findAll($request);
if ($costs->isEmpty()) {
return view("client.raffles.errors.404");
}
$id = $costs->last()->id;
$cost = CostCalculator::with([
'stayTypeLiving',
'stayTypeAccomodation',
'stayTypeOnetime',
'stayTypeService'
])->findOrFail($id);
$data['fee'] = Program::where('id', $request->program_id)->first();
$data['title'] = 'View Cost Calculation';
$data['cost'] = $cost;
])->find($id);
if (!$cost) {
return view("client.raffles.errors.404");
}
$program = Program::find($request->program_id);
if (!$program) {
return view("client.raffles.errors.404");
}
$getBreakdown = function ($stayTypeTitle) use ($cost) {
$living = optional($cost->stayTypeLiving->firstWhere('title', $stayTypeTitle))->pivot;
@@ -304,16 +328,25 @@ class WebsiteController extends Controller
];
};
$data['breakdowns'] = [
$data = [
'serviceStatus' => $request->services,
'costs' => $costs,
'fee' => $program,
'title' => 'View Cost Calculation',
'cost' => $cost,
'type' => Str::slug($request->status_type_id),
'breakdowns' => [
'alone' => $getBreakdown('Alone'),
'with_spouse' => $getBreakdown('With Spouse'),
'with_spouse_and_child' => $getBreakdown('With Spouse and Child'),
'with-spouse' => $getBreakdown('With Spouse'),
'with-spouse-and-child' => $getBreakdown('With Spouse and Child'),
],
];
return view('client.raffles.pages.cost-result', $data);
}
public function thankyouPage(Request $r)
{
$data = new \stdClass();

View File

@@ -11,6 +11,7 @@ trait AddToDocumentCollection
{
public function addToDocumentCollection(string $collectionName = 'uploads', string $file, ?string $documentName = null, ?int $referenceDocumentId = null)
{
dd($documentName);
if (!Storage::disk('public')->exists($collectionName)) {
Storage::disk('public')->makeDirectory($collectionName);
}

View File

@@ -125,7 +125,7 @@ return [
],
'sidebar' => [
'default' => env('DEFAULT_SIDEBAR', 'cpm-sidebar'),
'default' => env('DEFAULT_SIDEBAR', 'sidebar'),
'other' => env('OTHER_SIDEBAR', 'sidebar'),
],
];

View File

@@ -3,12 +3,12 @@ return [
[
'text' => 'Dashboard',
'url' => 'admin/dashboard',
'icon' => 'ri-home-4-line',
'icon' => 'ri-home-fill text-primary',
],
[
'text' => 'Authorization',
'icon' => 'ri-user-settings-line',
'icon' => 'ri-group-fill text-info',
'module' => 'User',
'submenu' => [
[
@@ -32,7 +32,7 @@ return [
[
'text' => 'Setting',
'url' => 'admin/setting',
'icon' => 'ri-settings-4-line',
'icon' => 'ri-settings-2-fill text-danger',
'module' => 'CCMS',
'can' => ['setting.index'],
],
@@ -40,23 +40,53 @@ return [
[
'text' => 'Menu',
'url' => 'admin/menu',
'icon' => 'ri-menu-line',
'icon' => 'ri-menu-fill text-dark',
'module' => 'CCMS',
'can' => ['menu.index'],
],
[
'text' => 'Offer Popup',
'url' => 'admin/popup',
'icon' => 'ri-gift-2-line',
'text' => 'Enquiries',
'icon' => 'ri-cellphone-fill text-success',
'module' => 'CCMS',
'can' => ['popup.index'],
'submenu' => [
[
'text' => 'Enquiry',
'url' => 'admin/enquiry',
'can' => ['enquiry.index'],
],
[
'text' => 'Counsellor Request',
'url' => 'admin/counselor',
'can' => ['counselor.index'],
],
[
'text' => 'Franchise Request',
'url' => 'admin/franchise',
'can' => ['franchise.index'],
],
[
'text' => 'Newsletter',
'url' => 'admin/newsletter',
'can' => ['newsletter.index'],
],
[
'text' => 'Vacancy Application',
'url' => 'admin/vacancy',
'can' => ['vacancy.index'],
],
],
],
[
'text' => 'Counter',
'url' => 'admin/counter',
'icon' => 'ri-add-circle-line',
'icon' => 'ri-add-circle-fill text-info',
'module' => 'CCMS',
'can' => ['counter.index'],
],
@@ -64,7 +94,7 @@ return [
[
'text' => 'Page',
'url' => 'admin/page',
'icon' => 'ri-pages-line',
'icon' => 'ri-pages-fill text-warning',
'module' => 'CCMS',
'can' => ['page.index'],
],
@@ -72,7 +102,7 @@ return [
[
'text' => 'Slider',
'url' => 'admin/slider',
'icon' => 'ri-slideshow-3-line',
'icon' => 'ri-slideshow-3-fill text-dark',
'module' => 'CCMS',
'can' => ['slider.index'],
],
@@ -80,7 +110,7 @@ return [
[
'text' => 'Testimonial',
'url' => 'admin/testimonial',
'icon' => 'ri-feedback-line',
'icon' => 'ri-feedback-fill text-success',
'module' => 'CCMS',
'can' => ['testimonial.index'],
],
@@ -88,7 +118,7 @@ return [
[
'text' => 'Partner',
'url' => 'admin/partner',
'icon' => 'ri-hand-heart-line',
'icon' => 'ri-hand-heart-fill text-danger',
'module' => 'CCMS',
'can' => ['partner.index'],
],
@@ -96,40 +126,46 @@ return [
[
'text' => 'Service',
'url' => 'admin/service',
'icon' => 'ri-customer-service-2-line',
'icon' => 'ri-customer-service-2-fill text-success',
'module' => 'CCMS',
'can' => ['service.index'],
],
[
'text' => 'Events',
'url' => 'admin/event',
'icon' => 'ri-calendar-todo-fill text-primary',
'module' => 'CCMS',
'can' => ['event.index'],
],
[
'text' => 'Team',
'url' => 'admin/team',
'icon' => 'ri-team-line',
'icon' => 'ri-team-fill text-primary',
'module' => 'CCMS',
'can' => ['team.index'],
],
[
'text' => 'Blog',
'icon' => 'ri-newspaper-line',
'text' => 'Career',
'url' => 'admin/career',
'icon' => 'ri-feedback-fill text-info',
'module' => 'CCMS',
'submenu' => [
[
'url' => 'admin/category',
'text' => 'Blog Category',
'can' => ['category.index'],
'can' => ['career.index'],
],
[
'url' => 'admin/blog',
'text' => 'Blog',
'url' => 'admin/blog',
'icon' => 'ri-newspaper-fill text-dark',
'module' => 'CCMS',
'can' => ['blog.index'],
],
],
],
[
'text' => 'Study Abroad',
'icon' => 'ri-earth-line',
'icon' => 'ri-earth-fill text-success',
'module' => 'CCMS',
'submenu' => [
[
@@ -147,7 +183,7 @@ return [
[
'text' => 'Testimonial Videos',
'icon' => ' ri-camera-line',
'icon' => ' ri-camera-fill text-dark',
'module' => 'CCMS',
'submenu' => [
[
@@ -165,7 +201,7 @@ return [
[
'text' => 'FAQ',
'icon' => 'ri-questionnaire-line',
'icon' => 'ri-questionnaire-fill text-danger',
'module' => 'CCMS',
'submenu' => [
[
@@ -181,25 +217,11 @@ return [
],
],
[
'text' => 'Enquiry',
'url' => 'admin/enquiry',
'icon' => ' ri-cellphone-line',
'module' => 'CCMS',
'can' => ['enquiry.index'],
],
[
'text' => 'Counsellor Request',
'url' => 'admin/counselor',
'icon' => ' ri-cellphone-line',
'module' => 'CCMS',
'can' => ['counselor.index'],
],
[
'text' => 'Course Finder',
'icon' => 'ri-book-2-line',
'icon' => 'ri-book-2-fill text-primary',
'module' => 'CourseFinder',
'submenu' => [
@@ -236,7 +258,7 @@ return [
[
'text' => 'Cost Calculator',
'icon' => 'ri-newspaper-line',
'icon' => 'ri-newspaper-fill text-info',
'module' => 'CostCalculator',
'submenu' => [
[
@@ -255,15 +277,16 @@ return [
[
'text' => 'Free Resources',
'url' => 'admin/documents',
'icon' => 'ri-file-text-line',
'icon' => 'ri-file-text-fill text-dark',
'module' => 'Document',
'can' => ['documents.index'],
],
[
'text' => 'Resume Builder',
'url' => 'admin/resume',
'icon' => 'ri-pages-line',
'module' => 'CCMS',
'can' => ['resume.index'],
],
'text' => 'Template',
'url' => 'admin/template',
'icon' => 'ri-mail-send-fill text-info',
'module' => 'Template',
'can' => ['template.index'],
]
];

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,10 @@ body {
font-family: 'Outfit', sans-serif;
/* font-weight: normal; */
}
p{
font-size: 16px;
color: black;
}
.text-brand{
@@ -614,13 +618,13 @@ z-index: 10000;
transition: .3s all ease-in-out;
}
.col.col-md-3:nth-child(1) .course-box img, .col.col-md-3:nth-child(2) .course-box img{
width: 100%;
width: 100px;
}
.col.col-md-3:nth-child(4) .course-box img {
.col.col-md-3:nth-child(3) .course-box img {
width: 125px;
}
.col.col-md-3:nth-child(4) .course-box img {
width: 120px;
width: 110px;
}
.how-it-work input, .how-it-work textarea {

View File

@@ -424,6 +424,9 @@ color: white;
margin: 20px 0;
}
.mySwiper-text .swiper-slide .box img{
object-fit: cover;
}
.mySwiper-text .swiper-button-next::after, .mySwiper-text .swiper-button-prev::after{

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

View File

@@ -1,12 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>404</h1>
</body>
</html>
@extends('client.raffles.layouts.app')
@section('content')
<div
class="min-h-screen flex flex-col items-center justify-center bg-gradient-to-b from-yellow-100 via-white to-yellow-50 px-6">
<!-- Monkey Illustration -->
<div class="relative">
<img src="{{ asset('raffles/assets/images/404/404.png') }}" alt="Monkey" class="animate-bounce" height="500px"
width="700px">
</div>
<!-- Button -->
<a href="{{ url('/') }}"
class="mt-6 inline-block bg-yellow-400 text-gray-900 font-semibold px-6 py-3 rounded-2xl shadow-md hover:bg-yellow-500 transition duration-300">
🏠 Back to Home
</a>
</div>
@endsection

View File

@@ -219,6 +219,86 @@
});
</script>
<script>
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('franchise-form');
const submitBtn = document.getElementById('franchise-submit');
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();
window.location.href =
"{{ route('thankyou') }}"; // ✅ redirect instead of toastr
} else if (data.errors && data.errors.email) {
data.errors.email.forEach(msg => toastr.error(msg));
} else {
toastr.error('Submission 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.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('newsletter-form');
const submitBtn = document.getElementById('newsletter-submit');
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();
window.location.href =
"{{ route('thankyou') }}"; // ✅ redirect instead of toastr
} else if (data.errors && data.errors.email) {
data.errors.email.forEach(msg => toastr.error(msg));
} else {
toastr.error('Submission 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.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('counselor-form');
@@ -259,6 +339,46 @@
});
</script>
<script>
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('vacancy-form');
const submitBtn = document.getElementById('vacancy-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();
window.location.href =
"{{ route('thankyou') }}"; // ✅ redirect instead of toastr
} else if (data.errors && data.errors.email) {
data.errors.email.forEach(msg => toastr.error(msg));
} else {
toastr.error('Submission 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 = [
@@ -368,8 +488,8 @@
});
var swiper = new Swiper(".swiper-universities", {
slidesPerView: "auto", // Adjusts based on available space
centeredSlides: true, // Ensures the center slide is the active one
slidesPerView: 1,
spaceBetween: 10,
loop: true,
autoplay: {
delay: 2000,

View File

@@ -4,7 +4,7 @@
<section class="lqd-section footer-content text-black" data-section-luminosity="dark">
<div class="container footer-inside">
<div class="row pb-10 ">
<div class="col col-6 col-md-3 flex flex-col text-start mb-20 p-10">
<div class="col col-12 col-sm-6 col-md-4 flex flex-col text-start mb-20 p-10">
<div class=" mb-25 lqd-imggrp-single block relative">
<div class=" lqd-imggrp-img-container inline-flex relative items-center justify-center">
<h2 class="text-black text-24">{{ setting('title') }}</h2>
@@ -20,7 +20,7 @@
</div>
@foreach ($footerMenus as $menu)
<div class="col col-6 col-md-3 flex flex-col items-center">
<div class="col col-6 col-sm-3 col-md-2 flex flex-col items-center">
<div>
<div class="mb-20 ld-fancy-heading relative module-title">
<h3
@@ -35,11 +35,15 @@
@foreach ($menu->children as $subMenu)
<li>
<a class="text-black btn btn-naked btn-icon-right btn-hover-swp animation-element"
data-localscroll="true" href="{{ $subMenu->route_name }}"><span
data-localscroll="true" href="{{ $subMenu->route_name }}"
target="{{ $subMenu->target }}">
<span
class="link-icon inline-flex hide-if-empty left-icon icon-next-to-label"></span>
<span class="btn-txt"
data-text="Franchise">{{ $subMenu->title }}</span>
data-text="{{ $subMenu->title }}">{{ $subMenu->title }}</span>
</a>
</li>
@endforeach
@endif
@@ -51,12 +55,6 @@
<div class="col col-12 col-md-4 flex flex-col p-10">
{{-- <div class="mb-20 ld-fancy-heading relative module-title">
<h3
class="ld-fh-element inline-block relative font-title text-15 font-bold leading-20 mb-1em text-black">
Subscribe for Newsletter
</h3>
</div> --}}
<div class="lqd-fancy-menu lqd-custom-menu flex flex-col gap-5 relative left lqd-menu-td-none">
<div class="flex gap-15 mt-10 flex-wrap social-icons-footer">
<a href="{{ setting('facebook') }}" target="blank"><i class="fa-brands fa-facebook"></i></a>
@@ -67,13 +65,17 @@
<a href="{{ setting('whatsapp') }}" target="blank"> <i
class="fa-brands fa-square-whatsapp"></i></a>
</div>
<form class="flex" action="">
<form class="flex" action="{{ route('newsletter.store') }}" method="post"
id="newsletter-form">
@csrf
<input class=" border-0 w-80percent px-20 text-14 py-10 text-black" type="email"
name="email" id="email" placeholder="Enter your Email">
<button class="border-0 text-white p-10 text-12 ">Subscribe</button>
<button type="submit" id="newsletter-submit"
class="border-0 text-white p-10 text-12 newsletter-submit">Subscribe</button>
</form>
<div>
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3532.3752814608883!2d85.32120487541293!3d27.705697025564373!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x39eb1907f7e2f099%3A0x517cd88424589879!2sRaffles%20Educare!5e0!3m2!1sen!2snp!4v1755670491057!5m2!1sen!2snp" width="100%" height="150" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
<iframe src="{{ setting('map') }}" width="100%" height="150" style="border:0;"
allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
</div>

View File

@@ -68,7 +68,7 @@
@foreach ($tests as $test)
<a href="{{ route('test.single', $test->slug) }}"
class="service-item">
<div class="service-icon ">
<div class="service-icon blue-bg">
<img src="{{ asset($test->image) }}"
alt="">
</div>

View File

@@ -0,0 +1,41 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="about">
<div class="services-banner">
<img src="{{ asset('raffles/assets/images/backgrounds_general/achievements-banner.png') }}" width="1425"
height="356" alt="interview preparation">
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-brand">Achievements</h2>
<img class="w-20percent" src="{{ asset('raffles/assets/images/icons/line.png') }}" alt="">
</div>
</section>
<!-- first row -->
<section class="lqd-section text-box-image pt-40 pb-30">
<div class="container">
<div class="row pb-20">
@foreach ($page->custom as $index => $data)
<div class="col col-sm-6 col-md-4">
<a href="" class="flex flex-col gap-20 p-20 blog-post">
<div class="w-100percent h-210 overflow-hidden rounded-16">
<img class="w-full h-full object-cover rounded-16"
src="{{ asset($page->images[$index]) }}" alt="">
</div>
<div>
<h2 class="text-20 text-ter text-center">{{ $data['key'] ?? '' }} </h2>
</div>
</a>
</div>
@endforeach
</div>
</div>
</section>
</section>
@endsection

View File

@@ -55,8 +55,8 @@
</div>
<div class="sidebar-widget cta-widget">
<h3 class="cta-title">Need Personalized Guidance?</h3>
<p class="cta-text">Our education consultants are here to help you find the perfect
university match.</p>
{{-- <p class="cta-text">Our education consultants are here to help you find the perfect
university match.</p> --}}
<a href="/contact-us" class="cta-button">Book a Free Consultation</a>
</div>
</div>

View File

@@ -0,0 +1,143 @@
@extends('client.raffles.layouts.app')
@section('content')
<div class="p-20 ">
<div class="h-175 rounded-10 bg-after relative">
<img class="h-full w-full rounded-30 object-cover"
src="{{ asset('raffles/assets/images/general/about-banner.png') }}" alt="">
<div
class="flex justify-center flex-col text-center items-center w-70percent mx-auto absolute top-20percent left-15percent z-30">
<h2 class="md:text-40 text-94 text-white">Career-Details</h2>
</div>
</div>
</div>
<section class="pt-60 career-details ">
<div class="container">
<div class="row">
<div class="col col col-12">
<div class="relative line-through">
<div class="position ">
<h4 class="text-brand">Available Position</h4>
</div>
</div>
</div>
<div class="col col col-12 ">
<div class="d-flex gap-5 pt-5">
<div class="career-img">
<img class="w-full" src="{{ asset('raffles/assets/images/icons/team.svg') }}" alt="">
</div>
<div>
<h3 class="text-brand">{{ $career->job_title }}</h3>
<p>{{ setting('location') }}</p>
</div>
</div>
<div class="py-5 ">
<div class="flex gap-10">
<div class="text-12">
<i class="fa-solid fa-money-bill-wave"></i> {{ $career->salary_range }}
</div>
<div class="text-12">
<i class="fa-solid fa-location-dot"></i> {{ $career->location }}
</div>
<div class="text-12">
<i class="fa-solid fa-briefcase"></i> {{ $career->position }}
</div>
</div>
</div>
<div class="row justify-between">
<div class="col col-12 col-md-6 pt-5">
<h5>Job Description</h5>
<p>{{ $career->job_description }}
</p>
<h6 class="py-3">Key Responsibilities (JD):</h6>
{{-- <ul>
<li>1. Creative Design Development: Conceptualize and create high-quality designs for
digital and print media, including websites, social media, brochures, and promotional
materials.</li>
<li>2. BTL Marketing Designs: Design engaging visual materials for BTL marketing campaigns,
such as posters, banners, and standees, ensuring alignment with brand guidelines.</li>
<li>3. Layout and Page Design: Plan and design page layouts for print media such as
brochures, pamphlets, and magazines, ensuring an eye-catching yet functional structure.
</li>
<li>4. Brand Identity Development: Work on visual brand identity projects, creating logos,
color schemes, and overall brand guidelines that resonate with target audiences.</li>
<li>5. Client Collaboration: Collaborate with clients to understand their design
requirements and deliver solutions that meet their objectives.</li>
<li>6. Cross-Departmental Collaboration: Work closely with the marketing and production
teams to deliver cohesive and integrated creative projects.</li>
<li>7. Design for Digital Campaigns: Create digital assets for social media, websites, and
online campaigns, ensuring visual consistency across all platforms.</li>
<li>8. Quality Control: Ensure the highest standards of quality and consistency across all
creative outputs, adhering to timelines and project goals.</li>
<li>9. Software Proficiency: Utilize design tools such as Adobe Creative Suite (Photoshop,
Illustrator, InDesign, etc.) to produce creative assets with speed and precision.</li>
<li>10. Mentorship and Team Leadership: Guide and mentor junior designers, providing
feedback and support to ensure continuous growth and improvement within the team.</li>
</ul> --}}
{!! $career->job_requirements !!}
</div>
<div class="col col-12 col-md-5">
<div class=" form ">
<h2 class="text-26 mb-30 text-brand text-center">Quick Apply</h2>
<form action="{{ route('vacancy.store') }}" method="post" id="vacancy-form">
@csrf
<input type="hidden" name="career_id" value="{{ $career->id }}">
<div class="flex gap-20">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text"
name="first_name" id="" placeholder="First Name">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text"
name="last_name" id="" placeholder="Last Name">
</div>
<div class="flex gap-20">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email"
name="email" id="" placeholder="Email">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="tel"
name="phone" id="" placeholder="Phone Number">
</div>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text"
name="qualification" id="" placeholder="Your Qualification">
<textarea class="w-full mb-10 rounded-6 py-15 text-14 px-10" name="description" id=""
placeholder="Short description about you"></textarea>
<label class="text-16" for="">Please Upload Your CV</label>
<input class="mb-20" type="file" name="document" id="">
<button type="submit" id="vacancy-submit-btn"
class="button-hover px-30 py-10 bg-sec text-white rounded-30 text-14 border-0 mt-20 ">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,45 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="career">
<div class="services-banner">
<img src="{{ asset('raffles/assets/images/backgrounds_general/career-banner.png') }}" width="1425" height="356"
alt="interview preparation">
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-sec">Career Opportunities</h2>
<div class="title-line mx-auto"></div>
</div>
</section>
<section class="lqd-section pt-40 pb-30">
<div class="container">
<div class="row pb-20">
@foreach ($careers as $career)
<div class="col col-sm-6 col-md-4">
<a href="{{ route('career.single', $career->id) }}"
class="career-box flex flex-col gap-20 border">
<span>
<h5 class="text-white bg-sec px-20 py-10 rounded-10 text-18 mb-10 ml-0 inline-block">
{{ $career->department }}</h5>
</span>
<h6 class="text-16 font-bols mb-10">{{ $career->job_title }}</h6>
<div class="flex items-center gap-10 mb-10">
<i class="fa-solid fa-calendar-days text-20"></i>
<p class="font-bold text-16 text-black m-0 ">Post Date: {{ $career->created_At }}</p>
</div>
<div class="mb-10">
<h2 class="text-16 font-medium text-gray">
{{ \Illuminate\Support\Str::limit($career->job_description, 50) }}</h2>
</div>
<button>View Detail</button>
</a>
</div>
@endforeach
</div>
</div>
</section>
</section>
@endsection

View File

@@ -68,10 +68,11 @@
<div class="flex gap-10">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="name"
id="name" placeholder=" Name" required>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="mobile"
id="mobile" placeholder="Phone Number" required>
</div>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name="email"
id="email" placeholder="Email" required>
</div>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="subject"
id="subject" placeholder="Subject" required>
<textarea class="w-full mb-20 rounded-6 py-15 text-14 px-10" name="message" id="message" placeholder="Message"

View File

@@ -149,9 +149,11 @@
<div>
<label class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $country->id }}"> <input type="radio" name="country_id" value="{{ $country->id }}"
id="{{ $country->id }}"> {{ $country->title }} </label>
<label
class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $country->id }}"> <input type="radio" name="country_id"
value="{{ $country->id }}" id="{{ $country->id }}" required>
{{ $country->title }} </label>
</div>
</div>
@endforeach
@@ -167,9 +169,11 @@
<div class="col col-sm-6">
<div class="">
<label class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $status }}"> <input type="radio" name="status_type_id" value="{{ $key }}"
id="{{ $status }}"> {{ $status }}</label>
<label
class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $status }}"> <input type="radio"
name="status_type_id" value="{{ $status }}"
id="{{ $status }}" required> {{ $status }}</label>
</div>
</div>
@endforeach
@@ -185,7 +189,10 @@
<div>
<label class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs" for="serviceYes"> <input name="services" type="radio" id="serviceYes"> Yes</label>
<label
class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="yes"> <input name="services" type="radio" id="yes"
value="yes" required> Yes</label>
</div>
@@ -194,7 +201,10 @@
<div>
<label class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs" for="serviceNo"> <input name="services" type="radio" id="serviceNo">No</label>
<label
class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="no"> <input name="services" type="radio" id="no"
value="no">No</label>
</div>
@@ -212,9 +222,11 @@
<div>
<label class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $level }}"> <input type="radio" name="" id="{{ $level }}"
value=""> {{ $level }}</label>
<label
class="text-20 text-ter p-0 m-0 flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs"
for="{{ $level }}"> <input type="radio" name=""
id="{{ $level }}" value="">
{{ $level }}</label>
</div>
</div>
@endforeach
@@ -233,8 +245,6 @@
<option value="{{ $key }}">{{ $program }}</option>
</select>
@endforeach
</div>
</div>
@@ -319,75 +329,3 @@
</section>
@endsection
@push('js')
{{-- <script>
const form = document.getElementById('multiStepForm');
const tabs = document.querySelectorAll('.tab-pane');
const nextBtns = document.querySelectorAll('.btn-next');
const prevBtns = document.querySelectorAll('.btn-prev');
const navButtons = document.querySelectorAll('#step-nav button');
let currentStep = 0;
function showStep(step) {
tabs.forEach((tab, idx) => {
tab.classList.toggle('active', idx === step);
});
navButtons.forEach((btn, idx) => {
btn.classList.toggle('active', idx === step);
});
}
nextBtns.forEach(btn => {
btn.addEventListener('click', () => {
if (currentStep < tabs.length - 1) {
currentStep++;
showStep(currentStep);
}
});
});
prevBtns.forEach(btn => {
btn.addEventListener('click', () => {
if (currentStep > 0) {
currentStep--;
showStep(currentStep);
}
});
});
navButtons.forEach((btn, idx) => {
btn.addEventListener('click', () => {
currentStep = idx;
showStep(currentStep);
});
});
// Proficiency test toggle
const yesRadio = document.getElementById('yes');
const noRadio = document.getElementById('no');
const testDetailsGroup = document.getElementById('testDetailsGroup');
const testScoreGroup = document.getElementById('testScoreGroup');
const consideringGroup = document.getElementById('consideringGroup');
function toggleProficiencySections() {
if (yesRadio.checked) {
testDetailsGroup.classList.remove('d-none');
testScoreGroup.classList.remove('d-none');
consideringGroup.classList.add('d-none');
} else if (noRadio.checked) {
testDetailsGroup.classList.add('d-none');
testScoreGroup.classList.add('d-none');
consideringGroup.classList.remove('d-none');
} else {
testDetailsGroup.classList.add('d-none');
testScoreGroup.classList.add('d-none');
consideringGroup.classList.add('d-none');
}
}
yesRadio.addEventListener('change', toggleProficiencySections);
noRadio.addEventListener('change', toggleProficiencySections);
toggleProficiencySections();
</script> --}}
@endpush

View File

@@ -53,7 +53,11 @@
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-lg-12">
@foreach ($breakdowns as $type => $breakdown)
@php
$breakdown = $breakdowns[$type];
@endphp
<div class="a4-page">
{{-- <div class="card shadow-lg border-0 rounded-4"> --}}
@@ -175,6 +179,7 @@
</table>
</div>
@if ($serviceStatus === 'yes')
<!-- Service Costs -->
<h6 class="fw-bold mt-30 text-primary">Service Costs</h6>
<div class="table-responsive">
@@ -204,6 +209,7 @@
</tbody>
</table>
</div>
@endif
<!-- Overall -->
<div class="table-responsive mt-4">
@@ -218,7 +224,11 @@
</div>
</td>
<td class="text-end">
<strong>{{ $breakdown['service']['total'] + $breakdown['onetime']['total'] + $fee['fee'] }}</strong>
<strong>
{{ $serviceStatus === 'yes'
? $breakdown['service']['total'] + $breakdown['onetime']['total'] + $fee['fee']
: $breakdown['onetime']['total'] + $fee['fee'] }}
</strong>
</td>
</tr>
</tbody>
@@ -228,8 +238,6 @@
</div>
</div>
{{-- </div> --}}
@endforeach
</div>
</div>
</div>

View File

@@ -218,7 +218,7 @@
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10 bg-light-blue border-light-grey"
type="text" name="name" id="" placeholder="Full Name">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10 bg-light-blue border-light-grey"
type="text" name="phone" id="" placeholder="Phone">
type="text" name="mobile" id="" placeholder="Phone">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10 bg-light-blue border-light-grey"
type="email" name="email" id="" placeholder="Email">
<textarea class="w-full mb-20 rounded-6 py-15 text-14 px-10 bg-light-blue border-light-grey" name="subject"

View File

@@ -0,0 +1,153 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="career">
<div class="p-20 ">
<div class="h-175 rounded-10 bg-after relative">
<img class="h-full w-full rounded-30 object-cover" src="{{ asset($page->banner) }}" alt="">
</div>
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-sec">CSR</h2>
<div class="title-line mx-auto"></div>
</div>
</section>
<section class=" about-page">
<div class="container">
<div class="ceo-container">
<div class="content-wrapper">
<div class="image-section">
<div class="image-frame">
<img src="{{ asset($page->image) }}" alt="" class="ceo-image">
</div>
</div>
<div class="message-section">
<div class="accent-line"></div>
<div class="quote-mark">"</div>
<h2 class="heading">{{ $page->short_description }}</h2>
<p class="message">
{!! $page->description !!}
</p>
</div>
</div>
</div>
<!-- <div class="row items-center">
<div class="col col-12 col-md-6">
<div class="flex flex-wrap mr-120 ml-40 lg:m-0">
<div class="mb-20 relative">
<h2 class="ld-fh-element inline-block relative lqd-highlight-classic lqd-highlight-grow-left mt-0/5em mb-0 md:text-20 font-bold w-full"
data-inview="true" data-transition-delay="true"
data-delay-options='{"elements": ".lqd-highlight-inner", "delayType": "transition"}'>
<span>Your Trusted Study Abroad
</span>
<mark class="lqd-highlight"><span class="lqd-highlight-txt">Partner.</span>
<span class="left-0 bottom-10 lqd-highlight-inner"></span></mark>
</h2>
</div>
<div class="mb-20 ld-fancy-heading relative">
<p class="leading-25 ld-fh-element inline-block relative mb-0/5em">
Were more than just a consultancy—were your ultimate study abroad ally! With years of
experience and a passion for helping students succeed, weve guided thousands of
students to their dream universities across the globe. Your dreams are our mission
</p>
</div>
</div>
</div>
<div class="col col-12 col-md-6 p-0">
<div class="module-section flex items-center justify-center transition-all p-20 lg:p-0">
<div class="flex items-center justify-center bg-center bg-no-repeat bg-contain" style="
background-image: url('assets/images/demo/start-hub-1/shape-ellipse.png');
">
<div class="lqd-imggrp-single block relative " data-float="ease-in-out">
<div class="lqd-imggrp-img-container inline-flex relative items-center justify-center">
<figure class="w-full relative">
<img width="450" height="450" src="assets/images/general/about-banner.png"
alt="text box image" />
</figure>
</div>
</div>
</div>
</div>
</div>
</div> -->
</div>
</section>
<section class="section ">
<div class="container">
<h2 class="text-60 md:text-30 text-brand text-center">Blogs</h2>
</div>
</section>
<section class="lqd-section pt-40 pb-30">
<div class="container">
<div class="swiper mySwiper-img">
<div class="swiper-wrapper">
@foreach ($blogs as $blog)
<div class="swiper-slide ">
<a class="h-full w-full relative bg-dark-before"
href="{{ route('blog.single', $blog->slug) }}"> <img class="rounded-30"
src="{{ asset($blog->image) }}" alt="">
<div class="absolute left-5percent bottom-20">
<h3 class="text-white text-20">{{ $blog->title }}</h3>
</div>
</a>
</div>
@endforeach
</div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
</section>
<section class="section ">
<div class="container">
<h2 class="text-60 md:text-30 text-brand text-center">Gallery</h2>
<!-- <img class="w-20percent" src="assets/images/icons/line.png" alt=""> -->
</div>
</section>
<section class="lqd-section pt-40 pb-30">
<div class="container">
<div class="swiper mySwiper-img">
<div class="swiper-wrapper">
@foreach ($galleriesCSR->images as $gallery)
<div class="swiper-slide"> <img class="rounded-10" src="{{ asset($gallery) }}" alt="">
</div>
@endforeach
</div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
</section>
</section>
@endsection

View File

@@ -0,0 +1,134 @@
@extends('client.raffles.layouts.app')
@section('content')
<div class="services-banner">
<img src="{{ asset($page->banner) }}" width="1425" height="356" alt="events ">
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-sec">Events</h2>
<div class="title-line mx-auto"></div>
</div>
</section>
<div class="py-20 container events">
<div class="sm:block flex justify-between items-center mb-40 mt-40">
<h2 class="ld-fh-element inline-block relative mt-10 mb-0 section-heading-sec">
Upcoming Events
</h2>
</div>
<div class="swiper swiper-events mt-40 mb-40">
<div class="swiper-wrapper">
@foreach ($upcomingEvents as $event)
<a href="" class="swiper-slide">
<div class="event-block relative w-full">
<div class="w-full rounded-30">
<img src="{{ asset($event->image) }}" alt="">
</div>
<div class="flex items-center gap-20 py-20 px-20 bg-white rounded-30">
<div>
<h4 class="text-16 text-ter">Start</h4>
<h4 class="text-18 font-bold text-black">{{ $event->start_date }}</h4>
</div>
<div>
<h3 class="text-16 text-black">{{ $event->title }}</h3>
<p class="text-14 p-0 m-0 text-grey">{{ $event->short_description }} </p>
</div>
</div>
</div>
</a>
@endforeach
</div>
<!-- Pagination -->
<!-- <div class="swiper-pagination"></div> -->
<!-- Navigation Buttons -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<!-- past events -->
<div class="sm:block flex justify-between items-center mb-40 mt-40">
<h2 class="ld-fh-element inline-block relative mt-10 mb-0 section-heading-sec">
Past Events
</h2>
</div>
<div class="swiper swiper-events mt-40">
<div class="swiper-wrapper">
@foreach ($previousEvents as $event)
<a href="" class="swiper-slide">
<div class="event-block relative w-full">
<div class="w-full rounded-30">
<img src="{{ asset($event->image) }}" alt="">
</div>
<div class="flex items-center gap-20 py-20 px-20 bg-white rounded-30">
<div>
<h4 class="text-16 text-ter">Start</h4>
<h4 class="text-18 font-bold text-black">{{ $event->start_date }}</h4>
</div>
<div>
<h3 class="text-16 text-black">{{ $event->title }}</h3>
<p class="text-14 p-0 m-0 text-grey">{{ $event->short_description }} </p>
</div>
</div>
</div>
</a>
@endforeach
</div>
<!-- Pagination -->
<!-- <div class="swiper-pagination"></div> -->
<!-- Navigation Buttons -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<!-- Blog -->
<div class=" flex flex-col gap-20 justify-center items-center mb-40 mt-40">
<h2 class="ld-fh-element inline-block relative mt-10 mb-0 section-heading-sec">
Blog
</h2>
<p class="text-18 text-center">Our blog
features articles written by experts in the field, providing valuable information to help you achieve
your goals.</p>
</p>
</div>
<div class="swiper swiper-events mt-40 mb-20">
<div class="swiper-wrapper">
@foreach ($blogs as $blog)
<a href="{{ route('blog.single', $blog->slug) }}"
class="swiper-slide flex flex-col gap-20 p-10 blog-post">
<div class="w-100percent h-210 overflow-hidden rounded-16">
<img class="w-full h-full object-cover rounded-16" src="{{ asset($blog->image) }}"
alt="">
</div>
<div>
<span class="bg-gray text-sec rounded-30 text-10 py-5 px-10 mt-10">20 min read</span>
<h2 class="text-20 text-ter pt-10">{{ $blog->title }}</h2>
</div>
<div class="flex flex-col gap-10">
<p class="text-14 text-black">{{ $blog->short_description }}</p>
</div>
</a>
@endforeach
</div>
<!-- Pagination -->
<!-- <div class="swiper-pagination"></div> -->
<!-- Navigation Buttons -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
@endsection

View File

@@ -1,108 +1,267 @@
@extends('client.raffles.layouts.app')
@section('content')
@include('client.raffles.pages.partials.breadcumb')
<div class="study-destinations-banner">
<img src="{{ asset('raffles/assets/images/backgrounds_general/franchise-banner.png') }}" alt="">
</div>
<!-- Intro Section-->
<section class="p-0 ipad-top-space-margin page-title-big-typography cover-background md-background-position-left-center"
style="background-image: url('{{ asset('raffles/assets/images/demo-elder-care-title-bg.jpg') }}')">
<div class="container">
<div class="down-section text-center"
data-anime="{ &quot;translateY&quot;: [-50, 0], &quot;opacity&quot;: [0,1], &quot;duration&quot;: 600, &quot;delay&quot;: 0, &quot;staggervalue&quot;: 300, &quot;easing&quot;: &quot;easeOutQuad&quot; }">
<a href="#down-section" class="section-link">
<div class="text-dark-gray">
<i class="feather icon-feather-chevron-down icon-very-medium"></i>
</div>
</a>
<div class="pt-40 why-us">
<div class="container-fluid">
<div class="row sm:px-20 pr-30 first-row pt-20 pb-30">
<div class="col col-xl-6">
<div class="franchise-model">
<img src="{{ asset($page->image) }}" alt="">
</div>
</div>
</div>
</section>
<section id="down-section">
<div class="container">
<div class="row">
<div class="col-lg-4 pe-5 order-2 order-lg-1 lg-pe-3 md-pe-15px"
data-anime="{ &quot;el&quot;: &quot;childs&quot;, &quot;translateY&quot;: [50, 0], &quot;opacity&quot;: [0,1], &quot;duration&quot;: 1200, &quot;delay&quot;: 0, &quot;staggervalue&quot;: 150, &quot;easing&quot;: &quot;easeOutQuad&quot; }">
<div class="bg-dark-gray border-radius-6px ps-35px pb-25px pt-25px lg-ps-25px mb-25px">
<div class="feature-box feature-box-left-icon-middle">
<div
class="feature-box-icon feature-box-icon-rounded w-65px h-65px me-20px lg-me-15px rounded-circle bg-base-color rounded-box">
<i class="bi bi-telephone-outbound icon-extra-medium text-white"></i>
</div>
<div class="feature-box-content last-paragraph-no-margin">
<span class="mb-5px d-block text-white opacity-6 fw-300">Connect with us?</span>
<a href="tel:{{ setting('mobile') }}"
class="text-white fs-20 fw-500 lh-22">{{ setting('mobile') }}</a>
</div>
</div>
</div>
<div class="bg-very-light-gray border-radius-6px p-40px lg-p-25px md-p-35px">
<span class="fs-22 alt-font text-dark-gray fw-600 mb-25px d-inline-block">Contact Us?</span>
<div class="contact-form-style-01 mt-0">
<form action="email-templates/contact-form.php" method="post">
<div class="position-relative form-group mb-20px">
<span class="form-icon"><i class="bi bi-emoji-smile"></i></span>
<input type="text" name="name"
class="form-control border-white box-shadow-large required"
placeholder="Your name*" />
</div>
<div class="position-relative form-group mb-20px">
<span class="form-icon"><i class="bi bi-envelope"></i></span>
<input type="email" name="email"
class="form-control border-white box-shadow-large required"
placeholder="Your email address*" />
</div>
<div class="position-relative form-group form-textarea">
<span class="form-icon"><i class="bi bi-chat-square-dots"></i></span>
<textarea placeholder="Your message" name="comment" class="form-control border-white box-shadow-large" rows="3"></textarea>
<input type="hidden" name="redirect" value>
<button
class="btn btn-large btn-round-edge btn-base-color btn-box-shadow mt-20px submit w-100"
type="submit">Send message</button>
<div class="mt-20px form-results d-none"></div>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-8 order-1 order-lg-2 md-mb-50px"
data-anime="{ &quot;el&quot;: &quot;childs&quot;, &quot;translateY&quot;: [50, 0], &quot;opacity&quot;: [0,1], &quot;duration&quot;: 1200, &quot;delay&quot;: 0, &quot;staggervalue&quot;: 150, &quot;easing&quot;: &quot;easeOutQuad&quot; }">
<h4 class="text-dark-gray fw-700 ls-minus-1px alt-font mb-20px d-block">
{{ $page->short_description }}</h4>
<div class="col col-xl-6">
<div class="flex flex-col gap-10 pb-30 border-bottom">
<h2 class="md:text-20 text-50 text-sec">{{ $page->title }}</h2>
<h3 class="md:text-20 text-50 text-brand">Raffles EduCare</h3>
{!! $page->description !!}
<img src="{{ $page->image }}" class="mt-30px md-mt-15px mb-60px md-mb-40px border-radius-6px" alt>
<div class="row row-cols-1 row-cols-md-2 mb-30px md-mb-15px">
@isset($page->custom)
@foreach ($page->custom as $item)
<div class="col">
<span
class="fs-24 alt-font text-dark-gray ls-minus-05px fw-700 mb-10px d-block">{{ $item['key'] }}</span>
<p class="w-90 sm-w-100">{{ $item['value'] }}</p>
</div>
@endforeach
@endisset
<div class="flex flex-col gap-20 pt-20">
<h5 class="text-20 text-black">Have any questions?
Call/Whatsapp</h5>
<a class="text-26 text-black" href="tel:9801086208">+977 {{ setting('mobile') }}</a>
</div>
<div class="cover-background p-7 border-radius-6px mb-60px md-mb-40px d-flex justify-content-end align-items-end sm-h-500px"
style="background-image: url('{{ $page->sidebar_image }}')">
<div
class="bg-white box-shadow-quadruple-large border-radius-4px w-50 lg-w-55 sm-w-100 overflow-hidden">
<div class="p-40px lg-p-25px last-paragraph-no-margin">
<span
class="fs-24 alt-font text-dark-gray ls-minus-05px fw-700 mb-10px d-block">{{ $page->sidebar_title }}</span>
<p class="w-95 lg-w-100">{{ $page->sidebar_content }}</p>
</div>
<div class="bg-dark-gray p-15px text-center">
<a href="{{ url('/contact') }}" class="text-white fw-600"><i
class="feather icon-feather-mail me-10px"></i>Connect with Our Team</a>
</div>
</div>
</div>
<div class="become-member">
<div class="container">
<div class="row sm:p-20 mt-20 p-60 ">
<div class="col-sm-12">
<div class="flex flex-col gap-20 justify-center text-center">
<h4 class="text-white text-20">Become one of us!</h4>
<h3 class="text-white md:text-24 text-40">Members Benefit</h3>
</div>
</div>
<div class="row py-20">
<div class="col col-sm-6 col-md-4">
<div class="flex gap-20 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">1</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Brand value Exposure</h3>
</div>
</div>
<div class="col col-sm-6 col-md-4">
<div class="flex gap-10 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">2</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Leads generation & Referral</h3>
</div>
</div>
<div class="col col-sm-6 col-md-4">
<div class="flex gap-10 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">3</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Business Expertise support</h3>
</div>
</div>
<div class="col col-sm-6 col-md-4">
<div class="flex gap-10 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">4</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Be Part of a Global Legacy</h3>
</div>
</div>
<div class="col col-sm-6 col-md-4">
<div class="flex gap-10 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">5</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Revenue sharing opportunities</h3>
</div>
</div>
<div class="col col-sm-6 col-md-4">
<div class="flex gap-10 items-start pt-20">
<h4 class="md:text-30 text-80 text-white font-bold">6</h4>
<h3 class="md:text-20 text-28 text-white font-bold">Dedicated partnerships Manager</h3>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="row sm:p-20 p-60 bg-sec">
<div class="col col-12">
<div class=" py-20 ">
<div class="py-10">
<h3 class="text-white md:text-24 text-44 text-center">Lets discuss
on something <span class="text-brand">cool</span> together</h3>
</div>
<div class="franchise-form bg-white">
<form action="{{ route('franchise.store') }}" method="post" id="franchise-form">
@csrf
<label class="text-16 pb-5" for="">Your Name <span
class="text-brand">(Required)</span></label>
<div class="flex gap-10 ">
<div class="w-full">
<label class="text-14 pb-5" for="">First</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="first_name" id="">
</div>
<div class="w-full">
<label class="text-14 pb-5" for="">Last</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="last_name" id="">
</div>
</div>
<label class="text-16 pb-5" for="">Your Email Address <span
class="text-brand">(Required)</span></label>
<input class="w-full mb-20 rounded-6 py-10 text-14 px-10" type="email" name="email"
id="">
<label class="text-16 pb-5" for="">Your Phone <span
class="text-brand">(Required)</span></label>
<input class="w-full mb-20 rounded-6 py-10 text-14 px-10" type="text" name="phone"
id="">
<label class="text-16 pb-5" for="">Your Address <span
class="text-brand">(Required)</span></label>
<input class="w-full mb-20 rounded-6 py-10 text-14 px-10" type="text" name="address"
id="">
<div class="flex gap-10 ">
<div class="w-full">
<label class="text-14 pb-5" for="">City</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="city" id="">
</div>
<div class="w-full">
<label class="text-14 pb-5" for="">State/Region/Province</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="state" id="">
</div>
</div>
<div class="sm:block flex gap-10 ">
<div class="w-full">
<label class="text-14 pb-5" for="">Level to Invest</label>
<select class="w-full py-5" name="invest_level" id="">
<option value="">Less than $20,000</option>
<option value="">Less than $30,000</option>
<option value="">Less than $40,000</option>
<option value="">Less than $50,000</option>
</select>
<!-- <select name="" id="franchise-invest">
<option value="" selected hidden> Less than $10,000</option>
<option value=""></option>
</select> -->
</div>
<div class="w-full">
<label class="text-14 pb-5" for="">Do you currently own a business?
(Yes/No)</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="own_business" id="">
</div>
</div>
<label class="text-14 pb-5" for=""> If yes, please describe your current
business</label>
<textarea class="w-full mb-20 rounded-6 py-10 text-14 px-10" name="yes_own_des" id=""></textarea>
<div class="sm:block flex gap-10 ">
<div class="w-full">
<label class="text-14 pb-5" for="">Preferred Franchise Location</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="franchise_location" id="">
</div>
<div class="w-full">
<label class="text-14 pb-5" for="">Timeframe to Start</label>
<select class="w-full py-5" name="start_time_frame" id="">
<option value="">within 1 year</option>
<option value="">After 1 year</option>
</select>
<!-- <select name="" id="franchise-timeframe">
<option value="" selected hidden> within 6 months</option>
<option value=""></option>
</select> -->
</div>
</div>
<div class="sm:w-full w-50percent">
<label class="text-14 pb-5" for="">Do u already have an office setup ?</label>
<input class="w-full mb-30 rounded-6 py-10 text-14 px-10" type="text"
name="office_setup" id="">
</div>
<label class="text-14 pb-5" for=""> Please add your bussiness portfolio website ,and
let us know
if you have any questions?</label>
<textarea class="w-full mb-20 rounded-6 py-10 text-14 px-10" name="website" id=""></textarea>
<button type="submit" id="franchise-submit"
class="button-hover px-20 py-10 bg-sec text-white text-16 border-0 franchise-submit">Send
Message</button>
</form>
</div>
<div class="flex justify-center gap-30 pt-30 flex-wrap">
<a class="flex items-center gap-10 border px-10 py-20" href="mailto:info@raffleseducare.com">
<i class="fa-solid fa-envelope text-brand text-18"></i>
<p class="text-white text-18 m-0 p-0">{{ setting('email') }}</p>
</a>
<a class="flex items-center gap-10 border px-10 py-20" href="tel:info@+977-1234567890">
<i class="fa-solid fa-phone text-brand text-18"></i>
<p class="text-white text-18 m-0 p-0">+977-{{ setting('mobile') }}</p>
</a>
<div class="flex items-center gap-10 border px-10 py-20">
<i class="fa-solid fa-location-dot text-brand text-18"></i>
<p class="text-white text-18 m-0 p-0">{{ setting('location') }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,36 @@
@extends('client.raffles.layouts.app')
@section('content')
<div class="services-banner">
<img src="{{ $page->banner }}" width="1425" height="356" alt="Gallery ">
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-sec">Gallery</h2>
<div class="title-line mx-auto"></div>
</div>
</section>
<section class="pt-40 pb-40 ">
<div class="container">
<div class="gallery" id="gallery">
@foreach ($page->images as $image)
<img src="{{ asset($image) }}" alt="img1">
@endforeach
</div>
</div>
<div class="lightbox" id="lightbox">
<span class="close-btn" onclick="closeLightbox()"></span>
<button class="nav-button prev" onclick="changeSlide(-1)"></button>
<img id="lightbox-img" src="" alt="fullscreen">
<button class="nav-button next" onclick="changeSlide(1)"></button>
</div>
</section>
@endsection

View File

@@ -313,18 +313,19 @@
<h3 class="text-brand text-20">Let's Connect Quick</h3>
<div class="divider"></div>
<form class="pt-20" action="">
<form action="{{ route('enquiry.store') }}" method="post" id="contact-form">
@csrf
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10 border-bottom" type="text"
name="" id="" placeholder="Your Name">
name="name" id="" placeholder="Your Name" required>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name=""
id="" placeholder="Your Email">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name=""
id="" placeholder="Phone">
<textarea class="w-full mb-40 rounded-6 text-14 px-10" name="" id="" placeholder="Your Message"></textarea>
<button class="px-10 py-10 bg-brand text-white rounded-10 text-16 border-0 button-hover">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name="email"
id="email" placeholder="Your Email" required>
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="mobile"
id="mobile" placeholder="Phone" required>
<textarea class="w-full mb-40 rounded-6 text-14 px-10" name="message" id="" placeholder="Your Message"
required></textarea>
<button type="submit" id="submit-btn"
class="px-10 py-10 bg-brand 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>
</form>

View File

@@ -0,0 +1,133 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="py-40">
<div class="container">
<div class="flex justify-center flex-col text-center items-center w-80percent mx-auto top-20percent ">
<h2 class="md:text-30 text-60 text-sec">SiteMap</h2>
<div class="title-line mx-auto"></div>
</div>
<div class="stats-section">
<div class="stats-grid">
<div class="stat-item">
<div class="stat-number">30+</div>
<div class="stat-label">Total Pages</div>
</div>
<div class="stat-item">
<div class="stat-number">5</div>
<div class="stat-label">Main Categories</div>
</div>
<div class="stat-item">
<div class="stat-number">5</div>
<div class="stat-label">Study Destinations</div>
</div>
<div class="stat-item">
<div class="stat-number">8</div>
<div class="stat-label">Student Services</div>
</div>
</div>
</div>
<div class="sitemap-grid">
<div class="sitemap-category core-pages">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/house.svg') }}"
alt=""></div>
Core Pages
</h2>
<ul>
<li><a href="{{ url('/') }}">Home</a></li>
<li><a href="{{ url('/about-us') }}">About Us</a></li>
<li><a href="{{ url('/contact-us') }}">Contact Us</a></li>
<li><a href="{{ url('/sitemap') }}">Sitemap</a></li>
<li><a href="{{ url('/terms') }}">Terms & Conditions</a>
</li>
</ul>
</div>
<div class="sitemap-category study-abroad">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/earth.svg') }}"
alt=""></div>
Study Abroad
</h2>
<ul>
<li><a href="{{ url('/destination/uk') }}">Study in UK</a></li>
<li><a href="{{ url('/destination/usa') }}">Study in USA</a></li>
<li><a href="{{ url('/destination/canada') }}">Study in Canada</a></li>
<li><a href="{{ url('/destination/denmark') }}">Study in Denmark</a></li>
<li><a href="{{ url('/destination/australia') }}">Study in Australia</a></li>
</ul>
</div>
<div class="sitemap-category student-support">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/cap.svg') }}"
alt=""></div>
Student Support
</h2>
<ul>
<li><a href="{{ url('/service/interview-preparation') }}">Interview Preparation</a>
</li>
<li><a href="{{ url('/service/visa-assistance') }}">Visa Assistance</a></li>
<li><a href="{{ url('/service/financial-guidance') }}">Financial Guidance</a></li>
<li><a href="{{ url('travel-assistance') }}">Travel Assistance</a></li>
<li><a href="{{ url('/course-finder') }}">Course Finder</a></li>
<li><a href="{{ url('/cost-calculator') }}">Cost Calculator</a></li>
<li><a href="{{ url('/resources') }}">Free Resources</a></li>
<li><a href="{{ url('/book-counsellor') }}">Book a Counsellor</a></li>
</ul>
</div>
<div class="sitemap-category more-info">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/books.svg') }}"
alt=""></div>
More Information
</h2>
<ul>
<li><a href="{{ url('/blog') }}">Blogs</a></li>
<li><a href="{{ url('/events') }}">Events</a></li>
<li><a href="{{ url('/gallery') }}">Gallery</a></li>
<li><a href="{{ url('/social-platform') }}">Social Platform</a></li>
<li><a href="{{ url('/achievements') }}">Achievements</a></li>
<li><a href="{{ url('/csr') }}">CSR</a></li>
<li><a href="{{ url('/franchise') }}">Franchise</a></li>
</ul>
</div>
<div class="sitemap-category study-abroad">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/earth.svg') }}"
alt=""></div>
Test Preparation
</h2>
<ul>
<li><a href="{{ url('test/ielts') }}">IELTS Preparation</a></li>
<li><a href="{{ url('test/pte') }}">PTE Preparation</a></li>
<li><a href="{{ url('test/duolingo') }}">Duolingo Preparation</a></li>
</ul>
</div>
<div class="sitemap-category careers">
<h2>
<div class="category-icon"><img src="{{ asset('raffles/assets/images/icons/case.svg') }}"
alt=""></div>
Careers
</h2>
<ul>
<li><a href="{{ url('/career') }}">Career Opportunities</a></li>
<li><a href="https://www.raffleseducare.my-urls.com/career-detail">Career Details</a></li>
</ul>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,428 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="">
<div class="services-banner">
<img src="{{ asset('raffles/assets/images/backgrounds_general/social-banner.png') }}" width="1425" height="356"
alt="Social Platform">
</div>
<section class="lqd-section about social-platform pt- pb-40">
<div class="container">
<!-- <div class="section-break mt-0"></div> -->
<h2 class="text-36 md:text-24 text-brand text-center pt-40">Lets Connect</h2>
<div class="section-break "></div>
<div class="social-facebook pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Facebook </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('facebook') }}">
<div class="lqd-iconbox-scale transition-all mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-blue-100 text-30">
<i class="fa-brands fa-facebook text-sec"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('facebook') }}">
<div class="lqd-iconbox-scale transition-all mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-blue-100 text-30">
<i class="fa-brands fa-facebook text-sec"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Study in<br />UK
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('facebook') }}">
<div class="lqd-iconbox-scale transition-all mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-blue-100 text-30">
<i class="fa-brands fa-facebook text-sec"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Study in<br />USA
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('facebook') }}">
<div class="lqd-iconbox-scale transition-all mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-blue-100 text-30">
<i class="fa-brands fa-facebook text-sec"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Learning<br />Center
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="social-instagram pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Instagram </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('instagram') }}">
<div class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-red-100 text-50">
<i class="fa-brands fa-instagram text-brand"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('instagram') }}">
<div class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-red-100 text-50">
<i class="fa-brands fa-instagram text-brand"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Educare<br /> USA
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('instagram') }}">
<div class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-red-100 text-50">
<i class="fa-brands fa-instagram text-brand"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Learning<br />Center
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="social-tiktok pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Tiktok & Google </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent ">
<a href="{{ setting('tiktok') }}">
<div
class="flex justify-center items-center text-center lqd-iconbox-scale transition-all pl-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col justify-center iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-gray-100 text-30">
<i class="fa-brands fa-tiktok text-black"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('tiktok') }}">
<div class="lqd-iconbox-scale transition-all pl-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-gray-100 text-30">
<i class="fa-brands fa-tiktok text-black"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles Study<br />Abroad
</h3>
</div>
</div>
</a>
</div>
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('google') }}">
<div class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-green-100 text-30">
<i class="fa-brands fa-google"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="mad:block flex flex-wrap justify-center gap-90 items-center">
<div class="social-pinterest pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Pinterest </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('pinterest') }}">
<div
class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-red-100 text-50">
<i class="fa-brands fa-pinterest text-brand"></i>
</div>
</div>
<h3
class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="social-linkedin pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Linkedin </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('linkedin') }}">
<div class="lqd-iconbox-scale transition-all mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-blue-100 text-30">
<i class="fa-brands fa-linkedin text-sec"></i>
</div>
</div>
<h3
class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="social-youtube pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Youtube </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<a href="{{ setting('youtube') }}">
<div
class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-red-100 text-50">
<i class="fa-brands fa-youtube text-brand"></i>
</div>
</div>
<h3
class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="social-google pb-30">
<h3 class="text-sec2 text-46 md:text-24 pb-30 text-center">Google Business </h3>
<div class="row">
<div class="col col-12 p-0">
<div class="w-full flex flex-wrap justify-center module-icon-box">
<div class="w-25percent sm:w-50percent">
<div class="lqd-iconbox-scale transition-all pr-60 mb-30 sm:mb-0 hover:scale-1/1">
<div
class="iconbox flex items-center flex-grow-1 relative flex-col iconbox-default iconbox-circle">
<div class="iconbox-icon-wrap">
<div
class="iconbox-icon-container inline-flex relative z-1 rounded-full mb-20 w-75 h-75 bg-green-100 text-30">
<i class="fa-brands fa-google"></i>
</div>
</div>
<h3 class="lqd-iconbox-heading text-16 font-bold text-center leading-1em">
Raffles<br />Educare
</h3>
</div>
</div>
</div>
</div>
</div>
</div>
</div> -->
</div>
</div>
</section>
@endsection

View File

@@ -21,7 +21,7 @@
<li class="px-20 tab-btn cursor-pointer fade {{ $loop->first ? 'show active' : '' }} "
role="tabpanel" onclick="showTab('tabs_{{ $index + 1 }}')">
<div class="text-17 font-bold flex gap-10 items-center">
<p class="numbering">1</p>
<p class="numbering">{{ $index + 1 }}</p>
{{-- <img class="w-40" src="assets/images/icons/one.svg" alt=""> --}}
<h5 class="text-16 p-0 m-0">{{ $child->title }}</h5>
</div>
@@ -30,7 +30,8 @@
<a href="{{ route('resources') }}">
<li class="px-20 tab-btn cursor-pointer fade " role="tabpanel" onclick="showTab('tabs_7')">
<div class="text-17 font-bold flex gap-10 items-center">
<img class="w-40" src="assets/images/icons/question.png" alt="">
<img class="w-40" src="{{ asset('raffles/assets/images/icons/question.png') }}"
alt="">
<h5 class="text-16 p-0 m-0">Free Resources </h5>
</div>
</li>
@@ -55,7 +56,7 @@
<img class="w-full h-full rounded-10"
src="{{ asset($child->image) }}" alt="">
</div>
<div class="lqd-particles-bg-wrap lqd-overlay flex pointer-events-none">
{{-- <div class="lqd-particles-bg-wrap lqd-overlay flex pointer-events-none">
<div
class="ld-particles-container relative w-full lqd-particles-as-bg lqd-overlay flex h-450">
<div class="ld-particles-inner lqd-overlay flex pointer-events-none"
@@ -63,7 +64,7 @@
data-particles-options='{"particles":{"number":{"value":4} , "color":{"value": "random"} , "shape":{"type":["circle"]} , "opacity":{"value":1} , "size":{"value":4} , "move":{"enable": true, "direction": "none", "out_mode": "out"}} , "interactivity":[], "retina_detect": true}'>
</div>
</div>
</div>
</div> --}}
</div>
</div>
@@ -73,7 +74,7 @@
<div class="py-40">
<h3 class="text-20 text-brand">
Why Study in {{ $page->title }}
Frequently Asked Questions
</h3>
<div class="accordion accordion-title-underlined accordion-sm pt-20"
@@ -120,296 +121,7 @@
</div>
</div>
<!-- blog -->
<div class="lqd-section blog pt-20" id="blog" data-custom-animations="true"
data-ca-options='{"animationTarget": ".btn, .animation-element", "ease": "power4.out", "initValues":{"x": "-10px", "y": "10px", "opacity":0} , "animations":{"x": "0px", "y": "0px", "opacity":1}}'>
<div class="container">
<div class="row">
<div class="col col-12">
<div class="w-full flex mb-20 justify-start">
<div class="btn btn-solid bg-sec text-white rounded-20 text-15 module-btn-xs"
data-localscroll="true"><span class="btn-txt"
data-text="Office Blog">Office Blog</span></div>
</div>
<div class="flex flex-wrap -mr-15 -ml-15 animation-element">
@foreach ($child->custom as $index => $item)
<div
class="module-blog w-50percent sm:w-full px-15 mb-0">
<article
class="lqd-lp relative lqd-lp-style-9 flex flex-wrap text-start format-standard has-post-thumbnail hentry category-blog-single">
<div class="lqd-lp-img w-full">
<figure
class="relative overflow-hidden rounded-8">
<img width="370" height="470"
src="{{ asset('raffles/assets/images/demo/start-hub-1/blog-1.png') }}"
alt="blog" />
<div
class="lqd-overlay flex items-center justify-center">
<i
class="lqd-icn-ess icon-md-arrow-forward"></i>
</div>
</figure>
</div>
<div class="lqd-lp-contents w-full">
<div class="lqd-lp-header">
<h2
class="entry-title lqd-lp-title mt-0/75em mb-0/85em text-20 font-bold leading-25 font-title text-slate-700">
{{ $item['key'] ?? '' }}
</h2>
</div>
<div class="lqd-lp-excerpt">
<p>
{{ $item['value'] ?? '' }}
</p>
</div>
</div>
</article>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
<div class="py-40">
<div class="py-10">
<h4 class="title-small">1. What is the average tuition, living, and
health insurance cost in the USA?</h4>
<p class="para"><strong>Bachelors: </strong>Tuition: $15,000$35,000
/ year</p>
<p class="para"><strong>Bachelors: </strong>Tuition: $15,000$35,000
/ year</p>
<p class="para-slant">Living: $8,000$12,000/year | Health Insurance:
$1,000$2,000 / year</p>
</div>
<div class="py-10">
<h4 class="title-small">2. What types of scholarships are available?
</h4>
<ul class="list-disc">
<li class="para"><strong>Merit-based: </strong>Based on academic
scores or test results</li>
<li class="para"><strong>Merit-based: </strong>Based on academic
scores or test results</li>
<li class="para">Merit-based:Based on academic scores or test
results</li>
</ul>
</div>
<div class="py-10">
<h4 class="title-small">3. What types of scholarships are available?
</h4>
<ol class="list-alpha">
<li class="para"><strong>Merit-based: </strong>Based on academic
scores or test results</li>
<li class="para"><strong>Merit-based: </strong>Based on academic
scores or test results</li>
<li class="para">Merit-based:Based on academic scores or test
results</li>
</ol>
</div>
<div class="py-10">
<h4 class="title-small">4. What types of scholarships are available?
</h4>
<ol class="list-alpha">
<li class="para"><a class="text-sec underline" href="#"
target="_blank"><strong>Merit-based: </strong>Based on
academic
scores or test results</a></li>
<li class="para"><strong>Merit-based: </strong>Based on academic
scores or test results</li>
<li class="para">Merit-based:Based on academic scores or test
results</li>
</ol>
</div>
<div class="py-10">
<table class="tabs-table">
<thead>
<tr>
<td>Universities</td>
<td>Annual Tuition Fee
(Non-Eu/EEA)
in Euro & Approximate in NPR</td>
<td>Scholarships Available</td>
</tr>
</thead>
<tbody>
<tr>
<td>
University Of Copenhagen(UCPH)
</td>
<td>
€10,000€17,000 OR
NPR 1,350,0002,295,000
</td>
<td>
Danish Government Scholarship (offered by the university
on behalf of the Danish Ministry)
</td>
</tr>
<tr>
<td>
University Of Copenhagen(UCPH)
</td>
<td>
€10,000€17,000 OR
NPR 1,350,0002,295,000
</td>
<td>
Danish Government Scholarship (offered by the university
on behalf of the Danish Ministry)
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif
@include('client.raffles.pages.call-request')
</section>
@endsection
@extends('client.raffles.layouts.app')
@section('content')
<div class="study-destinations-banner">
<img src="{{ asset($page->banner) }}" width="1425" height="356" alt="study uk">
</div>
<section class="container py-30 free-resources">
<div class="flex justify-center flex-col text-center items-center w-80percent mx-auto top-20percent ">
<h2 class="md:text-30 text-60 text-sec">Study in {{ $page->title }}</h2>
<div class="title-line mx-auto"></div>
</div>
@if ($page->children)
<section class="free-resources-content tab-container">
<div class="row">
<div class="col col-md-3">
<ul class="first-row tab-buttons ">
@foreach ($page->children as $index => $child)
<li class="px-20 tab-btn cursor-pointer fade {{ $loop->first ? 'show active' : '' }} "
role="tabpanel" onclick="showTab('tabs_{{ $index + 1 }}')">
<div class="text-17 font-bold flex gap-10 items-center">
<img class="w-40" src="assets/images/icons/one.svg" alt="">
<h5 class="text-16 p-0 m-0">{{ $child->title }}</h5>
</div>
</li>
@endforeach
<a href="{{ route('resources') }}">
<li class="px-20 tab-btn cursor-pointer fade " role="tabpanel"
onclick="showTab('tabs_7')">
<div class="text-17 font-bold flex gap-10 items-center">
<img class="w-40" src="assets/images/icons/question.png" alt="">
<h5 class="text-16 p-0 m-0">Free Resources </h5>
</div>
</li>
</a>
</ul>
</div>
<div class="col col-md-9">
<div class="second-row">
@foreach ($page->children as $index => $child)
<div class="tab-content {{ $loop->first ? 'active' : '' }}"
id="tabs_{{ $index + 1 }}">
<div data-custom-animations="true"
data-ca-options='{"animationTarget": ".content-inside", "ease": "power4.out", "initValues":{"y": "-50px", "opacity":0} , "animations":{"y": "0px", "opacity":1}}'>
<div class="content-inside">
<h3 class="text-brand text-30 ">{{ $child->short_description }}</h3>
<div class="row items-center">
<div class="col col-md-6">
<p class="text-16 text-justify">{!! $child->description !!}</p>
</div>
<div class="col col-md-6" data-float="ease-in-out">
<div class="">
<img class="w-full h-full rounded-10"
src="{{ asset($child->image) }}" alt="">
</div>
<div
class="lqd-particles-bg-wrap lqd-overlay flex pointer-events-none">
<div
class="ld-particles-container relative w-full lqd-particles-as-bg lqd-overlay flex h-450">
<div class="ld-particles-inner lqd-overlay flex pointer-events-none"
id="lqd-particle-banner" data-particles="true"
data-particles-options='{"particles":{"number":{"value":4} , "color":{"value": "random"} , "shape":{"type":["circle"]} , "opacity":{"value":1} , "size":{"value":4} , "move":{"enable": true, "direction": "none", "out_mode": "out"}} , "interactivity":[], "retina_detect": true}'>
</div>
</div>
</div>
</div>
</div>
<div class="py-40">
<h3 class="text-20 text-brand">
Why Study in {{ $page->title }}
</h3>
<div class="accordion accordion-title-underlined accordion-sm pt-20"
id="accordion-questions" role="tablist" aria-multiselectable="true">
@foreach ($page->children as $index => $value)
@foreach ($value->custom as $key => $item)
<div class="accordion-item panel mb-10">
<div class="accordion-heading" role="tab"
id="heading-question-{{ $key + 1 }}">
<h4 class="accordion-title">
<a class="collapsed text-17 font-bold"
role="button" data-bs-toggle="collapse"
data-bs-parent="#accordion-questions"
href="index.php#collapse-question-item-{{ $key + 1 }}"
aria-expanded="false"
aria-controls="collapse-question-item-{{ $key + 1 }}">
<span
class="accordion-expander text-16 text-black"><i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i>
<i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i></span><span
class="accordion-title-txt">{{ $item['icon'] ?? '' }}</span>
</a>
</h4>
</div>
<div id="collapse-question-item-{{ $key + 1 }}"
class="accordion-collapse collapse"
data-bs-parent="#accordion-questions" role="tabpanel"
aria-labelledby="heading-question-{{ $key + 1 }}">
<div
class="accordion-content text-14 leading-20 text-black">
<p>{{ $item['key'] ?? '' }}</p>
</div>
</div>
</div>
@endforeach
@endforeach
</div>
</div>
@if ($page->custom)
<!-- blog -->
<div class="lqd-section blog pt-20" id="blog"
data-custom-animations="true"
@@ -420,11 +132,11 @@
<div class="w-full flex mb-20 justify-start">
<div class="btn btn-solid bg-sec text-white rounded-20 text-15 module-btn-xs"
data-localscroll="true"><span class="btn-txt"
data-text="Office Blog">Office Blog</span></div>
data-text="Office Blog">Blogs</span></div>
</div>
<div class="flex flex-wrap -mr-15 -ml-15 animation-element">
@foreach ($child->custom as $index => $item)
@foreach (collect($page->custom)->take(2) as $index => $item)
<div
class="module-blog w-50percent sm:w-full px-15 mb-0">
<article
@@ -446,12 +158,12 @@
<div class="lqd-lp-header">
<h2
class="entry-title lqd-lp-title mt-0/75em mb-0/85em text-20 font-bold leading-25 font-title text-slate-700">
{{ $item['key'] ?? '' }}
{{ $item['icon'] ?? '' }}
</h2>
</div>
<div class="lqd-lp-excerpt">
<p>
{{ $item['value'] ?? '' }}
{{ \Illuminate\Support\Str::limit($item['key'] ?? '', 50) }}
</p>
</div>
</div>
@@ -463,187 +175,13 @@
</div>
</div>
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
@endif
@include('client.raffles.pages.call-request')
</section>
@endsection
@extends('client.raffles.layouts.app')
@section('content')
<div class="study-destinations-banner">
<img src="{{ asset($page->banner) }}" width="1425" height="356" alt="study uk">
</div>
<section class="container py-30 free-resources">
<div class="flex justify-center flex-col text-center items-center w-80percent mx-auto top-20percent ">
<h2 class="md:text-30 text-60 text-sec">Study in {{ $page->title }}</h2>
<div class="title-line mx-auto"></div>
</div>
@if ($page->children)
<section class="free-resources-content tab-container">
<div class="row">
<div class="col col-md-3">
<ul class="first-row tab-buttons ">
@foreach ($page->children as $index => $child)
<li class="px-20 tab-btn cursor-pointer fade {{ $loop->first ? 'show active' : '' }} "
role="tabpanel" onclick="showTab('tabs_{{ $index + 1 }}')">
<div class="text-17 font-bold flex gap-10 items-center">
<img class="w-40" src="assets/images/icons/one.svg" alt="">
<h5 class="text-16 p-0 m-0">{{ $child->title }}</h5>
</div>
</li>
@endforeach
<a href="{{ route('resources') }}">
<li class="px-20 tab-btn cursor-pointer fade " role="tabpanel"
onclick="showTab('tabs_7')">
<div class="text-17 font-bold flex gap-10 items-center">
<img class="w-40" src="assets/images/icons/question.png" alt="">
<h5 class="text-16 p-0 m-0">Free Resources </h5>
</div>
</li>
</a>
</ul>
</div>
<div class="col col-md-9">
<div class="second-row">
@foreach ($page->children as $index => $child)
<div class="tab-content {{ $loop->first ? 'active' : '' }}"
id="tabs_{{ $index + 1 }}">
<div data-custom-animations="true"
data-ca-options='{"animationTarget": ".content-inside", "ease": "power4.out", "initValues":{"y": "-50px", "opacity":0} , "animations":{"y": "0px", "opacity":1}}'>
<div class="content-inside">
<h3 class="text-brand text-30 ">{{ $child->short_description }}</h3>
<div class="row items-center">
<div class="col col-md-6">
<p class="text-16 text-justify">{!! $child->description !!}</p>
</div>
<div class="col col-md-6" data-float="ease-in-out">
<div class="">
<img class="w-full h-full rounded-10"
src="{{ asset($child->image) }}" alt="">
</div>
<div
class="lqd-particles-bg-wrap lqd-overlay flex pointer-events-none">
<div
class="ld-particles-container relative w-full lqd-particles-as-bg lqd-overlay flex h-450">
<div class="ld-particles-inner lqd-overlay flex pointer-events-none"
id="lqd-particle-banner" data-particles="true"
data-particles-options='{"particles":{"number":{"value":4} , "color":{"value": "random"} , "shape":{"type":["circle"]} , "opacity":{"value":1} , "size":{"value":4} , "move":{"enable": true, "direction": "none", "out_mode": "out"}} , "interactivity":[], "retina_detect": true}'>
</div>
</div>
</div>
</div>
</div>
<div class="py-40">
<h3 class="text-20 text-brand">
Why Study in {{ $page->title }}
</h3>
<div class="accordion accordion-title-underlined accordion-sm pt-20"
id="accordion-questions" role="tablist" aria-multiselectable="true">
@foreach ($page->children as $index => $value)
@foreach ($value->custom as $key => $item)
<div class="accordion-item panel mb-10">
<div class="accordion-heading" role="tab"
id="heading-question-{{ $key + 1 }}">
<h4 class="accordion-title">
<a class="collapsed text-17 font-bold"
role="button" data-bs-toggle="collapse"
data-bs-parent="#accordion-questions"
href="index.php#collapse-question-item-{{ $key + 1 }}"
aria-expanded="false"
aria-controls="collapse-question-item-{{ $key + 1 }}">
<span
class="accordion-expander text-16 text-black"><i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i>
<i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i></span><span
class="accordion-title-txt">{{ $item['icon'] ?? '' }}</span>
</a>
</h4>
</div>
<div id="collapse-question-item-{{ $key + 1 }}"
class="accordion-collapse collapse"
data-bs-parent="#accordion-questions" role="tabpanel"
aria-labelledby="heading-question-{{ $key + 1 }}">
<div
class="accordion-content text-14 leading-20 text-black">
<p>{{ $item['key'] ?? '' }}</p>
</div>
</div>
</div>
@endforeach
@endforeach
{!! $child->faqs ?? '' !!}
</div>
</div>
<!-- blog -->
<div class="lqd-section blog pt-20" id="blog"
data-custom-animations="true"
data-ca-options='{"animationTarget": ".btn, .animation-element", "ease": "power4.out", "initValues":{"x": "-10px", "y": "10px", "opacity":0} , "animations":{"x": "0px", "y": "0px", "opacity":1}}'>
<div class="container">
<div class="row">
<div class="col col-12">
<div class="w-full flex mb-20 justify-start">
<div class="btn btn-solid bg-sec text-white rounded-20 text-15 module-btn-xs"
data-localscroll="true"><span class="btn-txt"
data-text="Office Blog">Office Blog</span></div>
</div>
<div class="flex flex-wrap -mr-15 -ml-15 animation-element">
@foreach ($child->custom as $index => $item)
<div
class="module-blog w-50percent sm:w-full px-15 mb-0">
<article
class="lqd-lp relative lqd-lp-style-9 flex flex-wrap text-start format-standard has-post-thumbnail hentry category-blog-single">
<div class="lqd-lp-img w-full">
<figure
class="relative overflow-hidden rounded-8">
<img width="370" height="470"
src="{{ asset('raffles/assets/images/demo/start-hub-1/blog-1.png') }}"
alt="blog" />
<div
class="lqd-overlay flex items-center justify-center">
<i
class="lqd-icn-ess icon-md-arrow-forward"></i>
</div>
</figure>
</div>
<div class="lqd-lp-contents w-full">
<div class="lqd-lp-header">
<h2
class="entry-title lqd-lp-title mt-0/75em mb-0/85em text-20 font-bold leading-25 font-title text-slate-700">
{{ $item['key'] ?? '' }}
</h2>
</div>
<div class="lqd-lp-excerpt">
<p>
{{ $item['value'] ?? '' }}
</p>
</div>
</div>
</article>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,31 @@
@extends('client.raffles.layouts.app')
@section('content')
<section class="career">
<div class="p-20 ">
<div class="h-175 rounded-10 bg-after relative">
<img class="h-full w-full rounded-30 object-cover" src="{{ asset($page->banner) }}" alt="">
</div>
</div>
<section class="section ">
<div class="flex flex-col gap-5 justify-center items-center text-center">
<h2 class="text-60 md:text-30 text-sec">Terms and Conditions</h2>
<div class="title-line mx-auto"></div>
</div>
</section>
<section class="lqd-section pt-40 pb-30">
<div class="container">
{!! $page->description !!}
</section>
@endsection

View File

@@ -7,10 +7,25 @@
</div>
<section class="container py-30 free-resources">
<div class="flex justify-center flex-col text-center items-center w-80percent mx-auto top-20percent ">
<div class="row">
<div class="col col-md-3"></div>
<div class="col col-md-9">
<div class="flex justify-between items-center ">
<div>
<h2 class="md:text-30 text-60 text-sec"> {{ $page->title }}</h2>
<div class="title-line mx-auto"></div>
<div class="title-line "></div>
</div>
<button class="review-button">
<p>Review</p>
</button>
</div>
</div>
</div>
@if ($page->children)
<section class="free-resources-content tab-container">
@@ -21,7 +36,7 @@
<li class="px-20 tab-btn cursor-pointer fade {{ $loop->first ? 'show active' : '' }} "
role="tabpanel" onclick="showTab('tabs_{{ $index + 1 }}')">
<div class="text-17 font-bold flex gap-10 items-center">
<p class="numbering">1</p>
<p class="numbering">{{ $index + 1 }}</p>
{{-- <img class="w-40" src="assets/images/icons/one.svg" alt=""> --}}
<h5 class="text-16 p-0 m-0">{{ $child->title }}</h5>
</div>
@@ -69,49 +84,61 @@
@php
$accordionId = "accordion-questions-{$index}";
@endphp
<div class="py-40">
<h3 class="text-20 text-brand">
{{ $page->title }} FAQ's
Frequently Asked Questions
</h3>
<div class="accordion accordion-title-underlined accordion-sm pt-20"
id="accordion-questions" role="tablist" aria-multiselectable="true">
@foreach ($page->custom as $key => $value)
id="{{ $accordionId }}" role="tablist" aria-multiselectable="true">
@foreach ($child->custom as $key => $item)
@php
$headingId = "heading-{$index}-{$key}";
$collapseId = "collapse-{$index}-{$key}";
@endphp
<div class="accordion-item panel mb-10">
<div class="accordion-heading" role="tab"
id="heading-question-{{ $key + 1 }}">
id="{{ $headingId }}">
<h4 class="accordion-title">
<a class="collapsed text-17 font-bold" role="button"
data-bs-toggle="collapse"
data-bs-parent="#accordion-questions"
href="index.php#collapse-question-item-{{ $key + 1 }}"
aria-expanded="false"
aria-controls="collapse-question-item-{{ $key + 1 }}">
<span
class="accordion-expander text-16 text-black"><i
href="#{{ $collapseId }}"
aria-expanded="{{ $loop->first ? 'true' : 'false' }}"
aria-controls="{{ $collapseId }}">
<span class="accordion-expander text-16 text-black">
<i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i>
<i
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i></span><span
class="accordion-title-txt">{{ $value['icon'] ?? '' }}</span>
class="lqd-icn-ess icon-ion-ios-arrow-forward"></i>
</span>
<span
class="accordion-title-txt">{{ $item['icon'] ?? '' }}</span>
</a>
</h4>
</div>
<div id="collapse-question-item-{{ $key + 1 }}"
class="accordion-collapse collapse"
data-bs-parent="#accordion-questions" role="tabpanel"
aria-labelledby="heading-question-{{ $key + 1 }}">
<div id="{{ $collapseId }}"
class="accordion-collapse collapse {{ $loop->first ? 'show' : '' }}"
data-bs-parent="#{{ $accordionId }}" role="tabpanel"
aria-labelledby="{{ $headingId }}">
<div
class="accordion-content text-14 leading-20 text-black">
<p>{{ $value['key'] ?? '' }}</p>
<p>{{ $item['key'] ?? '' }}</p>
</div>
</div>
</div>
@endforeach
</div>
</div>
<!-- blog -->
<div class="lqd-section blog pt-20" id="blog" data-custom-animations="true"
{{-- <div class="lqd-section blog pt-20" id="blog" data-custom-animations="true"
data-ca-options='{"animationTarget": ".btn, .animation-element", "ease": "power4.out", "initValues":{"x": "-10px", "y": "10px", "opacity":0} , "animations":{"x": "0px", "y": "0px", "opacity":1}}'>
<div class="container">
<div class="row">
@@ -161,7 +188,7 @@
</div>
</div>
</div>
</div>
</div> --}}
</div>
</div>
</div>

View File

@@ -30,7 +30,7 @@
@csrf
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="name"
id="" placeholder="Full Name">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="phone"
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="mobile"
id="" placeholder="Phone">
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name="email"
id="" placeholder="Email">

View File

@@ -20,7 +20,7 @@
<div class="row ">
@foreach ($firstCourse->custom as $index => $data)
<div class=" col col-md-3">
<a href="course-finder.php" class=" course-box rounded-10 ">
<a href="{{ route('program.coursefinder') }}" class=" course-box rounded-10 ">
<div class="">
<img class="w-ful " src="{{ asset($firstCourse->images[$index]) }}" alt="">
</div>

View File

@@ -54,8 +54,8 @@
<input class="w-full mb-20 rounded-6 py-10 text-14 px-10" type="text"
name="qualification" id="qualification" placeholder="Recent Education Qualification"
required>
<input class="mb-20" type="checkbox">
<label class="text-14 mb-20" for="">I accept the terms & conditions</label>
<input class="mb-20" type="checkbox" id=terms>
<label class="text-14 mb-20" for="terms">I accept the terms & conditions</label>
<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>

View File

@@ -10,7 +10,7 @@
preload="auto"></video>
<div class="play-button" id="playBtn"></div>
<div class="text">
<p class="text-black text-14 ">Lorem ipsum dolor sit amet, consectetur </p>
<p class="text-black text-14 ">{{ $gallery->link }}</p>
</div>
<div class="name">
<h4 class="text-14">{{ $gallery->title }}</h4>

View File

@@ -1,6 +1,6 @@
<div class="container universities-slider ">
<div class="partner-bg">
<img src="{{ asset('raffles/assets/images/general/our-partner-img.png') }}" alt="">
<img src="{{ asset('raffles/assets/images/backgrounds_general/our-partner-img.png') }}" alt="">
</div>
<div class="swiper mySwiper-unis">
<div class="swiper-wrapper">

View File

@@ -23,7 +23,7 @@
</div>
<p class="text-white text-16 lg:text-12 mb-0 pt-20">{{ $counter->title }}</p>
<p class="text-white lg:text-30 text-54 m-0 p-0 font-bold"><span class="counter"
data-target="50">{{ $counter->counter }}</span>+</p>
data-target="{{ $counter->counter }}">{{ $counter->counter }}</span>+</p>
</div>
</div>
@endforeach

View File

@@ -38,9 +38,9 @@
</div>
</div>
@can('dashboard.toggleDashboard')
{{-- @can('dashboard.toggleDashboard')
<livewire:toggle-switch />
@endcan
@endcan --}}
<div class="ms-1 header-item d-none d-sm-flex">
<button type="button" class="btn btn-icon btn-topbar btn-ghost-secondary rounded-circle"
data-toggle="fullscreen">

View File

@@ -31,7 +31,7 @@
<div id="two-column-menu">
</div>
<ul class="navbar-nav" id="navbar-nav">
{!! Module::sidebarMenu(auth()->user()->active_sidebar) !!}
{!! Module::sidebarMenu('sidebar') !!}
</ul>
</div>
</div>

View File

@@ -4,9 +4,9 @@
<x-dashboard.breadcumb />
<div class="row project-wrapper">
<div class="col-xxl-8">
<div class="col-lg-12">
<div class="row">
<div class="col-xl-3 col-md-6">
<div class="col-lg-3 ">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
@@ -30,7 +30,7 @@
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<div class="col-lg-3 ">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
@@ -54,7 +54,7 @@
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<div class="col-lg-3 ">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
@@ -78,7 +78,7 @@
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<div class="col-lg-3 ">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
@@ -102,7 +102,7 @@
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-3 col-md-6">
<div class="col-xl-3 ">
<!-- card -->
<div class="card card-animate">
<div class="card-body">
@@ -126,7 +126,7 @@
</div><!-- end card -->
</div><!-- end col -->
<div class="col-xl-12 col-md-12">
<div class="col-lg-12">
<!-- card -->
<div class="card">
<div class="card-header">
@@ -145,8 +145,7 @@
],
['title' => 'Name', 'data' => 'name', 'name' => 'name'],
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
['title' => 'Contact', 'data' => 'mobile', 'name' => 'mobile'],
['title' => 'Class', 'data' => 'class', 'name' => 'class'],
['title' => 'Mobile', 'data' => 'mobile', 'name' => 'mobile'],
['title' => 'Subject', 'data' => 'subject', 'name' => 'subject'],
['title' => 'Message', 'data' => 'message', 'name' => 'message'],
[

View File

@@ -22,6 +22,11 @@ Route::middleware('guest')->group(function () {
Route::post('login', [AuthenticatedSessionController::class, 'store']);
Route::get('admin/login', [AuthenticatedSessionController::class, 'create'])
->name('admin.login');
Route::post('admin/login', [AuthenticatedSessionController::class, 'store']);
Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request');