Compare commits
101 Commits
5f7df19915
...
main
Author | SHA1 | Date | |
---|---|---|---|
3666b749ea | |||
086395a0a4 | |||
2ca99f9dbc | |||
3f503c2d38 | |||
032e8405ca | |||
f22a60fef4 | |||
5299aa268f | |||
40d34a7692 | |||
658d3600a2 | |||
dc32ac8f91 | |||
9d371a8d0f | |||
0c9adf1c7a | |||
087c19dc4a | |||
0c92a6f518 | |||
2d8c43691f | |||
27f371955c | |||
1ee87559da | |||
6ef55240a0 | |||
6d71fe4b4a | |||
52732b0f09 | |||
a11de7be9e | |||
faa2e77a46 | |||
f55aeec8e8 | |||
b24e6a9c66 | |||
5f8c1aed38 | |||
10b549315f | |||
4c272e0e67 | |||
724f46a82c | |||
1a744e1e2f | |||
0652a07452 | |||
d966b75f56 | |||
bce7ec8d3a | |||
31bea937c4 | |||
711ae9caf9 | |||
ce09f98c55 | |||
d29b3ba489 | |||
7f9d6bc8ec | |||
7155c1a6fc | |||
6e9b6291d3 | |||
622b9e9445 | |||
3148715b73 | |||
6ff22bc02d | |||
badfdc4c70 | |||
3bfb3f2b20 | |||
2a2222d0c6 | |||
a57e00191a | |||
c77828de8c | |||
50a2b09cfa | |||
a504987ac1 | |||
e80c67c0e2 | |||
a145943bd1 | |||
3ca3681513 | |||
fb52c42208 | |||
d5de6658f0 | |||
f2bd2dd1c1 | |||
d357125961 | |||
8c6719e6c3 | |||
df97f3c842 | |||
efd675d576 | |||
7c25b17de9 | |||
54a662b973 | |||
f6339f909e | |||
3bda70472d | |||
d15949d9c2 | |||
73c20015a8 | |||
8953fa8d19 | |||
9b45e88f27 | |||
e1902c9acb | |||
421b6ee809 | |||
7d80e01711 | |||
4848ef5b41 | |||
b6e9806bba | |||
8245d1b07f | |||
5db4976955 | |||
dce861fe89 | |||
8641ea590d | |||
87ca5311dd | |||
55be0fe012 | |||
54c1fc4679 | |||
3248b18efe | |||
75604fd205 | |||
6fd5d31018 | |||
adf293bd15 | |||
74a1ec0c6d | |||
76fff2effc | |||
b22d8b0705 | |||
55c420e32f | |||
a59c9a46db | |||
a55383ec9b | |||
dc4a1cdc0b | |||
32e75b387c | |||
ec8d3505f8 | |||
2759758394 | |||
2243b91dbf | |||
f422cba1ac | |||
93d2016ef1 | |||
b84b62a321 | |||
a15d8f3b66 | |||
cf8a6c7bcf | |||
6f16c1230f | |||
3262e279a8 |
137
Modules/CCMS/app/Http/Controllers/CareerController.php
Normal file
137
Modules/CCMS/app/Http/Controllers/CareerController.php
Normal 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);
|
||||
}
|
||||
}
|
120
Modules/CCMS/app/Http/Controllers/CounselorController.php
Normal file
120
Modules/CCMS/app/Http/Controllers/CounselorController.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CCMS\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\CCMS\Models\Counselor;
|
||||
use Yajra\DataTables\Facades\DataTables;
|
||||
use App\Rules\Recaptcha;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class CounselorController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
if (request()->ajax()) {
|
||||
$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(['checkbox', 'action'])
|
||||
->toJson();
|
||||
}
|
||||
return view('ccms::counselor.index', [
|
||||
'title' => 'Counselor List',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('ccms::create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
try {
|
||||
$rules = [
|
||||
'name' => 'required|string',
|
||||
'email' => 'required|email',
|
||||
'address' => 'required|string',
|
||||
'contact' => 'required|string',
|
||||
'test_score' => 'required|string',
|
||||
'qualification' => 'required|string',
|
||||
];
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
Counselor::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)
|
||||
{
|
||||
return view('ccms::show');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('ccms::edit');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
try {
|
||||
$enquiry = Counselor::whereId($id)->first();
|
||||
if ($enquiry) {
|
||||
$enquiry->delete();
|
||||
}
|
||||
return response()->json(['status' => 200, 'message' => 'Counselor has been deleted!'], 200);
|
||||
} catch (\Throwable $th) {
|
||||
return redirect()->back()->with('error', $th->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
@@ -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',
|
||||
|
147
Modules/CCMS/app/Http/Controllers/EventController.php
Normal file
147
Modules/CCMS/app/Http/Controllers/EventController.php
Normal 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);
|
||||
}
|
||||
}
|
118
Modules/CCMS/app/Http/Controllers/FranchiseController.php
Normal file
118
Modules/CCMS/app/Http/Controllers/FranchiseController.php
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
117
Modules/CCMS/app/Http/Controllers/NewsletterController.php
Normal file
117
Modules/CCMS/app/Http/Controllers/NewsletterController.php
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
@@ -16,7 +16,7 @@ class PageController extends Controller
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
{
|
||||
$parentPages = Page::where(['status' => 1, 'type' => 'page'])->with("children")->get();
|
||||
|
||||
if ($request->ajax()) {
|
||||
@@ -67,7 +67,7 @@ class PageController extends Controller
|
||||
'title' => 'Page List',
|
||||
'parentPages' => $parentPages,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -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),
|
||||
]);
|
||||
}
|
||||
|
138
Modules/CCMS/app/Http/Controllers/VacancyController.php
Normal file
138
Modules/CCMS/app/Http/Controllers/VacancyController.php
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
97
Modules/CCMS/app/Models/Career.php
Normal file
97
Modules/CCMS/app/Models/Career.php
Normal 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');
|
||||
}
|
||||
}
|
22
Modules/CCMS/app/Models/Counselor.php
Normal file
22
Modules/CCMS/app/Models/Counselor.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CCMS\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
// use Modules\CCMS\Database\Factories\CounselorFactory;
|
||||
|
||||
class Counselor extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $guarded = [];
|
||||
|
||||
// protected static function newFactory(): CounselorFactory
|
||||
// {
|
||||
// // return CounselorFactory::new();
|
||||
// }
|
||||
}
|
@@ -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');
|
||||
}
|
||||
|
||||
}
|
||||
|
113
Modules/CCMS/app/Models/Event.php
Normal file
113
Modules/CCMS/app/Models/Event.php
Normal 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');
|
||||
}
|
||||
}
|
37
Modules/CCMS/app/Models/Franchise.php
Normal file
37
Modules/CCMS/app/Models/Franchise.php
Normal 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();
|
||||
// }
|
||||
}
|
19
Modules/CCMS/app/Models/Newsletter.php
Normal file
19
Modules/CCMS/app/Models/Newsletter.php
Normal 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'];
|
||||
|
||||
|
||||
}
|
21
Modules/CCMS/app/Models/Vacancy.php
Normal file
21
Modules/CCMS/app/Models/Vacancy.php
Normal 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',
|
||||
];
|
||||
}
|
@@ -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('counselors', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name')->nullable();
|
||||
$table->text('address')->nullable();
|
||||
$table->string('email')->nullable();
|
||||
$table->string('contact')->nullable();
|
||||
$table->string('test_score')->nullable();
|
||||
$table->string('qualification')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('counselors');
|
||||
}
|
||||
};
|
@@ -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');
|
||||
});
|
||||
}
|
||||
};
|
@@ -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');
|
||||
}
|
||||
};
|
@@ -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');
|
||||
}
|
||||
};
|
@@ -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');
|
||||
}
|
||||
};
|
@@ -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');
|
||||
}
|
||||
};
|
@@ -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');
|
||||
}
|
||||
};
|
16
Modules/CCMS/resources/views/career/create.blade.php
Normal file
16
Modules/CCMS/resources/views/career/create.blade.php
Normal 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
|
@@ -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>
|
16
Modules/CCMS/resources/views/career/edit.blade.php
Normal file
16
Modules/CCMS/resources/views/career/edit.blade.php
Normal 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
|
51
Modules/CCMS/resources/views/career/index.blade.php
Normal file
51
Modules/CCMS/resources/views/career/index.blade.php
Normal 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
|
220
Modules/CCMS/resources/views/career/partials/_form.blade.php
Normal file
220
Modules/CCMS/resources/views/career/partials/_form.blade.php
Normal 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>
|
@@ -5,7 +5,7 @@
|
||||
<div class="card custom-field-section">
|
||||
<div class="card-header">
|
||||
<h6 class="card-title mb-0 fs-14">
|
||||
Custom Fields
|
||||
FAQ's Section
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@@ -13,31 +13,28 @@
|
||||
<div class="col-lg-12 clone-container">
|
||||
@for ($i = 0; $i < $loopCount; $i++)
|
||||
<div class="row clone-section mt-2">
|
||||
<div class="col-lg-2">
|
||||
@if ($i == 0)
|
||||
{{ html()->label('Icon')->class('form-label')->for('icon[]') }}
|
||||
@endif
|
||||
{{ html()->text('icon[]')->value($data[$i]['icon'] ?? old('icon[]'))->class('form-control')->placeholder('Icon class') }}
|
||||
<div class="col-lg-10 mb-2">
|
||||
{{-- @if ($i == 0)
|
||||
{{ html()->label('Questions')->class('form-label')->for('icon[]') }}
|
||||
@endif --}}
|
||||
{{ html()->text('icon[]')->value($data[$i]['icon'] ?? old('icon[]'))->class('form-control')->placeholder('Enter Question') }}
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
@if ($i == 0)
|
||||
{{ html()->label('Title')->class('form-label')->for('key[]') }}
|
||||
@endif
|
||||
{{ html()->text('key[]')->value($data[$i]['key'] ?? old('key[]'))->class('form-control')->placeholder('Enter Title') }}
|
||||
<div class="col-lg-10">
|
||||
{{-- @if ($i == 0)
|
||||
{{ html()->label('Answer')->class('form-label')->for('key[]') }}
|
||||
@endif --}}
|
||||
{{ html()->text('key[]')->value($data[$i]['key'] ?? old('key[]'))->class('form-control')->placeholder('Enter Answer') }}
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
{{-- <div class="col-lg-2">
|
||||
@if ($i == 0)
|
||||
{{ html()->label('Content')->class('form-label')->for('value[]') }}
|
||||
@endif
|
||||
{{ html()->textarea('value[]')->value($data[$i]['value'] ?? old('value[]'))->class('form-control')->placeholder('Enter Content')->rows(1) }}
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
<div class="col-lg-2">
|
||||
@if ($i == 0)
|
||||
<label class="form-label">Action</label>
|
||||
@endif
|
||||
<div class="col-lg-2 mt-0">
|
||||
<div class="d-flex gap-2">
|
||||
<a href="javascript:void(0)" class="btn btn-secondary btn-sm fs-6 clone">
|
||||
<i class="ri-add-line align-middle"></i>
|
||||
@@ -47,6 +44,10 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12">
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
@endfor
|
||||
</div>
|
||||
|
14
Modules/CCMS/resources/views/counselor/create.blade.php
Normal file
14
Modules/CCMS/resources/views/counselor/create.blade.php
Normal 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
|
@@ -0,0 +1,11 @@
|
||||
<div class="hstack flex-wrap gap-3">
|
||||
|
||||
{{-- <a data-link="{{ route('enquiry.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('counselor.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>
|
14
Modules/CCMS/resources/views/counselor/edit.blade.php
Normal file
14
Modules/CCMS/resources/views/counselor/edit.blade.php
Normal 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
|
52
Modules/CCMS/resources/views/counselor/index.blade.php
Normal file
52
Modules/CCMS/resources/views/counselor/index.blade.php
Normal 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' => 'Name', 'data' => 'name', 'name' => 'name'],
|
||||
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
|
||||
['title' => 'Contact', 'data' => 'contact', 'name' => 'contact'],
|
||||
['title' => 'Test Score', 'data' => 'test_score', 'name' => 'test_score'],
|
||||
['title' => 'Qualification', 'data' => 'qualification', 'name' => 'qualification'],
|
||||
[
|
||||
'title' => 'Action',
|
||||
'data' => 'action',
|
||||
'orderable' => false,
|
||||
'searchable' => false,
|
||||
],
|
||||
];
|
||||
@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
|
@@ -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>
|
@@ -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>
|
||||
|
||||
|
@@ -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
|
||||
|
16
Modules/CCMS/resources/views/event/create.blade.php
Normal file
16
Modules/CCMS/resources/views/event/create.blade.php
Normal 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
|
@@ -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>
|
16
Modules/CCMS/resources/views/event/edit.blade.php
Normal file
16
Modules/CCMS/resources/views/event/edit.blade.php
Normal 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
|
49
Modules/CCMS/resources/views/event/index.blade.php
Normal file
49
Modules/CCMS/resources/views/event/index.blade.php
Normal 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
|
196
Modules/CCMS/resources/views/event/partials/_form.blade.php
Normal file
196
Modules/CCMS/resources/views/event/partials/_form.blade.php
Normal 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>
|
14
Modules/CCMS/resources/views/franchise/create.blade.php
Normal file
14
Modules/CCMS/resources/views/franchise/create.blade.php
Normal 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
|
@@ -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>
|
14
Modules/CCMS/resources/views/franchise/edit.blade.php
Normal file
14
Modules/CCMS/resources/views/franchise/edit.blade.php
Normal 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
|
60
Modules/CCMS/resources/views/franchise/index.blade.php
Normal file
60
Modules/CCMS/resources/views/franchise/index.blade.php
Normal 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
|
@@ -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>
|
@@ -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>
|
||||
|
||||
|
14
Modules/CCMS/resources/views/newsletter/create.blade.php
Normal file
14
Modules/CCMS/resources/views/newsletter/create.blade.php
Normal 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
|
@@ -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>
|
14
Modules/CCMS/resources/views/newsletter/edit.blade.php
Normal file
14
Modules/CCMS/resources/views/newsletter/edit.blade.php
Normal 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
|
48
Modules/CCMS/resources/views/newsletter/index.blade.php
Normal file
48
Modules/CCMS/resources/views/newsletter/index.blade.php
Normal 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
|
@@ -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>
|
@@ -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>
|
52
Modules/CCMS/resources/views/vacancy/index.blade.php
Normal file
52
Modules/CCMS/resources/views/vacancy/index.blade.php
Normal 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
|
@@ -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
|
14
Modules/CCMS/resources/views/vacancy/partials/edit.blade.php
Normal file
14
Modules/CCMS/resources/views/vacancy/partials/edit.blade.php
Normal 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
|
@@ -3,15 +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;
|
||||
@@ -21,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;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -30,10 +36,10 @@ 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 () {
|
||||
Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/'], function () {
|
||||
|
||||
Route::post('page/reorder', [PageController::class, 'reorder'])->name('page.reorder');
|
||||
Route::get('page/toggle/{id}', [PageController::class, 'toggle'])->name('page.toggle');
|
||||
@@ -82,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');
|
||||
@@ -122,6 +136,10 @@ 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']);
|
||||
});
|
||||
|
||||
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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');
|
||||
|
||||
});
|
||||
|
@@ -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'],
|
||||
]);
|
||||
|
||||
|
@@ -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');
|
||||
|
||||
|
@@ -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()
|
||||
|
@@ -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 ?? '-';
|
||||
})
|
||||
|
@@ -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)
|
||||
@@ -148,23 +161,20 @@ class WebsiteController extends Controller
|
||||
{
|
||||
$country = $data["page"] = Country::where('status', 1)
|
||||
->where('slug', $alias)
|
||||
->with('institutions', function ($query) {
|
||||
$query->where('status', 1);
|
||||
})
|
||||
->first();
|
||||
|
||||
if (!$country) {
|
||||
return view("client.$this->path.errors.404");
|
||||
}
|
||||
|
||||
$data['countryFAQs'] = getFAQsByCategory(limit: null, order: 'desc', category: $country->slug);
|
||||
$data['countryInstitutions'] = $country->institutions;
|
||||
// $data['countryFAQs'] = getFAQsByCategory(limit: null, order: 'desc', category: $country->slug);
|
||||
// $data['countryInstitutions'] = $country->institutions;
|
||||
|
||||
$data['recentCountries'] = Country::where('status', 1)
|
||||
->where('id', '!=', $country->id)
|
||||
->inRandomOrder()
|
||||
->orderBy('created_at', 'desc')
|
||||
->take(5)->get();
|
||||
// $data['recentCountries'] = Country::where('status', 1)
|
||||
// ->where('id', '!=', $country->id)
|
||||
// ->inRandomOrder()
|
||||
// ->orderBy('created_at', 'desc')
|
||||
// ->take(5)->get();
|
||||
|
||||
return view("client.$this->path.pages.study-destination-template", $data);
|
||||
}
|
||||
@@ -179,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');
|
||||
}
|
||||
@@ -190,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()
|
||||
@@ -262,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;
|
||||
@@ -307,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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -125,7 +125,7 @@ return [
|
||||
],
|
||||
|
||||
'sidebar' => [
|
||||
'default' => env('DEFAULT_SIDEBAR', 'cpm-sidebar'),
|
||||
'default' => env('DEFAULT_SIDEBAR', 'sidebar'),
|
||||
'other' => env('OTHER_SIDEBAR', 'sidebar'),
|
||||
],
|
||||
];
|
||||
|
@@ -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' => [
|
||||
[
|
||||
@@ -146,8 +182,8 @@ return [
|
||||
],
|
||||
|
||||
[
|
||||
'text' => 'Gallery',
|
||||
'icon' => ' ri-camera-line',
|
||||
'text' => 'Testimonial Videos',
|
||||
'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,17 +217,11 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'text' => 'Enquiry',
|
||||
'url' => 'admin/enquiry',
|
||||
'icon' => ' ri-cellphone-line',
|
||||
'module' => 'CCMS',
|
||||
'can' => ['enquiry.index'],
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
'text' => 'Course Finder',
|
||||
'icon' => 'ri-book-2-line',
|
||||
'icon' => 'ri-book-2-fill text-primary',
|
||||
'module' => 'CourseFinder',
|
||||
'submenu' => [
|
||||
|
||||
@@ -228,7 +258,7 @@ return [
|
||||
|
||||
[
|
||||
'text' => 'Cost Calculator',
|
||||
'icon' => 'ri-newspaper-line',
|
||||
'icon' => 'ri-newspaper-fill text-info',
|
||||
'module' => 'CostCalculator',
|
||||
'submenu' => [
|
||||
[
|
||||
@@ -245,17 +275,18 @@ return [
|
||||
],
|
||||
|
||||
[
|
||||
'text' => 'Documents',
|
||||
'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'],
|
||||
]
|
||||
];
|
||||
|
4974
public/assets/css/app.min.css
vendored
4974
public/assets/css/app.min.css
vendored
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,8 @@
|
||||
}
|
||||
.bibhuti{
|
||||
font-family: 'pacifico', cursive;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
|
||||
}
|
||||
/* @font-face {
|
||||
@@ -35,6 +37,10 @@ body {
|
||||
font-family: 'Outfit', sans-serif;
|
||||
/* font-weight: normal; */
|
||||
}
|
||||
p{
|
||||
font-size: 16px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
.text-brand{
|
||||
@@ -611,6 +617,15 @@ z-index: 10000;
|
||||
box-shadow: 0 5px 15px rgba(128, 128, 128, 0.377);
|
||||
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: 100px;
|
||||
}
|
||||
.col.col-md-3:nth-child(3) .course-box img {
|
||||
width: 125px;
|
||||
}
|
||||
.col.col-md-3:nth-child(4) .course-box img {
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.how-it-work input, .how-it-work textarea {
|
||||
border: 1px solid #E3E3E3;
|
||||
@@ -1190,6 +1205,15 @@ font-weight: bold;
|
||||
padding: 40px 0;
|
||||
|
||||
}
|
||||
.numbering{
|
||||
background-color: white;
|
||||
padding: 0px 20px;
|
||||
border-radius: 100%;
|
||||
font-size: 32px;
|
||||
color: #CE171F;
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
}
|
||||
.free-resources-content .first-row{
|
||||
border: 1px solid #E5E5E5;
|
||||
display: flex;
|
||||
@@ -1294,6 +1318,38 @@ margin: 10px 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-container .title-small{
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
padding-bottom: 10px;
|
||||
|
||||
color: black;
|
||||
}
|
||||
.tab-container .para{
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
padding-bottom: 10px;
|
||||
color: black;
|
||||
|
||||
}
|
||||
.tab-container .paraa{
|
||||
color: black;
|
||||
}
|
||||
.tab-container .para-slant{
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
padding-bottom: 10px;
|
||||
color: black;
|
||||
font-style: italic;
|
||||
}
|
||||
.tab-container ul.list-disc li{
|
||||
list-style: disc;
|
||||
|
||||
}
|
||||
.tab-container ol.list-alpha li{
|
||||
list-style: lower-alpha;
|
||||
|
||||
}
|
||||
.tab-content.active {
|
||||
display: block;
|
||||
}
|
||||
@@ -2542,6 +2598,11 @@ border-collapse: separate;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.cost-select{
|
||||
border-radius: 30px;
|
||||
border: 1px solid rgb(190, 189, 189);
|
||||
}
|
||||
|
||||
|
||||
canvas { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: auto; }
|
||||
|
||||
@@ -2941,6 +3002,9 @@ justify-content: space-between;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.service-items .service-item.country:nth-child(1){
|
||||
background-color: rgba(110, 127, 153, 0.15);
|
||||
}
|
||||
.service-item {
|
||||
cursor: pointer;
|
||||
border-radius: 0.75rem;
|
||||
@@ -3437,6 +3501,22 @@ justify-content: space-between;
|
||||
}
|
||||
|
||||
}
|
||||
.tabs-table{
|
||||
border: 1px solid gray;
|
||||
padding: 20px;
|
||||
}
|
||||
.tabs-table td{
|
||||
border-right: 1px solid gray;
|
||||
padding: 10px;
|
||||
}
|
||||
.tabs-table thead td{
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
}
|
||||
.tabs-table tbody td{
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@@ -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{
|
||||
|
3
public/raffles/assets/css/utility.min.css
vendored
3
public/raffles/assets/css/utility.min.css
vendored
@@ -7519,6 +7519,9 @@
|
||||
.object-cover {
|
||||
object-fit: cover;
|
||||
}
|
||||
.object-contain {
|
||||
object-fit: contain;
|
||||
}
|
||||
.objpos-center {
|
||||
object-position: center;
|
||||
}
|
||||
|
BIN
public/raffles/assets/images/404/404.png
Normal file
BIN
public/raffles/assets/images/404/404.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 267 KiB |
Binary file not shown.
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 103 KiB |
@@ -743,6 +743,7 @@ doneBtn.addEventListener("click", () => {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Final monkey image
|
||||
|
||||
// document.addEventListener("DOMContentLoaded", function () {
|
||||
|
@@ -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
|
||||
|
@@ -46,7 +46,6 @@
|
||||
|
||||
<!-- for select2 -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet" />
|
||||
|
||||
@stack('css')
|
||||
@@ -202,11 +201,12 @@
|
||||
const data = await res.json();
|
||||
if (res.ok) {
|
||||
form.reset();
|
||||
toastr.success(data.message || 'Contact Submitted successful!');
|
||||
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('Submittion failed. Please try again.');
|
||||
toastr.error('Submission failed. Please try again.');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
@@ -219,6 +219,165 @@
|
||||
});
|
||||
</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');
|
||||
const submitBtn = document.getElementById('counselor-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.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() {
|
||||
@@ -329,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,
|
||||
@@ -407,7 +566,7 @@
|
||||
spaceBetween: 10,
|
||||
loop: true,
|
||||
autoplay: {
|
||||
delay: 3000, // 3 seconds between slides
|
||||
delay: 500, // 3 seconds between slides
|
||||
disableOnInteraction: false, // keeps autoplay running after user interacts
|
||||
},
|
||||
// navigation: {
|
||||
@@ -564,6 +723,21 @@
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const tabs = document.querySelectorAll('.accordion-content.resource');
|
||||
|
||||
tabs.forEach(tab => {
|
||||
tab.addEventListener('click', function() {
|
||||
// Remove highlight from all
|
||||
tabs.forEach(t => t.classList.remove('highlight-tab'));
|
||||
|
||||
// Add highlight to clicked one
|
||||
this.classList.add('highlight-tab');
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
|
@@ -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,20 +55,7 @@
|
||||
|
||||
|
||||
<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">
|
||||
|
||||
<form class="flex" action="">
|
||||
<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>
|
||||
</form>
|
||||
|
||||
<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>
|
||||
<a href="{{ setting('youtube') }}" target="blank"> <i class="fa-brands fa-youtube"></i></a>
|
||||
@@ -74,6 +65,19 @@
|
||||
<a href="{{ setting('whatsapp') }}" target="blank"> <i
|
||||
class="fa-brands fa-square-whatsapp"></i></a>
|
||||
</div>
|
||||
<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 type="submit" id="newsletter-submit"
|
||||
class="border-0 text-white p-10 text-12 newsletter-submit">Subscribe</button>
|
||||
</form>
|
||||
<div>
|
||||
<iframe src="{{ setting('map') }}" width="100%" height="150" style="border:0;"
|
||||
allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -83,7 +87,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex justify-center items-center">
|
||||
<img src="{{ setting('other_image') }}" alt="">
|
||||
<img src="{{ asset(setting('other_image')) }}" alt="">
|
||||
</div>
|
||||
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<div class="w-auto flex">
|
||||
<div class="module-logo flex navbar-brand-plain py-20">
|
||||
<a class="navbar-brand flex p-0 relative w-140" href="{{ url('/') }}" rel="home"><span
|
||||
class="navbar-brand-inner post-rel"><img src="{{ setting('logo') }}"
|
||||
class="navbar-brand-inner post-rel"><img src="{{ asset(setting('logo')) }}"
|
||||
alt="raffle logo" /></span></a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -43,13 +43,14 @@
|
||||
<div class="service-items">
|
||||
@foreach ($countries as $country)
|
||||
<a href="{{ route('country.single', $country->slug) }}"
|
||||
class="service-item">
|
||||
class="service-item country">
|
||||
<div class="service-icon blue-bg">
|
||||
<img src="{{ asset($country->image) }}"
|
||||
alt="">
|
||||
</div>
|
||||
<div class="service-content">
|
||||
<div class="service-name">{{ $country->title }}
|
||||
<div class="service-name">Study in
|
||||
{{ $country->title }}
|
||||
</div>
|
||||
<div class="service-description">
|
||||
{{ $country->short_description }}</div>
|
||||
@@ -67,8 +68,9 @@
|
||||
@foreach ($tests as $test)
|
||||
<a href="{{ route('test.single', $test->slug) }}"
|
||||
class="service-item">
|
||||
<div class="service-icon indigo-bg">
|
||||
<i class="fa-solid fa-book-open"></i>
|
||||
<div class="service-icon blue-bg">
|
||||
<img src="{{ asset($test->image) }}"
|
||||
alt="">
|
||||
</div>
|
||||
<div class="service-content">
|
||||
<div class="service-name">Prepare
|
||||
@@ -90,7 +92,7 @@
|
||||
<a href="{{ route('service.single', $service->slug) }}"
|
||||
class="service-item">
|
||||
<div class="service-icon cyan-bg">
|
||||
<i class="fa-solid fa-users"></i>
|
||||
<i class="{{ $service->icon_class }}"></i>
|
||||
</div>
|
||||
<div class="service-content">
|
||||
<div class="service-name">{{ $service->title }}
|
||||
@@ -120,10 +122,9 @@
|
||||
|
||||
<li>
|
||||
<div
|
||||
class="btn btn-solid cursor-pointer text-14 font-bold rounded-30 leading-30 bg-yellow text-black module-btn-sm px-20 py-5">
|
||||
<span class="btn-txt" id="get-in-touch">Book a Counsellor</span>
|
||||
class="open-intouch btn btn-solid cursor-pointer text-14 font-bold rounded-30 leading-30 bg-yellow text-black module-btn-sm px-20 py-5">
|
||||
<span class="btn-txt" id="">Book a Counsellor</span>
|
||||
</div>
|
||||
|
||||
@include('client.raffles.parts.get-in-touch')
|
||||
|
||||
</li>
|
||||
@@ -189,8 +190,8 @@
|
||||
<span class="bar inline-block"></span>
|
||||
<span class="bar inline-block"></span></span></span>
|
||||
</button>
|
||||
<a class="navbar-brand flex relative py-20 w-100" href="index.php"><span
|
||||
class="navbar-brand-inner -mr-20"><img width="100" src="assets/images/logo/logo.png"
|
||||
<a class="navbar-brand flex relative py-20 w-100" href="{{ url('/') }}"><span
|
||||
class="navbar-brand-inner -mr-20"><img width="100" src="{{ setting('logo') }}"
|
||||
alt="raffle logo" /></span></a>
|
||||
</div>
|
||||
<div class="lqd-mobile-sec-nav w-full absolute z-10">
|
||||
@@ -199,7 +200,7 @@
|
||||
<ul id="mobile-primary-nav" class="reset-ul lqd-mobile-main-nav main-nav nav"
|
||||
data-localscroll="true"
|
||||
data-localscroll-options='{"itemsSelector":"> li > a", "trackWindowScroll": true, "includeParentAsOffset": true}'>
|
||||
<li><a href="about.php">About </a></li>
|
||||
<li><a href="/about-us">About </a></li>
|
||||
<li class="accordion " id="accordion-questions" role="tablist" aria-multiselectable="true">
|
||||
<div class="accordion-item panel ">
|
||||
<div class="accordion-heading" role="tab" id="service-menu-1">
|
||||
@@ -216,38 +217,32 @@
|
||||
<div id="collapse-service-menu-1" class="accordion-collapse collapse menu-dropdown"
|
||||
data-bs-parent="#menu-dropdown" role="tabpanel" aria-labelledby="service-menu-1">
|
||||
<ul>
|
||||
<li><a class="hover:text-brand" href=" x ">Study in UK</a></li>
|
||||
<li><a class="hover:text-brand" href="study-usa.php">Study in USA</a></li>
|
||||
<li><a class="hover:text-brand" class="hover:text-brand"
|
||||
href="study-canada.php">Study in Canada</a></li>
|
||||
<li><a class="hover:text-brand" href="study-denmark.php">Study in Denmark</a>
|
||||
@foreach ($countries as $country)
|
||||
<li><a class="hover:text-brand"
|
||||
href="{{ route('country.single', $country->slug) }}">Study
|
||||
in {{ $country->title }}</a></li>
|
||||
@endforeach
|
||||
@foreach ($tests as $test)
|
||||
<li><a class="hover:text-brand"
|
||||
href="{{ route('test.single', $test->slug) }}">Prepare
|
||||
{{ $test->title }}</a></li>
|
||||
@endforeach
|
||||
@foreach ($services as $service)
|
||||
<li><a class="hover:text-brand"
|
||||
href="{{ route('test.single', $test->slug) }}">{{ $service->title }}</a>
|
||||
</li>
|
||||
<li><a class="hover:text-brand" href="study-australia.php">Study in Australia</a>
|
||||
</li>
|
||||
<li><a class="hover:text-brand" href="ielts.php">Prepare IELTS</a></li>
|
||||
|
||||
|
||||
<li><a class="hover:text-brand" href="pte.php">Prepare PTE</a></li>
|
||||
<li><a class="hover:text-brand" href="duolingo.php">Prepare Duolingo</a></li>
|
||||
<li><a class="hover:text-brand" href="interview-preparation.php">Interview
|
||||
Preparation</a></li>
|
||||
<li><a class="hover:text-brand" href="visa-assistance.php">Visa Assistance</a>
|
||||
</li>
|
||||
<li><a class="hover:text-brand" href="financial-guidance.php">Financial
|
||||
Guidance</a></li>
|
||||
<li><a class="hover:text-brand" href="travel-assistance.php">Travel
|
||||
Assistance</a></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="contact-us.php">Contact</a></li>
|
||||
<li><a href="blogs.php">Blog</a></li>
|
||||
<li><a href="/contact-us">Contact</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
<li>
|
||||
<a href="book-counsellor.php">Book a Counsellor</a>
|
||||
<a href="">Book a Counsellor</a>
|
||||
</li>
|
||||
<li><a href="course-finder.php">Course Finder</a></li>
|
||||
<li><a href="resources.php">Free Resources</a></li>
|
||||
<li><a href="/course-finder">Course Finder</a></li>
|
||||
<li><a href="/resources">Free Resources</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -237,14 +237,14 @@
|
||||
<div class="container section">
|
||||
<section class="section">
|
||||
<div class="flex flex-col gap-5 justify-center items-center text-center">
|
||||
<h2 class="text-42 md:text-30 text-sec">{{ $fifthPage->title }}</h2>
|
||||
<h2 class="text-42 md:text-30 text-sec ">{{ $fifthPage->title }}</h2>
|
||||
</div>
|
||||
</section>
|
||||
<div class="row section">
|
||||
@foreach ($fifthPage->custom as $child)
|
||||
<div class="col col-md-4">
|
||||
<div class="flex flex-col gap-10 ceo-container px-20 py-20">
|
||||
<h3 class="text-brand text-26 md:text-18 font-bold leading-30">{{ $child['icon'] ?? '' }}
|
||||
<h3 class="text-brand text-26 md:text-18 font-bold leading-30 text-center">{{ $child['icon'] ?? '' }}
|
||||
</h3>
|
||||
<p class="text-black text-14 text-center">{{ $child['key'] ?? '' }}</p>
|
||||
</div>
|
||||
|
@@ -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
|
@@ -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>
|
||||
|
11
resources/views/client/raffles/pages/call-request.blade.php
Normal file
11
resources/views/client/raffles/pages/call-request.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="cta-wrapper open-intouch">
|
||||
<div class="phone-icon-top">
|
||||
<svg viewBox="0 0 24 24">
|
||||
<path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<a href="#" class="cta-button-call">
|
||||
<span class="cta-text">Click here to book a Free Counselling</span>
|
||||
<div class="cta-accent"></div>
|
||||
</a>
|
||||
</div>
|
@@ -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
|
@@ -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
|
@@ -5,14 +5,17 @@
|
||||
<img src="{{ $page->banner }}" alt="">
|
||||
</div>
|
||||
|
||||
<section class="lqd-section pt-40 pb-30">
|
||||
|
||||
<div class="container">
|
||||
<div class="w-80percent mx-auto">
|
||||
<h2 class="md:text-30 text-60 text-sec text-center">Our Details</h2>
|
||||
<div class="title-line mx-auto"></div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col col-md-4">
|
||||
<div class="col col-md-6 order-2 md-order-1">
|
||||
<section class="lqd-section pt-40 pb-30">
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col col-sm-6 col-md-6">
|
||||
<div class="flex flex-col gap-30 justify-center items-center contact-box">
|
||||
<i class="fa-solid fa-mobile-screen-button text-sec text-50"></i>
|
||||
<h4 class="text-24 text-sec">Call Us</h4>
|
||||
@@ -22,18 +25,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-md-4">
|
||||
<div class="col col-sm-6 col-md-6">
|
||||
<div class="flex flex-col gap-30 justify-center items-center contact-box">
|
||||
<i class="fa-solid fa-envelope text-brand text-50"></i>
|
||||
<h4 class="text-24 text-sec">Drop Us a Line</h4>
|
||||
<div class="flex flex-col gap-5">
|
||||
<a class="text-16 text-grey" href="mailto:info@raffles.com">{{ setting('email') }}</a>
|
||||
<a class="text-16 text-grey"
|
||||
href="mailto:info@raffles.com">{{ setting('email') }}</a>
|
||||
<a class="text-16 text-sec" href="https://www.raffleseducare.com/"
|
||||
target="blank">raffleseducare.com</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-md-4">
|
||||
<div class="col col-sm-6 col-md-6">
|
||||
<div class="flex flex-col gap-30 justify-center items-center contact-box">
|
||||
<i class="fa-solid fa-location-dot text-50"></i>
|
||||
<h4 class="text-24 text-sec">Visit Us</h4>
|
||||
@@ -43,30 +47,44 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="lqd-section pt-40 pb-40">
|
||||
<div class="container">
|
||||
<h3 class="text-black text-36 md:text-24 text-center pb-10">Fill In The Form</h3>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col col-md-6 order-1 md-order-2">
|
||||
<section class="lqd-section pt-50 pb-40">
|
||||
<div class="contact-form">
|
||||
<h3 class="text-black text-36 md:text-24 text-center pb-10">Fill In The Form</h3>
|
||||
|
||||
<form action="{{ route('enquiry.store') }}" method="post" id="contact-form">
|
||||
@csrf
|
||||
<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">
|
||||
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="email" name="email"
|
||||
id="email" placeholder="Email">
|
||||
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>
|
||||
<input class="w-full mb-30 rounded-6 py-15 text-14 px-10" type="text" name="subject"
|
||||
id="subject" placeholder="Subject">
|
||||
<textarea class="w-full mb-20 rounded-6 py-15 text-14 px-10" name="message" id="message" placeholder="Message"></textarea>
|
||||
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"
|
||||
required></textarea>
|
||||
<button type="submit" id="submit-btn"
|
||||
class="button-hover px-20 py-10 bg-sec text-white text-16 border-0">Send
|
||||
Message</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
@endsection
|
||||
|
@@ -132,127 +132,11 @@
|
||||
<section class="lqd-section pb-160">
|
||||
<div class="container">
|
||||
|
||||
<div class="row" id="interactiveSection">
|
||||
<div class="row justify-center flex" id="interactiveSection">
|
||||
|
||||
{{-- <div class="col col-lg-7">
|
||||
|
||||
<div class="wizard-container">
|
||||
<div class="nav" id="step-nav">
|
||||
<button class="active" data-step="0">Country</button>
|
||||
<button data-step="1">Stay Type</button>
|
||||
<button data-step="2">Other Services</button>
|
||||
<button data-step="3">Program Level</button>
|
||||
<button data-step="4">Program</button>
|
||||
</div>
|
||||
|
||||
<form id="multiStepForm" method="GET" action="{{ route('cost.getCost') }}">
|
||||
|
||||
<!-- Step 1: Select Country -->
|
||||
<div class="tab-pane active" data-step="0">
|
||||
<h2 class="step-title">Which country are you planning to study in?</h2>
|
||||
<div class="form-group">
|
||||
<div class="d-flex flex-wrap">
|
||||
@foreach ($countries as $country)
|
||||
<div class="form-check country-card me-3 mb-3">
|
||||
<input class="form-check-input" type="radio" name="country_id"
|
||||
value="{{ $country->id }}" id="{{ $country->id }}">
|
||||
<label class="form-check-label" for="{{ $country->id }}">
|
||||
{{ $country->title }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="text-align:right;">
|
||||
<button type="button" class="btn btn-next">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 2: Stay Type Status -->
|
||||
<div class="tab-pane" data-step="1">
|
||||
<h2 class="step-title">Are you going alone or with a dependent?</h2>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="d-flex flex-wrap">
|
||||
@foreach ($livingStatusOptions as $key => $status)
|
||||
<div class="form-check status-card me-3 mb-3">
|
||||
<input class="form-check-input" type="radio" name="status_type_id"
|
||||
value="{{ $key }}" id="status_type_{{ $key }}">
|
||||
<label class="form-check-label" for="status_type_{{ $key }}">
|
||||
{{ $status }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div style="display:flex; justify-content:space-between;">
|
||||
<button type="button" class="btn btn-prev">Previous</button>
|
||||
<button type="button" class="btn btn-next">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 3: Proficiency -->
|
||||
<div class="tab-pane" data-step="2">
|
||||
<h2 class="step-title">Do you want to include other services?</h2>
|
||||
|
||||
<div class="form-group">
|
||||
<input type="radio" name="services" id="yes" value="yes"> <label
|
||||
for="yes">Yes</label>
|
||||
<input type="radio" name="services" id="no" value="no"> <label
|
||||
for="no">No</label>
|
||||
</div>
|
||||
|
||||
<div style="display:flex; justify-content:space-between;">
|
||||
<button type="button" class="btn btn-prev">Previous</button>
|
||||
<button type="button" class="btn btn-next">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 4: Basic -->
|
||||
<div class="tab-pane" data-step="3">
|
||||
<h2 class="step-title">Which Level are you applying for?</h2>
|
||||
|
||||
<div class="form-group">
|
||||
@foreach ($programLevelOptions as $level)
|
||||
<input type="radio" name="" id="" value=""> <label
|
||||
for="program_level_id">{{ $level }}</label>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div style="display:flex; justify-content:space-between;">
|
||||
<button type="button" class="btn btn-prev">Previous</button>
|
||||
<button type="button" class="btn btn-next">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Step 5: Contact -->
|
||||
<div class="tab-pane" data-step="4">
|
||||
<h2 class="step-title">Which Program are you applying for?</h2>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="d-flex flex-wrap">
|
||||
@foreach ($programss as $key => $program)
|
||||
<select name="program_id" class="form-control" required>
|
||||
<option value="">Select Program</option>
|
||||
<option value="{{ $key }}">{{ $program }}</option>
|
||||
</select>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display:flex; justify-content:space-between;">
|
||||
<button type="button" class="btn btn-prev">Previous</button>
|
||||
<button type="submit" class="btn btn-next">Finish</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
<div class="col col-lg-7">
|
||||
<form id="cost-calculator">
|
||||
<div class="col col-lg-12">
|
||||
<form id="cost-calculator" method="GET" action="{{ route('cost.getCost') }}">
|
||||
<div class="cost-choosing">
|
||||
|
||||
<div class="step-content active" id="step1">
|
||||
@@ -260,42 +144,19 @@
|
||||
<h5 class="text-ter text-18 font-medium pb-20">Where do you want to study</h5>
|
||||
|
||||
<div class="row flex flex-wrap py-20">
|
||||
@foreach ($countries as $country)
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="country" type="radio" id="country1">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="country1">UK</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="country" type="radio" id="country2">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="country2">Australia</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="country" type="radio" id="country3">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="country3">USA</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="country" type="radio" id="country4">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="country4">Newzealand</label>
|
||||
<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 }}" required>
|
||||
{{ $country->title }} </label>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content" id="step2">
|
||||
@@ -304,34 +165,18 @@
|
||||
</h5>
|
||||
|
||||
<div class="row flex flex-wrap py-20">
|
||||
@foreach ($livingStatusOptions as $key => $status)
|
||||
<div class="col col-sm-6">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="alone" type="radio" id="alone">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="alone">Alone</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-6">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="alone" type="radio" id="spouse">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="spouse">With Spouse</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-6">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="alone" type="radio" id="child">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="child">With Spouse and
|
||||
child</label>
|
||||
|
||||
<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="{{ $status }}"
|
||||
id="{{ $status }}" required> {{ $status }}</label>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content" id="step3">
|
||||
@@ -341,19 +186,25 @@
|
||||
|
||||
<div class="row flex flex-wrap py-20">
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="services" type="radio" id="serviceYes">
|
||||
<div>
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="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>
|
||||
</div>
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="services" type="radio" id="serviceNo">
|
||||
<div>
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="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>
|
||||
@@ -366,25 +217,19 @@
|
||||
<h5 class="text-ter text-18 font-medium pb-20">Which Level are you applying for?</h5>
|
||||
|
||||
<div class="row flex flex-wrap py-20">
|
||||
@foreach ($programLevelOptions as $level)
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="level" type="radio" id="bachelors">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="bachelors">Bachelors</label>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-sm-4">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<input name="level" type="radio" id="masters">
|
||||
|
||||
<label class="text-20 text-ter p-0 m-0" for="masters">Masters</label>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="step-content" id="step5">
|
||||
@@ -394,13 +239,12 @@
|
||||
<div class="row flex py-20">
|
||||
<div class="col col-sm-12">
|
||||
<div class="flex items-center gap-10 px-10 py-12 bg-white rounded-30 tabs">
|
||||
<select name="" id="">
|
||||
@foreach ($programss as $key => $program)
|
||||
<select name="program_id" class="cost-select" id="" required>
|
||||
<option value="">Select Program</option>
|
||||
<option value="">Masters in Information Technology</option>
|
||||
<option value="{{ $key }}">{{ $program }}</option>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -457,7 +301,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col col-lg-1"></div>
|
||||
{{-- <div class="col col-lg-1"></div>
|
||||
|
||||
<div class="col col-lg-4">
|
||||
<div class="total-cost">
|
||||
@@ -475,7 +319,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -485,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
|
||||
|
@@ -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"> --}}
|
||||
|
||||
@@ -67,7 +71,6 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center">
|
||||
<p class="mb-0 fs-5 test-muted"><i>Estimated Cost Calculation For
|
||||
{{ $cost->country?->title ?? 'N/A' }}</i> (<strong
|
||||
@@ -176,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">
|
||||
@@ -205,6 +209,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Overall -->
|
||||
<div class="table-responsive mt-4">
|
||||
@@ -219,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>
|
||||
@@ -229,8 +238,6 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{{-- </div> --}}
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -96,7 +96,7 @@
|
||||
<div class="row">
|
||||
<div class="col col-md-2">
|
||||
<div class="sm:w-50percent w-full h-70">
|
||||
<img class="w-full h-full" src="{{ $item->institution?->image }}"
|
||||
<img class="w-full h-full object-contain" src="{{ $item->institution?->image }}"
|
||||
alt="">
|
||||
</div>
|
||||
</div>
|
||||
@@ -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"
|
||||
|
153
resources/views/client/raffles/pages/csr-template.blade.php
Normal file
153
resources/views/client/raffles/pages/csr-template.blade.php
Normal 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">
|
||||
We’re more than just a consultancy—we’re your ultimate study abroad ally! With years of
|
||||
experience and a passion for helping students succeed, we’ve 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
|
134
resources/views/client/raffles/pages/events-template.blade.php
Normal file
134
resources/views/client/raffles/pages/events-template.blade.php
Normal 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
|
@@ -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="{ "translateY": [-50, 0], "opacity": [0,1], "duration": 600, "delay": 0, "staggervalue": 300, "easing": "easeOutQuad" }">
|
||||
<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="{ "el": "childs", "translateY": [50, 0], "opacity": [0,1], "duration": 1200, "delay": 0, "staggervalue": 150, "easing": "easeOutQuad" }">
|
||||
<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="{ "el": "childs", "translateY": [50, 0], "opacity": [0,1], "duration": 1200, "delay": 0, "staggervalue": 150, "easing": "easeOutQuad" }">
|
||||
<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">Let’s 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
|
||||
|
@@ -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
|
@@ -37,7 +37,7 @@
|
||||
aria-labelledby="heading-question-1">
|
||||
|
||||
@foreach ($countries as $country)
|
||||
<div class="accordion-content text-16 leading-20 text-black bg-white px-10 flex items-center gap-10"
|
||||
<div class="accordion-content resource text-16 leading-20 text-black bg-white px-10 flex items-center gap-10 "
|
||||
onclick="showTab('tab{{ $country->title }}')">
|
||||
<i class="fa-solid fa-angles-right text-18 text-brand"></i>
|
||||
<p>{{ $country->title }}</p>
|
||||
@@ -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>
|
||||
|
133
resources/views/client/raffles/pages/sitemap.blade.php
Normal file
133
resources/views/client/raffles/pages/sitemap.blade.php
Normal 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
|
@@ -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
|
@@ -1,8 +1,7 @@
|
||||
@extends('client.raffles.layouts.app')
|
||||
@section('content')
|
||||
@php
|
||||
$firstAcc = $page->children[0];
|
||||
@endphp
|
||||
|
||||
|
||||
<div class="study-destinations-banner">
|
||||
<img src="{{ asset($page->banner) }}" width="1425" height="356" alt="study uk">
|
||||
</div>
|
||||
@@ -12,7 +11,8 @@
|
||||
<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->count() > 0)
|
||||
|
||||
@if ($page->children)
|
||||
<section class="free-resources-content tab-container">
|
||||
<div class="row">
|
||||
<div class="col col-md-3">
|
||||
@@ -21,11 +21,21 @@
|
||||
<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="">
|
||||
<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>
|
||||
</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="{{ asset('raffles/assets/images/icons/question.png') }}"
|
||||
alt="">
|
||||
<h5 class="text-16 p-0 m-0">Free Resources </h5>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -46,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"
|
||||
@@ -54,55 +64,67 @@
|
||||
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>
|
||||
|
||||
|
||||
@php
|
||||
$accordionId = "accordion-questions-{$index}";
|
||||
@endphp
|
||||
|
||||
<div class="py-40">
|
||||
<h3 class="text-20 text-brand">
|
||||
Why Study in UK
|
||||
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>
|
||||
|
||||
@if ($page->custom)
|
||||
<!-- 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">
|
||||
@@ -110,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
|
||||
@@ -136,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>
|
||||
@@ -153,6 +175,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="py-40">
|
||||
{!! $child->faqs ?? '' !!}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -162,5 +191,6 @@
|
||||
</div>
|
||||
</section>
|
||||
@endif
|
||||
@include('client.raffles.pages.call-request')
|
||||
</section>
|
||||
@endsection
|
||||
|
@@ -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
|
@@ -1,18 +1,33 @@
|
||||
@extends('client.raffles.layouts.app')
|
||||
@section('content')
|
||||
@php
|
||||
$firstAcc = $page->children[0];
|
||||
@endphp
|
||||
|
||||
|
||||
<div class="study-destinations-banner">
|
||||
<img src="{{ $page->banner }}" width="1425" height="356" alt="study uk">
|
||||
<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">{{ $page->title }}</h2>
|
||||
<div class="title-line mx-auto"></div>
|
||||
<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 "></div>
|
||||
</div>
|
||||
@if ($page->children->count() > 0)
|
||||
<button class="review-button">
|
||||
<p>Review</p>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@if ($page->children)
|
||||
<section class="free-resources-content tab-container">
|
||||
<div class="row">
|
||||
<div class="col col-md-3">
|
||||
@@ -21,11 +36,20 @@
|
||||
<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="">
|
||||
<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>
|
||||
</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>
|
||||
|
||||
@@ -44,7 +68,7 @@
|
||||
<div class="col col-md-6" data-float="ease-in-out">
|
||||
<div class="">
|
||||
<img class="w-full h-full rounded-10"
|
||||
src="{{ $child->image }}" alt="">
|
||||
src="{{ asset($child->image) }}" alt="">
|
||||
</div>
|
||||
<div class="lqd-particles-bg-wrap lqd-overlay flex pointer-events-none">
|
||||
<div
|
||||
@@ -60,49 +84,61 @@
|
||||
|
||||
|
||||
|
||||
@php
|
||||
$accordionId = "accordion-questions-{$index}";
|
||||
@endphp
|
||||
|
||||
<div class="py-40">
|
||||
<h3 class="text-20 text-brand">
|
||||
Why {{ $page->title }}?
|
||||
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">
|
||||
@@ -152,7 +188,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -162,5 +198,6 @@
|
||||
</div>
|
||||
</section>
|
||||
@endif
|
||||
@include('client.raffles.pages.call-request')
|
||||
</section>
|
||||
@endsection
|
||||
|
@@ -5,7 +5,7 @@
|
||||
$last_word = array_pop($words);
|
||||
$new_title = implode(' ', $words);
|
||||
@endphp
|
||||
<div class="container py- scroll-section" id="achievement" data-name="Achievement">
|
||||
<div class="container py- scroll-section" id="Achievement" data-name="Achievement">
|
||||
<div class="w-full block section">
|
||||
<div class="w-500 sm:w-full flex flex-col mx-auto text-center p-10">
|
||||
<div class="ld-fancy-heading relative mb-20 animation-element">
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<div id="lqd-contents-wrap">
|
||||
<section class="lqd-section banner pt-140 pb-80 scroll-section" id="banner" data-name="Banner">
|
||||
<section class="lqd-section banner pt-140 pb-80 scroll-section" id="Banner" data-name="Banner">
|
||||
<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"
|
||||
@@ -53,12 +53,11 @@
|
||||
<div class="w-full flex flex-wrap flex-xl-nowrap">
|
||||
<div class="w-100percent lg:w-full flex animation-element">
|
||||
|
||||
<a href="study-usa.php"
|
||||
<a href="{{ $slider->button_url }}"
|
||||
class="btn btn-solid btn-hover-txt-marquee btn-hover-txt-marquee-y btn-icon-right lg:text-12 text-18 font-light rounded-20 leading-5 bg-brand module-btn-sm">
|
||||
<span class="btn-txt " data-text="Find my dream university"
|
||||
data-split-text="true"
|
||||
data-split-options='{"type": "chars, words"}'>Find my dream
|
||||
university</span>
|
||||
data-split-options='{"type": "chars, words"}'>{{ $slider->button_text }}</span>
|
||||
<span class="btn-icon mt-3"><i
|
||||
class="fa-solid fa-arrow-right text-11 bg-white rounded-full text-brand banner-arrow"></i></span></a>
|
||||
</div>
|
||||
@@ -73,7 +72,7 @@
|
||||
<div>
|
||||
|
||||
<h3 class=" text-ter text-22 font-light m-0"><span
|
||||
class="counter" data-target="4">0</span> k</h3>
|
||||
class="counter" data-target="100">0</span> +</h3>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h3
|
||||
@@ -90,12 +89,12 @@
|
||||
class="iconbox flex flex-grow-1 relative flex-col iconbox-default border-right border-white">
|
||||
<div>
|
||||
<h3 class=" text-ter text-22 font-light m-0"><span
|
||||
class="counter" data-target="3">0</span> k</h3>
|
||||
class="counter" data-target="500">0</span> +</h3>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h3
|
||||
class="font-title text-11 font-light leading-20 m-0 text-gray-700 lqd-iconbox-heading text-ter">
|
||||
mentors
|
||||
Courses
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
@@ -107,12 +106,12 @@
|
||||
class="iconbox flex flex-grow-1 relative flex-col iconbox-default border-right border-white">
|
||||
<div>
|
||||
<h3 class=" text-ter text-22 font-light m-0"><span
|
||||
class="counter" data-target="40">0</span> </h3>
|
||||
class="counter" data-target="600">0</span> +</h3>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h3
|
||||
class="font-title text-11 font-light leading-20 m-0 text-gray-700 lqd-iconbox-heading text-ter">
|
||||
countries
|
||||
Accomodation
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
@@ -124,12 +123,12 @@
|
||||
class=" iconbox flex flex-grow-1 relative flex-col iconbox-default ">
|
||||
<div>
|
||||
<h3 class=" text-ter text-22 font-light m-0"><span
|
||||
class="counter" data-target="90">0</span> k</h3>
|
||||
class="counter" data-target="3000">0</span> +</h3>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h3
|
||||
class="font-title text-11 font-light leading-20 m-0 text-gray-700 lqd-iconbox-heading text-ter">
|
||||
success stories
|
||||
Success stories
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<section class="lqd-section how-it-work scroll-section" id="contact" data-name="Contact">
|
||||
<section class="lqd-section how-it-work scroll-section" id="Contact" data-name="Contact">
|
||||
<div class="container w-full block mb-35 section">
|
||||
<div class="w-500 sm:w-full flex flex-col mx-auto text-center p-10">
|
||||
<div class="ld-fancy-heading relative mb-20 animation-element">
|
||||
@@ -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">
|
||||
@@ -45,7 +45,7 @@
|
||||
<!-- next column -->
|
||||
<div class="col col-12 col-md-6" data-custom-animations="true"
|
||||
data-ca-options='{"animationTarget": ".accordion", "ease": "power4.out", "initValues":{"y": "-50px", "opacity":0} , "animations":{"y": "0px", "opacity":1}}'>
|
||||
<h2 class="text-26 text-white text-center">FAQ</h2>
|
||||
<h2 class="text-42 text-white text-center pt-25">FAQ</h2>
|
||||
<div class="accordion accordion-title-underlined accordion-sm xl:ml-0 pl-10"
|
||||
id="accordion-questions" role="tablist" aria-multiselectable="true">
|
||||
@foreach ($faqs as $index => $faq)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user